主页 > 以太坊钱包imtoken官网 > ChuChain,公链的终极定义者——附《ChuChain技术黄皮书》解读

ChuChain,公链的终极定义者——附《ChuChain技术黄皮书》解读

以太坊钱包imtoken官网 2023-01-29 07:12:52

Chuchain,公链的重新定义者

——附《楚链技术黄皮书》解读

文/区块链研究员黄静蕾

1.什么是初始链

初始链可以从四个角度来定义——商业公链的开发者、混合共识机制的开创者、去中心化的守护者、公链的重新定义者。

承载商业应用的公链是区块链技术未来的应用场景。 打造一条高性能、安全可靠的商业公链,具有巨大的发展空间和商业潜力。

混合共识机制取代单一共识机制成为下一代公链的底层架构已成为行业共识。 在多方探索下,初联率先研发了基于PBFT+POW混合共识机制的四级公链系统,抢占了行业先机。

去中心化是区块链系统的灵魂,是创造自由、平等、互信社会的核心。 在无数公链的发展中放弃去中心化而只追求效率,实际上是对区块链世界信念的背叛。 初链在保持去中心化本质的基础上,不断提升效率,是明智而公正的。

区块链3.0时代悄然来临。 从1.0的“数字货币”到2.0的智能合约,区块链行业正逐步走向3.0时代——超越货币、经济和市场。 致力于区块链行业的人们希望通过技术广泛而深刻地改变人们的生活方式,将区块链技术应用到物联网、医疗、供应链管理等行业,将区块链的价值延伸到货币、经济、政治、市场之外的人文、社会和科学领域将重构整个社会,重铸信用价值。

初链吸取了以往项目的经验教训,站在巨人的肩膀上,看到了区块链3.0时代后行业的无限机遇和方向。 3.0时代,初链团队攻坚克难,突破技术难点,推出部署工具待测。 随着团队的不断壮大,初联有越来越多的信心和力量证明自己——在充满无限商机、创造理想自由互信社会的区块链4.0时代,我就是定义时代的人。

二、技术黄皮书解读

业界已经基本形成了一个认知,即依靠单一的共识机制很难兼顾效率和去中心化。 为了弥补前两代公链比特币和以太坊每秒交易处理量(TPS)过低的缺点,无法应用于实际商业应用的开发,初链选择结合高PBFT 的效率与 POW 混合共识机制的去中心化。 在保证去中心化本质的基础上同步以太坊的公链,实现高性能、高可靠公链的发展,以承载大规模商业Dapp运行的目标。

分布式协议的解决方案大致分为两种。 一种是以比特币为代表的POW方案,已被证明在交易处理速度上难以提升; 另一种是以众多私有链和联盟链为代表的PBFT解决方案,可以高效处理大量交易。 但是PBFT方案需要很多参与记账的节点相互信任,所以在协议生效之前就相互认识。 但毋庸置疑的是,在公链发展过程中应用相互认识的超级节点来记录全链交易存在巨大的道德风险。 如何在公链中建立高效的互信共识机制已成为世界性难题。

初联的解法很巧妙。 保持PBFT记录簿机制不变,将超级节点的选择开放到公链,以POW协议为准系统支持超级节点的动态选择和约定,将超级节点社区的建立从私有链和联盟链的性质到公链的性质。

1. 节点选择

从私有链、联盟链到公有链是质的变化。 现在BFT社区节点在固定的时间周期内选出并更换一次,更换为新挖出的P个节点(P为社区节点数)。

但这是违反直觉的。 如果之前的节点社区表现不错,为什么要强制更换呢? 而如果这些节点仅仅因为性能优秀而不被替换,新的节点就很难加入社区。 因此需要做一个权衡,即每隔一段时间(K天)更换一次节点,更换频率较低。

这里,初始链借鉴了 Thunderella 的思想,即慢链(POW 链)可以用来证明 BFT 超级节点潜在的欺诈或错误。 一旦发生这种情况,就可以在第二天强制更换节点,而不必等到固定的时间点。

更为关键的是选举机制的设置。 一般的混合机制是从最近挖矿的矿工节点中选择,但初始链采用权益证明和随机选择相结合的方式。 具体来说,全节点可以暂时冻结自己的代币资产,一定比例的超级节点将分配给全节点中一些权益证明较高的节点; 其他节点按照VRF随机过程选出,随机过程的种子由上次选举的种子和节点社区容量决定。 与 Algorand 不同的是,初始链现阶段不会计算股权比例。

可以假设随机过程选择的节点是完全未知的,因此是不可信的。 对于这种潜在情况,初始链的策略是预估不可靠节点的比例,使不可靠节点的比例不会影响正常的决策。 确实,拥有巨大计算资源的一方可能会操纵 VRF 随机过程,但这不在本次讨论的范围之内。

2.时间戳和自然时限

