如果有人很直接地问你:怎样才能拓展状态机复制(
区块链)系统呢?
你应该反问:你系统遇到的瓶颈是什么?数据?共识?还是执行?
1、数据:数据是将所有指令传输给所有状态机副本的载体。举个例子,如果一个区块包含 1MB 的指令,那么你就需要把 1MB 的数据发送给所有负责验证的副本。显然,这种情况下,系统的通道容量(带宽)是系统可拓展的瓶颈。
2、共识:指令到达本地之后,状态机们就会参与共识协议(就像这里所讨论的部分同步或者同步协议)。举个例子,如果一个共识协议需要两次消息往返,而参与验证的状态机分布在全球各地,那么,这里明显的瓶颈在——由光速和地球大小而导致的延迟。
3、执行:指令到达、共识在指令排序上达成共识后,副本需要执行指令。执行引擎是一个接受旧状态并应用指令来计算新状态(并计算输出)的函数。又举个例子,如果执行需要许多密码学计算,那么很明显啦,这里的瓶颈就是副本要重复执行的密码学计算。
需要注意的是,这三个瓶颈不是追求一种折衷,也不是两难的困境,也不是三难困境。它们是彼此独立的。所有状态机复制系统的可拓展能力都受到这三种因素的限制(而且像木桶原理一样,受制于其中条件最差的那一个)。本文将介绍一些解决这些瓶颈的方案。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。