本篇文章1700字,读完约4分钟
上海虹桥三湘广场办公室租赁近来,比特币持续暴涨和波动幅度牵动着各大货币朋友们的心,币圈的投资热情也随之被调动,人们对下一轮牛市是否会早日到来抱有殷切的期待,越来越多的人开始加入区块链领域。
远观距离中本聪提出比特币、v神提出以太坊正好过去了10年。 区块链技术从小规模的密码货币实验迅速发展到每天有数百万、数千万账户参与的大规模分布式APP应用。 区块链的一个重要方向是利用数字货币,从以前开始就与银行和金融市场对接。 可喜的是,更多的人参与领域必然会引入更多的资金,促进区块链的快速发展,相应地,基于现有区块链2.0以太网的性能要求也在不断提高。
目前,以太坊的性能提升面临许多瓶颈,区块链技术改革创新的诉求应运而生。 相信在下一轮牛市之前,区块链会有很大的改善和提高。 khipu探索了以太坊面临的问题,表明了改革创新的必要性和前瞻性。
以太坊的瓶颈在哪里?
之所以把以太坊作为典型的例子,是因为在通向分布式计算终极形态的道路上实现了不折不扣的区块链。 那么,以太坊在单节点上执行阻塞的极限在哪里? 瓶颈在哪里?
以太坊对公司的APP来说,现在的第一个瓶颈是tps。 tps的提高,一个方案是瓷砖。 例如,以现在的解决能力( tps理论值25左右),100条瓷砖链有可能达到2,500t PS。 成本上,本来例如5万个节点可以支撑一条链,但现在一条链只有1/100,即500个节点,TPS上升,但安全性和可靠性下降。 因此,最重要的是提高单链的tps,也就是单节点的tps。 例如,如果提高到1,000 TPS,则10个瓷砖链可能会达到10,000 TPS。 此时,保证每个链有5,000个节点的背书。 tps导致了cpu的提高,现在只能单线程串行执行事务处理,必须实现并行执行事务处理的能力,才能实现cpu突破。
块内合同并行执行的困难在于,事先不知道合同之间的依赖关系。 以太网协议中可能同时存在竞争状态的是对同一地址的帐户、存储、evn代码的访问。 在制定合同时确定并指定可能发生冲突的地址范围后,从三种可能发生冲突的情况来看,确定并保证没有错误、没有遗漏显然是不现实的。 竞争状态是否出现、在哪里出现、在什么样的条件分支下出现,只有在明确得到相关的当前状态之后才能进行评价。 这个评价在现在的合同编程语言中,通过静态分解代码几乎不可能得到完全正确且无遗漏的结果。
但是,这并不意味着块内合同不能并行执行。 有趣的是,这个问题以萨利姆已经提出很多年了,但没有人真正尝试过。 其实,现在这个问题不是理论和设计,而是工程问题,在工程实施过程中可以探索设计中存在的问题,然后提出更好的设计。
khipu突破2.0瓶颈,应对实际困难
khipu领导了这方面进行了比较全面的尝试,完成了工程的实现。
khipu的实现方案是,各交易从前期区块的世界状态分别并行执行,记录执行中理想经验路径遇到的以上三种竞争状态。 并行阶段结束后,进入合并阶段。 从合并阶段开始逐一合并并行世界的状态,每次合并一笔交易,根据记录的竞争状态条件来评价是否与先前合并的竞争状态条件冲突,否则直接合并; 如果有,以之前合并的世界状态为起点再次执行这笔交易。 最后整合的世界状态用块的散列进行最后的检查。 这是最后一道防线,如果检查错误,则放弃前面的并行方案,再次串行执行块内的交易。
khipu在这里引入了并行度的指标。 也就是说,可以直接合并结果而无需在一个块内重新执行的交易的百分比。 根据khipu的实际测试结果,该并行比率平均可以达到80%。
一般来说,如果计算任务能够完全并行化,则单链的可扩展性将是无限的。 可以在每个节点上增加cpu核心的数量。 否则,最大的理论速度将受限于安德鲁定理( am Dahl’slaw )。 系统高速化的极限由不能并行化的部分的倒数决定。 如果能够实现99%的并联化,就可以实现100倍的高速化。但是,如果只能实现95%的并联化,就只能实现20倍的高速化。 在以太网的例子中,如果有80%的并行化,20%不能并行化,则因为是20%的倒数5,所以khipu能够高速化的极限是5倍。
标题:“Khipu(奇普):目前世界上最快的以太坊实现”
地址:http://www.whahsh.net/wmszxw/21727.html