初联技术团队清楚地知道,一致性(最终一致性)、活跃度和安全性是永远不能分开的。 为了实现这个目标,初链团队在自然时限上做了很大的改进。

传统的共识机制默认为矿工、节点社区成员和领导者设定一定的时间窗口,导致恶意节点有可能调换合约顺序,将自己的合约插入到对时间顺序要求严格的智能合约中。 方法。 当吞吐量很高时,这种不正当的激励将进一步放大。

更糟糕的是,由于自然网络延迟可能导致序列交换,这种恶意交换很难被检测到,除非交换被接收者自己发现并有最终延迟的证据。

为了支持这种去中心化的商业交易,初始链引入了粘性时间戳作为附加约束。 此时间戳是随时间变化的启发式参数。 当交易等待验证时,用户将自己的物理时间戳作为交易元数据和交易包上传。 然后 BFT 链的验证者将根据以下算法检查交易是否被有效记录或故意忽略。 如果有漏记、误记、滞后的记录,报告问题,说明前一个节点的记录有问题。

(1) 验证验证者当前时间与物理时间戳的差值是否小于粘性时间戳。 如果大于,则说明该笔交易上传到验证节点的时间与实际发出的时间相差太大,可以判定是前一个节点疏忽、延迟或故意偏向。

(2) 检查交易是否已经记录。 如果已经记录,则继续查看当前链上最后一笔交易的时间戳是否早于新上传的交易。 如果链上最后一笔交易的时间戳晚于新上传的交易同步以太坊的公链,则可以确定前一个节点的记录存在错误、延迟或篡改的可能性。

(3) 如果没有被记录或者时间戳的顺序没有颠倒,就把这条新记录加入到账本中。

通过以上方式,可以有效保障BFT恶意节点的双重支付、不处理交易等行为。

BFT 在这个阶段记录账本时,leader 可以根据物理时间戳选择一批交易进行解包。 但是,这一步不是必需的,因为我们可以在稍后的评估和验证过程中强制执行顺序保证。

此更改具有以下好处:

(1)交易顺序完全按照物理时间戳排列,避免了同节点恶意调换交易顺序的情况;

(2) 一批交易的顺序由BFT社区根据时间戳进行排列;

(3) 由于时间窗口的限制,节点无法伪造虚假的物理时间戳。

但是,这种修改也有明显的缺点。 一旦根据网络延迟选择的粘性时间戳不合适,将直接中断所有交易处理。 此外,BFT 社区节点仍然可以通过虚假报告时间和拒绝特定交易来造假。 虽然BFT社区节点无论如何都可以拒绝交易,但是如果一个节点是诚实的,有时会因为时间不同步而拒绝一些交易,所以无法区分。 但是这个问题可以通过在选择BFT社区节点时增加节点必须有同步时钟的限制来解决。

3. 计算和数据区,推断交易执行

初始链团队对初级混合共识进行了重大改进,增加了对计算和数据切片的支持。 它首先设计了一个基于切片的推测执行处理系统。 每日BFT节点索引来源于某个每日BFT节点序列,允许同时选择多个序列。

除了子分片之外,还有一个主分片,其中包含与社区节点数量一样多的节点。 它负责对子分片的输出进行排序,并充当分布式事务处理系统的协调器。 子芯片将日志上传到主芯片,主芯片与混合共识通信,而不是直接与其通信。

社区选举的过程会强制规定任何区域都不能共享同一个节点。 分片的选举类似于上述混合共识选举过程。

数据均匀分布在各个子切片中,保证每次调用相应切片都会返回一致的值。 每个数据单元都包含元数据。 数据将被拆分成数据单元,然后每个数据单元将被分配一个地址。 地址映射到数据位置。 可以假设这个分区规则是公开的,可以通过执行host函数得到一个地址所在的区域。

如果将每个普通节点看成一个分布式处理单元,则可以在分布式事务处理系统中加入逻辑时间戳的设计,对事务处理进行授权。 这里会使用简化版的 MaaT,其他交易的时间戳不会自动调整。

对于主切片,它负责收集所有公共节点的输出。 值得注意的是,交易的数据依赖关系可以很容易地从元数据中推断出来。 如果事务访问多个远程分片,它将在所有涉及的分片中留下痕迹。 子分片向主分片提交日志时,也会在慢链上留下一条记录。

当一个基础节点从一个分片接收到一批交易时,它会检查它是否已经从所有分片接收到该批交易。 如果在一定时间内没有收到固定批次的交易,则说明该批次失败。 在这种情况下,需要在第二天开始时更换整个社区。 主分片在收到所有分片的日志后,会根据时间戳对事务进行排序。 (批号最早的交易被认为是一笔交易,但如果物理时间戳与许多其他分片的时间戳相冲突,则该批次被认为是无效的,该批次中包含的所有交易都将被丢弃)。 整理后,Master 筛选所有交易并根据物理时间戳选择最长的非递减数序列。 当日日志是混合共识机制公布后形成的。

