[发明专利]一种基于应用的区块链分片方法及装置有效
申请号: | 201810737612.7 | 申请日: | 2018-07-06 |
公开(公告)号: | CN108881274B | 公开(公告)日: | 2019-10-01 |
发明(设计)人: | 吴小川;李雪峰;孙亮 | 申请(专利权)人: | 众安信息技术服务有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;G06Q40/04 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 赵然 |
地址: | 518052 广东省深圳市前海深港合作区前*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 应用 子片 交易 主链 通信复杂度 网络扩展性 整体管理 资产交易 携带 链层 通信 搜集 网络 安全 | ||
本发明公开了一种基于应用的区块链分片方法及装置,属于区块链技术领域。所述方法包括:将区块链分为主链层和多个应用子片区层,所述主链层用于负责区块链整体管理、原生资产交易及所述多个应用子片区状态checkpoint的搜集;将每笔交易携带的应用flag以及交易partiton_num与相应应用子片区对应设置;根据每笔交易携带的应用flag以及交易partiton_num确定交易所属应用子片区;通过所述主链层的跨片协议进行所述多个应用子片区之间的通信。本发明能够权衡安全的同时,大大降低通信区块链网络中通信复杂度,提高了共识效率和网络扩展性,具有良好的应用前景,可在涉及区块链的多种领域进行推广。
技术领域
本发明涉及区块链技术领域,特别涉及一种基于应用的区块链分片方法及装置。
背景技术
目前以太坊上应用越来越多,以太坊网络堵塞的情况时有发生,堵塞发生时,一笔交易长达一天不被打包,甚至更长,其他应用也会收到其牵连受到影响。以太坊平均十几笔交易的吞吐量远远不满足现有应用,开发者也都在想解决扩展性问题。吞吐量可以是衡量扩展性的指标之一,扩展性受到了区块链去中心化及安全性的制约,目前,其三者形成一个互相制衡的三角关系。这里简单对中心化,扩展性和安全性进行解释。所谓去中心化,是指每个节点所得到的计算资源都是一样的,资源资源在区块链中包括计算能力、带宽、存储等我们用O(C)表示:扩展性:在区块链生态中,网络可处理O(n)>O(c)的交易,n代表区块链的网络大小:安全性:安全指多方面,区块链中也包括很多,如防御各种攻击但目的都是保持最终一致性。
现在的大部分区块链系统都保持了去中心化与安全性,这三者关系上文提到相互制衡。如果想保证真正去中心化,那么如现在的比特币,以太坊,每一笔交易都要经过每一个节点验证共识,这样势必会导致扩展性下降;而如果减少网络节点,减小网络大小,那么安全性上得不到很好保证,尤其采用POW共识方法,它直接和网络大小相关。提高扩展性有一种方式是大家在比特币社区一直争议的,增加区块大小,交易大小,如比特现金所作,暂且不谈对比特币生态里几方利益如何,这样会导致慢慢的中心化,因为随着数据的大量增加,基本上个人运行整个节点的成本会相当高,就会放弃运行全节点,网络会被控制在几个大的中心手里。
于是相关人士想到另一种方法分片(sharding),分片在数据库及网络传输中都有用到,核心思想就是把大型数据库或者大的报文分成更小,更快,更容易管理的部分。很容使人联想到把此技术应用到区块链中,确实是这样,比如说每个片区的处理交易的能力是100,如果有网络中有100个片区,那么整个网络的处理能力就是100*100。但当交易所涉及两个片区时就变得比较复杂,存在片区之间状态一致性,安全等问题,以太坊提出了它自己的方案去解决。
区块链上最基本的元素是地址,地址上具有不同state,以太坊上地址的state包含有balance,nonces,code,storage,而比特币上只有balance,虽说地址上面包含的内容不一样,但是地址都是区块链所通有的基本元素。根据地址来分片是现在所常见的一种方式,根据地址的前几字节或前几位,如要把整个网络分成16个片区,那么地址前四位位决定了这些地址所在片区如0x0—0xf,如果是要分成256个片区,那么需要地址的前8位,0x00—0xff。
分片后,各个片区内可有各自独立共识算法,如pow,pos,这样就需要去考虑共识算法的安全性,使用pow就要考虑片区算力,pos同样也要考虑stake数量,或者BFT要考虑验证集合的大小。片区内节点只保存和片区相关的信息,大大减少片区内节点所需要保存数据和通信网络开销,每个片区相对整个区块链在效率上就有成倍增加,同时片区与片区可以同步进行,所以分片后的区块链吞吐量理论可达上万笔。但涉及跨片区通信,就相对复杂,就要用到跨片区协议来完成。跨片区协议简单描述如下几个过程:
如要从片区1的A账户转10个eth给片区2的B账户,那么需要做的步骤如下:
1.片区1从A账户销毁10个eth,生成receipt。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于众安信息技术服务有限公司,未经众安信息技术服务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810737612.7/2.html,转载请声明来源钻瓜专利网。