区块链的mt, 指的就是用多线程序列化技术来替代传统的单线程出块流程。这种做法的核心目标, 是要把那些原本需要排队等待的交易验证工作, 变成同时并行进行处理。
这样一来, 能够直接提升整个区块链系统在单位时间内处理交易数量的上限上限值。这也就是为什么它近年来成为各类公链在性能方面展开激烈竞争的主要战场区域。
区块链mt怎么实现
在工程实践中大家最常使用的一种处理方式, 就是按照账户的维度去给交易进行分桶这样一个操作。至于在同一账户内部的话那是会严格要求保持顺序不变的, 而涉及到跨账户的场景的时候那就是采用并行处理的方式来进行了。
依赖检测这个步骤其实是十分消耗资源的, 所以通常会去采用两阶段这样一个策略来实现。具体而言第一阶段是先粗筛出来那些可能会有冲突的交易对, 然后第二阶段再去做精排这样就能最终确定执行顺序了。
等真正把项目落地实施的时候, 你就会发现,真正的瓶颈所在之处, 是锁竞争的问题以及内存带宽的限制, 而根本不是CPU核心的数量有多高这件事。
当把核心数量增加到32之后, 性能的收益就会出现急剧下降和衰减的情况, 这个坑在很多的软件开发团队那里都得有过踩过的经历, 所以千万不要盲目地把核心的数量往多了堆这一件事。
区块链mt有什么用
最让人觉得直观的数字那其实就是吞吐量。

单线程出块的速度通常是在每秒20笔交易到40笔交易的这个区间里, 如果把MT架构拿过来用的话, 那个数字能一下子就提到几千, 甚至可能达到上万, 具体的数值是到底怎么样的, 这就要看你那些交易之间的依赖关系有多密集了, 还有你把数据分桶的这个粒度是怎么去设计的具体细节了。
可是, 人们不应该去指望mt这个单一的因素能够把所有的问题都彻底解决掉。在共识层里面所存在的那个通信延迟问题, 还有跨节点状态同步这种环节, mt它是无法进行管理的, 因为mt它的本质内容只是对执行层做出了优化处理的操作, 所以需要和其他的那些各种方案一起配合使用才行。
MT这个玩意儿并不是那种什么都能搞定的万能钥匙, 但是它确实在当前公有链解决放大和缩小规模这个问题的发展路线里面, 是那个花钱最少、效果最好的一步。那些专门做底层系统研发工作的人, 真的应该花时间去把这个东西研究得明明白白。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://www.zmdyd.cn/imazbqb/10721.html
