【技术实现步骤摘要】
基于区块链智能合约的主链存证方法、系统及存储介质
本专利技术涉及区块链
,尤其是一种基于区块链智能合约的主链存证方法、系统及存储介质。
技术介绍
区块链是比特币的基础支撑技术,首次出现在中本聪所撰写的文章《Bitcoin:apeer-to-peerelectroniccashsystem》(比特币:一种点对点的电子现金系统)中,文中详细描述了如何建立一套去中心化的、不需要信任基础的点对点交易体系的实现方法,但实际上并没有明确提出区块链的定义和概念。根据Wikipedia(维基百科)上的定义,其将区块链类比为一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的、不可篡改的数据记录。区块链这个分布式数据库的特点是去中心化、开放、自治、不可篡改。因此区块链技术与去中心化应用息息相关,非常适合为去中心化应用提供存储功能。虽然区块链可以用来存储数据,但它解决的核心问题是多方的互信问题。单纯从存储数据角度来看,区块链的效率可能不高,而且很多实际的应用场景中也不推荐把大量的原始数据存储到区块链系统上。一般来说,公有链缺乏处理大量交易的能力,会出现网络拥堵,很难达到商业应用的要求。而联盟链或私有链则在一定程度上降低了去中心化的特性,导致公信力会大大降低,但交易的吞吐量却可以得到极大的提升,成为大部分商业应用的首选方案。在商业应用中,向公有链中直接存储大量的低价值的数据记录显然不是最优的做法。相反,联盟链或私有链可以有效地解决吞吐量问题,但是其公信力却会降低。而出于分层思想,可以考虑设计多条区块链进行数据存储的协同工作,避免增加单一区块链的性能负担、数据 ...
【技术保护点】
1.一种基于区块链智能合约的主链存证方法,其特征在于,包括以下步骤:侧链存证者生成区块链主链上的存证服务帐户及私钥,并向存证服务帐户转入资金;使用主链存证服务帐户在主链上部署Relay存证合约;在侧链存证者所拥有的侧链存证者节点上部署用于在主链和侧链之间传输数据的主链存证模块,主链存证模块周期性地获取侧链的新产生的区块头信息并存储到主链上Relay存证合约的数据结构中;在侧链用户的本地节点部署主链存证验证服务模块;主链存证验证服务模块获取需要验证的交易哈希值,并从侧链全节点获取该交易的证明参数,然后调用主链上Relay存证合约中的验证方法判断该交易是否已经在主链上进行存证。
【技术特征摘要】
1.一种基于区块链智能合约的主链存证方法,其特征在于,包括以下步骤:侧链存证者生成区块链主链上的存证服务帐户及私钥,并向存证服务帐户转入资金;使用主链存证服务帐户在主链上部署Relay存证合约;在侧链存证者所拥有的侧链存证者节点上部署用于在主链和侧链之间传输数据的主链存证模块,主链存证模块周期性地获取侧链的新产生的区块头信息并存储到主链上Relay存证合约的数据结构中;在侧链用户的本地节点部署主链存证验证服务模块;主链存证验证服务模块获取需要验证的交易哈希值,并从侧链全节点获取该交易的证明参数,然后调用主链上Relay存证合约中的验证方法判断该交易是否已经在主链上进行存证。2.根据权利要求1所述的一种基于区块链智能合约的主链存证方法,其特征在于,还包括有以下步骤:在需要注销侧链时,停止运行在侧链存证者节点上部署的用于在主链与侧链之间传输数据的主链存证模块。3.根据权利要求1所述的一种基于区块链智能合约的主链存证方法,其特征在于:所述使用主链存证服务帐户在主链上部署Relay存证合约这一步骤中,所述主链上部署的Relay存证合约用于存储侧链产生的区块头信息。4.根据权利要求1所述的一种基于区块链智能合约的主链存证方法,其特征在于:所述在侧链存证者所拥有的侧链存证者节点上部署用于在主链和侧链之间传输数据的主链存证模块,主链存证模块周期性地获取侧链的新产生的区块头信息并存储到主链上Relay存证合约的数据结构中这一步骤,具体包括有以下子步骤:在侧链存证者节点上部署用于在主链和侧链之间传输数据的主链存证模块,主链存证模块周期性地获取侧链的新产生的区块头信息;通过主链的存证服务帐户调用Relay存证合约,将侧链区块头信息的rlp编码作为参数传输至主链上的Relay存证合约;Relay存证合约根据侧链区块头信息的rlp编码计算出父区块哈希值,判断父区块哈希值是否已存在于Relay存证合约的区块头哈希集合中,若存在,则计算该侧链区块头的哈希值和交易哈希根,并将侧链区块头的哈希值存储到Relay存证合约的区块头的哈希集合数据结构里,并存储该侧链区块头信息的rlp编码。5.根据权利要求4所述的一种基于区块链智能合约的主链存证方法,其特征在于:所述主链存证验证服务模块获取需要验证的交易哈希值,从侧链全节点获取该交易的证明参数,然后调用主链上Relay存证合约中的验证方法判断该交易是否已经在主链上进行存证这一步骤,具体包括有以下子步骤:所述主链存证验证服务模块获取需要验证的交易哈希值;主链存证验证服务模块根据该交易哈希值向侧链全节点获取该交易所在区块的数据结构;根据该交易所在区块的数据结构中的交易信息重构交易字典树;根据该交易哈希值的交易索引的rlp编码,从上述交易字典树中获取该交易的证明参数,所述该交易的证明参数包括有该交易的所有父母节点、该交易的路径和该交易的交易内容的rlp编码;调用Relay存证合约的验证函数,根据MPT树的规则对将父母节点中的每...
【专利技术属性】
技术研发人员:赵淦森,王欣明,周子衡,刘学枫,王锡亮,莫泽枫,
申请(专利权)人:华南师范大学,唯链基金会,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。