【摘要】:因为区块链的交易处理速度不能超过其中任何一个节点的处理速度,所以像比特币和以太坊的交易处理速度会很慢,每秒交易不会超过20笔。以太坊目前的分片思路是把状态和历史数据分成K份,每份是一片。以太坊分片的设计者提出了一个简单的分片方案。在区块链上,有一些特殊节点叫核证人在分片K上接收消息,同时建立核证记录。在分片机制下,主链仍然存在,但主链的职能只是保存所有分片的核证表头。
当前所有的区块链协议中,每个全节点都保存所有的状态,包括账户余额、智能合约代码以及智能合约的“世界状态”存储。这提供了很高的安全性,但是扩展性大大受限。因为区块链的交易处理速度不能超过其中任何一个节点的处理速度,所以像比特币和以太坊的交易处理速度会很慢,每秒交易不会超过20笔。那有什么解决办法呢?根据区块链不可能三角,只能通过牺牲一部分安全性或去中心化程度来提高扩展性。以太坊的分片正是采用这一思路。
以太坊目前的分片思路是把状态和历史数据分成K份,每份是一片(Shard)。例如,一种分片方法可以简单地用地址段来分片,0x00开始的地址为一片,0x01开始的地址为另一片,如此类推。一种简单的分片机制是每一片有自己的交易历史,交易的效果也只是局限在那一片。这种机制适合于支持多资产的区块链,每种资产放在一个片中。更复杂的分片机制则支持片与片之间通信。在这种机制下,一个片上的交易会触发另一个片上的事件。
以太坊分片的设计者提出了一个简单的分片方案。在区块链上,有一些特殊节点叫核证人(Collator)在分片K上接收消息,同时建立核证记录(Collation)。每个核证记录都有核证头(Header),核证头里包括前核证头哈希值以及接收消息的默克尔树根。每个片中的核证记录连接成一个像传统区块链的链。在分片机制下,主链仍然存在,但主链的职能只是保存所有分片的核证表头。每个分片中最长的核证记录链是被默认的共识链。(www.xing528.com)
分片目前还只是一个设想,具体会遇到很多挑战,其中最大的挑战就是片与片的通信。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。