链上扩容问题,本体分片技术如何解决?
原创 | 本体社区成员@区块宝宝
原文 | https://m.lcyoufu.com/#/articleDetail?articleid=174807&inviter=dE4Y&VNK=3f346ed7
---------------------------
前以太坊网络的每秒TPS是30-40,其吞吐量和处理能力远不能满足需求,因此不得不面对的一个问题是区块链的可扩展性。
在链上扩容方向,分片(Sharding)是主流解决方案之一,去年底,本体网络发布了分片技术设计,并向广大技术社区开源。
区块链分片概念
区块链分片的基本思路是,将区块链网络中的节点,分成若干个相对独立的分片,单个分片处理规模较小的事务,甚至只存储部分网络状态。
多个分片并行处理事务,理论上整个网络的吞吐量将会提升。
举个栗子,摩拜单车在不同城市运营,不同分公司产生的海量数据,适宜分散到当地部署的服务器来存储,以保证整体数据的安全性。
分片层级
区块链分片的层级由下到上分别为:网络分片(Network Sharding)、交易分片(Transaction Sharding)和计算分片(Computational Sharding)以及状态分片(State Sharding)。
本体分片网络的解决方案是,采用层次式网络架构,支持以上三个主要维度,来实现超大规模网络扩展。
1. 网络分片:每个分片的网络相互独立管理,每个节点通过质押参与不同的分片网络中。
2. 交易分片:以智能合约为基本单元,每个智能合约只运行在某个分片网络中,调用智能合约的交易,需要发送到对应的分片网络中处理。
3. 状态分片:以智能合约的方式实现,智能合约的状态数据,也只在对应的分片网络中保存。
通过3层维度的网络架构,最终达到线性扩展、跨链原子性、ONG激励模型的设计目的。
分片技术的安全性
分片技术在满足扩容的同时,如何保证安全性,是个很重要的课题。
如果验证者可以预测或者选择他们要参加的分片,那么最不诚信的验证者就可以和其他人串通,并且开始恶意攻击。
目前分片设计主要通过随机性分配验证节点,降低作恶者控制单个分片的概率。
针对恶意分叉问题,可以通过将部分分片链上的区块连接到信标链(信标链负责协调系统的参与者),并将分叉选择规则设定为首选交叉连接到信标链的链。
本体网络设计中,将分片之间通过可靠消息队列的方式相互通讯,所有消息都在分片中完成共识,实现安全性和可验证性。
本体分片支持分片内智能合约的事务性,和跨分片智能合约的事务性。
本体分片技术进展
本体生态共建伙伴Erick Pinos,在今年共识大会上表示,Ontology在分片实施方面的进度已完成55%。
本体分片设计中实现了智能合约在分片间的迁移,这对于分片网络的按需扩展同样非常重要。
当吞吐量和处理能力得到改善,将给区块链网络带来更多的应用开发者和用户,进而吸引更多节点加入进来,形成一个正向循环,期待本体分片技术早日到来。