当然,这个设计还有很大的改进空间。 一个更重要的确认是这个机制的确认时间不是即时的。

4. 虚拟机和智能合约

本节主要解决两个问题:

(1)为什么要用虚拟机而不是容器?

区块链架构来自Hyperledger,但Hyperledger是为私有链和联盟链开发的。 如果要把它的架构应用到公链上,就需要解决链码问题。 虽然链码可以部署在容器中,但对于公链来说显然是不可扩展的。 一条同时运行上千个智能合约的公链意味着需要上千个容器,但上千个容器显然不现实,所以唯一的选择就是限制同时运行的智能合约数量。

社会上对容器的数量有很多尝试,但即使采用常用的存储技术,容器容量也只能达到1000个,远远不能满足要求。 而且人们宁愿横向扩展容器的尺寸,也不愿纵向扩展容器的容量,因为后者大大增加了设计的复杂度。 集群规模结构也没有放之四海而皆准的规则,因为它完全取决于负载,在去中心化时更是如此。 对于目前部署了1000多个智能合约的以太坊来说,这不过是优化容器生态设计的一种表面尝试。

还有一些可能的解决方案,比如将容器应用到 Serverless 架构中。 但是想象一个场景,有超过2000个智能合约在线并发请求,比如发送超过容器数量的chaincode调用,我们还是会面临同样的困境。 办法是对并发请求加个限流,但是这样会严重影响TPS。 工程问题不应该是我们目标的和平,所以初始链仍然采用以太坊虚拟机的设计。

(2) FirstChain 虚拟机(TVM)

该领域的一个示例是以太坊虚拟机 (EVM)。 它试图遵循确定性并优化简化的激励计算步骤。 它还支持内存的非堆栈存储、合约授权和调用之间的值存储。

初始链会继续在慢链上应用EVM,在PBFT骨干节点上应用TVM,让每个全节点响应不同的调用请求。 但TVM的思路还不是很成熟,需要确定TVM的过渡状态、智能合约的部署策略以及私有链虚拟机向公链虚拟机的转变。 同时,还需要确定从 POW 节点过渡到 PBFT 节点的参数。

五、奖励机制

BFT社区节点和非社区全节点的工作量奖励是奖励机制的核心问题。

根据网络和 CPU 带宽为所有分片提供相同的奖励可能会产生严重偏差的结果,例如不一致的 TPS 或更糟的是,在子分片对交易进行排序时会超过超时限制。 为了解决这个问题,初始链可能会在服务于网络计算的伯克利公链(BOINC)上采用激励机制。 Gridcoin 和 Golem 是该领域的早期尝试,但未能解决早期用户面临的财富分配不一致的问题。

初始链的混合共识机制采用公平、随机选择、轮换的社区体系,自然避免持币者持续获得大量奖励,从而保证财富的公平分配。

为了弥补算力的不均衡,初始链设置了奖励机制,从BFT和POW池中获取奖励。 在工程设计上,通过标识改变工作分配,使BFT交易、POW、激励池依次获得资源分配的优先权。 这样,如果一个BFT节点因为K天限制被清出网络(最多每K天必须更换一次节点),它仍然可以通过提供补偿机制来享受硬件投资的收益。网络的其余部分。 所有节点都可以完成 POW 和 PBFT 的任务,但 PBFT 获得更高的优先级。

6. 初始链未来的技术研究方向

(1) 在不依赖中心化NTP服务器的情况下,提高所有节点时间戳的同步性;

(二)解决激励机制;

(3)利用分片技术创建副本,减少BFT社区拒绝交易集的次数;

(4) 增加零知识证明的隐私保护;

(5) 构建EVM、TVM和Linux容器生态的混合基础设施;

(6) 构思虚拟机规格、二进制数据加密方式、交易签名、费用计划、Ethash算法替代方案。

3.恒星

Stellar是比特链团队开发的全周期智能合约部署平台。 当前版本已经可以支持私有链和联盟链。 Stellar将为智能合约开发者提供统一的开发工具,让智能合约部署简单高效,所有节点都可以运行智能合约。 初联希望打造的是一个支持公链的智能合约平台,方便部署、管理、查询和监控。 Stellar将是最专注于初链开发的明星项目。

四。 概括

混合共识是大势所趋,但混合共识的学术发展在工程上还没有实现。 从某种程度上说,工程实现比学术研究更重要,因为最终谁能落地谁就是赢家。 Initial Chain是混合共识领域的先行者。 初链团队在研究、工程和生态建设方面优势明显。 整个团队在业务、工程和研究方面非常完整。 更可贵的是,早期链团队非常看中用户体验。 这样的团队会做产品,因为公链之战的最终胜利者,无论底层技术如何,都必须有更好的产品体系。

成员:丁军