QuarkChain 是一个安全的、去中心化的、具有高吞吐能力和可扩展的区块链底层技术方案,它将实现每秒百万级链上交易处理能力(1,000,000+ TPS)为下一代公有链提供了保障。QuarkChain 的技术核心包括:
1.可多次分片的双层链结构
QuarkChain 由两层区块链结构组成,第一层为分片层(可以理解为子链层),用于交易记账;第二层为一条根链,用于确认分片中的交易。在不影响根链的情况下,分片层的分片数量可以动态增加,从而来提高系统的整体吞吐量。
2.市场驱动的协作挖矿提供安全保障
为了确保交易的安全性,QuarkChain 基于博弈论框架设计了一个用于激励矿工工作并合理分配算力的机制,其中至少 50%的全网算力将分配到根链上,以防止可能的双花及恶意挖矿等攻击。
3.抗中心化的横向节点扩展
在任何一个具有高的 TPS 处理能力的区块链网络上,一个保存全网账本的超级节点将是非常昂贵的,这会导致中心化。为了避免这一问题,QuarkChain 支持多个廉价的节点组成集群的方式实现一个超级节点的功能,避免了中心化。
4.高效的跨片交易
QuarkChain 网络支持在任何时间任何地点进行跨分片交易,并快速完成交易确认。随着分片的数量增加,交易速度将线性增加。
5.简单的账户管理方式
在 QuarkChain 系统中,每位用户使用整个区块链网络只需要创建一个账户。用户在不同分片上的加密资产将安全的存储在一个智能钱包中,使用体验就如同在单个链上进行交易。
QuarkChain 引入了全新的开创性区块链架构设计,旨在用区块链技术满足全球范围商业活动的需要。我们的核心成员从开发十亿 TPS 的集中式大型系统的经验中受到启发,从而设法将这些技术和思路应用于区块链,以创建我们针对区块链可扩展性问题的独特解决方案。
该解决方案旨在大幅扩大区块链的可用范围而不损害其安全性和去中心化的特点。我们的设计将推动区块链进入下一代,将当前的 TPS 提高数千倍至数万倍,同时保持安全性和去中心化。我们正在建设的网络没有拥堵,因此每个人都能负担得起使用这个网络的费用。我们设想这种网络适用于每个需要更高 TPS 的行业,并鼓励这些行业在不久的将来采用我们的区块链网络作为底层进行开发。最终,QuarkChain 的目标是建立一个无缝平台,以支持分布式社交媒体、高频交易、物联网(IoT)、游戏和金融支付等。
QuarkChain 技术
1.设计原则
QuarkChain 的设计主要基于以下原则:
●在保证安全性和去中心化的同时提高可扩展性
● 为用户体验质量(QoE)实现无缝跨链交易
●为客户提供简单的账户管理
● 开放标准以支持各种 Dapp
●建立一个激励驱动的生态系统
2.系统架构
QuarkChain 的两层区块链的示意图 其中每条分片处理一个事务的子集合,而根链则通过在根链中包含分区的区块头来确认分区。
对于当前的区块链技术,链中每个区块都有两个基本功能:
●记账,包括记录目前的区块状态,进行交易并记录结果。数据密集型是分类账的关键属性——既要维护当前分类账,又要详细描述交易细节,包括来源、目的地、金额、执行代码等。数据可以被包装成一个块,区块大小和尺寸限制是当前区块链发展的瓶颈。
●确认,确认交易结果,通过计算达到预期的难度(POW)获得区块打包权。这样可以确保攻击者通过挖掘另一个分叉来改写交易在经济上是低效的。确认本身是一项计算密集型任务。
基于此,QuarkChain 采用分而治之的思想,将两个主要功能分别在两层实现,从而在提高可扩展性的同时保证安全性。详细设计如下:
●QuarkChain 包含一个有弹性的分片层,其中包含一系列分片。每个分片独立是处理所有事务的子集。因此,随着分片数量的增加,分片层可以同时处理更多的事务。其结果是系统容量随着分片数量的增加而增加。
●QuarkChain 还有一条根链(也叫主链),用于确认来自分片层的所有区块。根链不处理任何交易(因为它不是经济高效的),根链具有足够的算力支持来保证安全。
●QuarkChain 区块网络也被设计为支持能够动态增加分片。添加更多的分片很容易,而且很快,而用户几乎感觉不到这一点(如果在网络堵塞之前添加了分片,用户可能会感觉到交易的速度更快)。
3.协同挖矿
协同挖矿的目标是通过设计激励机制和难度算法使得算力能均匀的分配到网络上。
●算力在分片之间均匀分配。这确保所有分片被均匀开采,因此系统吞吐量(即 TPS)随着分片数量的增加而增加。
●根链在全网算力中占有很大的比例(超过 50%)。这可以防止双花攻击,而恶意矿工需要至少 50%* 50%= 25%以上的算力来执行攻击。
值得注意的是,QuarkChain 网络有多条分片和一条根链。每条区块链提供不同的奖励和困难。矿工们可以选择任何区块链以最优的算力价格获得回报。这创造了一个开放的市场经济模型,区块链是一个卖方,货物是区块奖励(代币),而矿工是一个以算力为货币的买方。我们希望设计一种销售模式,即使市场上的每一方都追求自己的利益,但各方的集体行为都可以造福于所有人。
协同挖矿的例子 其中根链中的块具有足够大的奖励和难度来保护所有分片中的块(以及其中的交易)。
4. QuarkChain 网络的早期验证
由于 QuarkChain 网络非常复杂且高度动态,因此几乎无法提供分析方案。 为了验证我们的设计,我们采用网络模拟来模拟一个包含 18 名矿工和 8 个分片的网络,这使我们能够在早期验证我们的激励机制和难度算法。
显示了协作挖矿的模拟结果的快照 模拟中有 18 名矿工,其中两名矿工的算力是其余 16 名矿工的 100 倍。
QuarkChain 系统有 8 个目标出块时间为 10 秒的分片和一个目标出块时间为 150 秒的根链。通过分析,我们得到了一些有趣的结论:
●所有分片的高度约为 3800,并且彼此非常接近。另外,它们都具有类似的工作量(即预期哈希生成一个块的量),块间隔非常接近 10 秒。这意味着所有分片被均匀开采,使得吞吐量约为单一链情况的 8 倍。
●根链的工作量大约为 1.6M,接近我们预期的 1.8M(占全网算力的一半,因为所有分片每 10 秒工作量为 15K,根区块链出块速度比分片长 15 倍)。
QuarkChain 在区块链中的定位
QuarkChain 揭示了区块链设计的全新路径。在本节中,我们讨论它与其他现有技术的关系及定位。
1.单链和多链 QuarkChain 的关系
QuarkChain 在根链上的 50%的算力分配是可重新配置的(例如,25%或 75%)。通过调节算力,QuarkChain 可以与现有的区块链系统类似。
●如果根链的算力为全网算力 100%,那么 QuarkChain 网络就变成了单一区块链系统,因为在分片上没有矿工,所有的矿工只会挖掘根链,弱矿工可能会加入矿池。此外根链区块可以包括多个小块,从而使得根块基本上是一个不限区块大小,最终组成单链区块链系统。
● 如果根链的算力为 0%,那么 QuarkChain 网络就成为一个多重独立的区块链系统。
QuarkChain 的每个分片都可以视为独立区块链。它当然更具可扩展性,而且由于弱矿工不需要加入采矿池,因此它也更加分散。然而,这是非常不安全,由于算力分散,恶意攻击者可以容易地对 100 条分片中的一个区块链执行双花攻击,只需要全算算力的 1/200。
2 .QuarkChain 的安全性、去中心化和可扩展性
QuarkChain 在根链上至少拥有 50%算力分配增强了网络的安全性。另外,QuarkChain 比单链区块链系统更分散,因此 QuarkChain 也是安全和去中心化的。
●大幅度提高网络的吞吐量
我们采用先进的分片技术(子链层)来提高系统容量,并可以根据需要动态提升系统处理能力,以便每秒处理更多交易。
● 比单链区块链系统更分散随着单链区块链系统的算力增加,弱矿工的预期回报时间显着增加,他们必须加入采矿池以及时得到回报。这极大地鼓励了集权,并且伤害了区块链的核心价值。 QuarkChain 旨在更加分散化,因为较弱的矿工不需要加入采矿池来收集奖励。
●安全
QuarkChain 网络中的所有交易都受到全网 50%算力的保护,而双花攻击需要至少 25%的全网算力。这虽然比单区块链的 50%小,但由于 QuarkChain 更加分散,恶意矿工在QuarkChain 网络中得到 25%的全网算力是很困难的。
QuarkChain 兼顾安全,可扩展和去中心三大重要特征。
QuarkChain 的核心特征
不同于许多通过提高现有系统可扩展性的解决方法,QuarkChain 从一开始就为了高性能来设计的--类似于集中化高性能系统的方案。 QuarkChain 具有以下重要的价值观:可用性(快速,简单),去中心化(公众可参与),安全(可靠)。下面列出了 QuarkChain 的核心特征。
1.抗中心化横向扩展性
为了构建一个不受恶意攻击影响的点对点网络,传统的区块链技术要求每个节点完全验证所有区块并拒绝任何无效的区块。同样,验证所有小块和根链块的 QuarkChain 中的节点称为超级节点。如果 QuarkChain 中的每个节点都作为超级节点运行,则 QuarkChain 可以具有与传统区块链相同的安全级别。
但是,在高吞吐量区块链系统中运行超级节点是非常昂贵。例如,一个 250 字节 1M TPS的事务需要 2 Gbps 的网络带宽,这对许多用户来说成为一个巨大的障碍。另外,流量每天会产生大约 20 TB 的数据或者每年产生 7PB 的数据。超级节点对 CPU,存储,内存和网络带宽提出了高要求,而且这些要求可能只能由商业机构提供(例如,公司在其数据中心使用强大的工作站)。这极大地阻碍了去中心化,损害了区块链的核心价值。
说明 QuarkChain 网络的横向扩展性,其中四个超全节点(左)被四个节点集群(右)取代,其中每个集群中的节点彼此诚实。 (实线表示诚实的连接,虚线表示不可靠的连接)
显示了有 2 个分片的 QuarkChain 集群的高可用性,甚至一个节点崩溃(右),集群仍然可以充分验证网络。例如,假设有 2 分片的系统,A 验证分片 S1 和 S0,B 验证分片 S1 和根链,C验证分片 S0 和根链,其中 A,B,C 都是互相可信的,那么,B,C 可以形成集群,能够充分验证任何交易。
QuarkChain 通过允许集群中的多个诚实节点作为完整节点运行来解决这个问题。群集中的每个节点只验证一个子集。只要它们的子集的联合覆盖根链和分片,我们就可以证明它们能够完全验证整个区块链而不需要建立昂贵的超级节点。另外,如果其中一个节点在群集中崩溃,其余节点仍然能够完全验证任何块,因为它们中的任何两个形成另一个群集,从而实现这样的集群的高可用性。
此外,为了鼓励在网络中形成这样的集群,QuarkChain 将激励节点回答关于随机块的信息(例如,随机选择的分片或根区块链上的随机块的哈希信息作为问题)。这样的问题将鼓励节点存储全网的账本,短时间从网络上按需下载随机块来回答将是低效的。
2.高效、安全的分片交易
在 QuarkChain 系统中,我们将交易分为两类:
●分片内交易,其中交易的输入和输出地址位于同一分片中。
●跨分片交易,其中交易输入和输出地址位于不同的分片中。
分片内交易很简单,因为分片已经包含分片的完整账本信息。由于两个分片之间的同步问题,跨分片交易很困难。 QuarkChain 完全支持跨分片交易,在某种意义上说:
●任何用户都可以随时发出跨分片交易。
●跨分片交易可以很快被确认。
●随着分片数量的增加,跨分片交易的吞吐量可以线性提升。
跨分片交易的图示 只要跨分片交易被根链确认,交易就可以输出。
QuarkChain 的这些关键功能创造了高性能传输网络,任何人都可以以经济高效的方式轻松执行任何交易。
3.简易的账户管理
简易账户管理的示意图 其中一个拥有私钥的帐户可以在任何分片上执行交易。
与用户可能需要在不同分片中创建多个帐户,以便与网络中的所有用户或者智能合约交互的其他解决方案不同,QuarkChain 系统极大地简化了帐户管理,用户只需要一个帐户即可管理所有链上的地址以及能与所有用户无缝的互动。另外,我们将创建一个智能钱包应用程序,该应用程序将自动为用户执行跨分片或分片内交易(包括智能合约),并且用户不需要知道交易在哪个分片中进行。 一些用户可能会选择高级的方法来管理他们的地址,例如:允许支付总是通过链内交易,从而使交易被快速确认。
4.跨链交易
凭借我们的设计架构,跨链交易变得便捷。 由于我们只维护一个根链,所以来自另一个区块链的交易可以通过适配器转换代币来实现,然后像 QuarkChain 一边执行跨分片交易那样执行交易。 另一种方法是将另一个链作为分片容纳进来,使得跨链交易变成跨片交易。
QuarkChain 的操作系统
1.链上和链下交易
QuarkChain 不仅支持高扩展性的链上交易,它还可以同时采纳链下交易。一些应用程序需要链上和链下不同的处理方式。例如,一些交易需要访问外部数据(不在区块链上)。QuarkChain 双层结构使得这种链上和链下处理非常灵活,这将使我们的系统支持更多机遇和应用。
2.智能合约
QuarkChain 将通过以太坊虚拟机(EVM)支持智能合约。 EVM 是智能合约中使用最广泛的执行引擎。大多数基于 EVM 构建的现有 DApp 可以直接部署在 QuarkChain 平台上。此外,利用 QuarkChain 高扩展性的特点,我们将提供额外的可扩展接口,如正在执行的联系人分区,通过不同的链传送智能合约的具体数据。
3.帐户管理
由于用户可以通过私钥管理分片和根链所有地址,因此用户理论上上将拥有与分片数量相同的地址数量。如果分片的数量很大(例如,数千或数万),则用户可能在多个分片中具有多个余额,因此管理所有分片中的所有余额可能是不方便的。我们通过定义以下两种类型的账户进一步简化账户管理:
●主帐户:主帐户是默认分片中用户的地址和余额。
●次帐户:次帐户管理剩余分片中用户的其他地址。
为了简化管理,如果交易需要(例如,访问不同分片中的智能合约),并且如果在交易之后在次账户中存在余额,则用户的大多数交易将从主账户发起,暂时转移到次账户中的地址进行交易,交易结束后余额将被移回主账户。这可以确保用户的余额大部分时间都在主账户中,因此用户不需要管理次账户地址中的余额。此功能由智能钱包执行,由 QuarkChain 团队提供,作为开源项目。
4.智能钱包
QuarkChain 中有两种典型的交易:
●将与地址相关的一些代币转移到另一个可能在同一分片中的地址
●在特定的分片中执行智能合约使用这些交易时,智能钱包将简化帐户管理,以便用户不需要知道底层详细的分片/跨分片操作:
●对于转账交易,智能钱包将自动检测用户的主账户(用户在默认链中的地址),并相应地执行链/跨分片交易
●对于智能合约交易,如果智能合约不存在于用户主账户的同一分支中,则智能钱包将自动将代币转移到智能合约所属的分部中的用户次账户。智能钱包将在分片中执行智能合约交易。如果次帐户中有余额,智能钱包将(可选)自动将余额从次帐户转移到用户的主帐户。
关于更多QuarkChain信息:https://quarkchain.io/