当前位置: 首页 > 专利查询>姚宇专利>正文

一种私有区块链的实现方法技术

技术编号:19320997 阅读:36 留言:0更新日期:2018-11-03 11:11
本发明专利技术公开了一种私有区块链的实现方法。本发明专利技术通过对公开技术的合理组合应用,实现私有区块链,其特征是:去掉区块链中复杂的获取共识的过程,使用密码学知识保证区块链不可伪造不可篡改的特性。本发明专利技术的有益效果是降低区块链技术门槛,方便研究者和使用者能很容易的实现自己的区块链,并在节省资源方面做出较大进步。本发明专利技术结构简单,所有用到的技术都是成熟公开容易获取的。

A realization method of private block chain

The invention discloses a method for realizing a private block chain. The invention realizes the private block chain through the reasonable combination and application of the disclosed technology. Its characteristics are: removing the complicated process of obtaining consensus in the block chain, and using cryptographic knowledge to ensure that the block chain can not be forged and tampered with. The invention has the beneficial effect of lowering the technical threshold of block chain, facilitating researchers and users to easily realize their own block chain, and making great progress in saving resources. The invention is simple in structure, and all the technologies used are mature, open and easy to obtain.

【技术实现步骤摘要】
一种私有区块链的实现方法
本专利技术涉及区块链
,具体来说是一种私有区块链的实现方法。
技术介绍
区块链是由节点参与的分布式数据库系统,它的特点是不可更改,不可伪造。区块链是由一串使用密码学方法产生的数据块组成的,每一个区块都包含了上一个区块的哈希值,从创始区块开始连接到当前区块,形成块链。每一个区块都确保按照时间顺序在上一个区块之后产生,否则前一个区块的哈希值是未知的。在链上的区块中,构成区块的除了交易数据,还有一个区块头,用于解释本区块数据,主要包括:本区块大小,区块内交易笔数,本区块哈希值,上一区块哈希值,生成区块的时间戳,默克尔树根。以及其他一些数据,比如难度系数证明,当然这在不同的区块链实现中可能不是必需的。而交易数据则是根据应用的不同,具有不同表现和形式。本区块哈希值是对区块头中除自己外的其他数据计算产生。从区块链的定义中,有几个关键词:分布式数据库、不可篡改、不可伪造,下文将针对这个几个关键词,设计一种区块链的实现方法,本方法体现的是这几个关键词对应的特性,并不考虑其他衍生特性。在区块链上产生区块的动作可以称作记账,记账权的争取是靠节点之间通过竞争的方式获得,比如比特币区块链中的工作量证明。其他区块链中使用的类似方法包括权益证明、投票等可以统称为获取共识。为了获得共识,从技术实现难度上对较多企业具有较高门槛,而在现实资源消耗上具有明显负面影响。
技术实现思路
本专利技术针对常见区块链的缺点,提出一种私有区块链的实现方法,其中去掉获取共识这个动作,通过固定或者临时指定记账节点来维持区块链的运作,并且使用密码学算法来确保私有区块链能实现其目标功能。去掉获取共识这个动作,是基于如下论断:在一个交易活动中,共识是交易参与方必需达成的形态,非参与方是非必需的,并且是无需非参与方即可达成的。当将多节点之间的共识转化为交易发生方之间的共识后,实现区块链的技术难点则转化为用户和区块链之间如何信任的问题。为了解决这个问题,本专利技术采用如下的技术方案:为了方便描述,假设区块链为一个系统,称呼为区块链系统,这个系统包含区块链和外围支撑装置,其中主要的支撑装置包括:区块生成装置,密钥管理装置。区块链系统使用密钥管理装置生成自身的非对称密钥对,私密保存其中的私钥,公钥则提供下载方法共用户下载。用户通过密钥管理装置申请非对称密钥对,用户私密保存其中的私钥,并将公钥发送给区块链系统保存。用户上传个人公钥后,同时从区块链系统下载区块链系统公钥。用户使用区块链的时候,首先组织本地数据,然后对数据计算哈希值,并使用私钥对哈希值签名,最后将本地数据和签名提交到区块链系统。在用户处理过程中,为了数据的保密性,可以对原始数据不限定方式加密;为了传输过程不被窃听,可以对传输过程中的数据用区块链系统公钥非对称加密。区块链系统收到用户发送的数据后,使用保存的用户公钥验证数据和签名是否匹配,合法则将数据记录到本地数据库。然后对收到用户数据这个动作向用户做出响应,响应内容包含区块链系统对收到数据这个动作的签名。区块链系统的签名使用区块链系统私钥。签名包括的范围至少包含:响应动作本身,用户提交数据的签名数据。根据应用需要响应的其他要素为非必需要素,并不影响区块链的运作机制。用户收到区块链系统做出的响应后,使用保存的区块链公钥验证响应内容是否是区块链系统做出的。在用户方,交易处理已经结束,已经提交数据,并且收到区块链系统接收数据的应答。在区块链系统,区块生成装置轮询数据库,当收到若干条数据,或者是定时时限后,将从上次处理以来收到的数据从数据库提取出来,编号打包,组装区块。本过程根据应用需求,方式不限。但是至少应该:对包内的所有数据计算哈希值,并组织默克尔树;针对本区块,生成区块头,内容包括:本区块大小、本区块哈希值、生成区块的时间戳、上一区块哈希值、默克尔树根、其他不限。其中上一区块哈希值取自上一区块的“本区块哈希值”字段,本区块哈希值使用区块头中除开自己外的其他数据计算得来。至此,本专利技术已经实现区块链的不可篡改不可伪造特性。由于本专利技术实现简单,当需要的时候,可以部署于多个场景,并以其中之一为主链,非主链看作一个用户,并让用户和主链之间存在数据交互,形成数据分布式存储。根据应用不同,分布存储的数据可能是不同业务数据,也可能是相同数据存储多份,还可能是同一业务的不同模块数据,并且在此过程中,各个用户都有在本地编制区块链的记账权,并且不会相互影响,此时用户的身份转化为分布式数据库节点。用户和主链之间的数据交互,在把握用户身份的情况下,可以根据应用自定义。至此本专利技术实现了区块链的分布式数据库特性。与普通区块链实现相比,本专利技术具有如下优势:首先是实现难度较低,所使用到的技术都是公开技术,比如哈希算法、非对称密钥算法、对称密钥算法等,本使用新型将这些常见算法通过适当的组合后用来实现区块链,降低区块链研究上的入门门槛。其次是使用私有区块链的方式来实现,去掉获取共识这个步骤,减少了对资源的消耗,这些资源包括但不限于:计算用硬件设备、存储设备、网络流量、电力资源,这一点对区块链技术的推广并应用具有积极意义。第三是本专利技术能实现区块链的所有特性的时候,其本身已经不限于私有区块链这个范畴,从本质上是从私有区块链出发,实现了所有种类区块链的特性,一条区块链可以在多种类型区块链之间自由转换,那么将此种区块链应用到更广阔的范围得以成为可能。第四是区块链通过私有区块链的方法建设,区块大小、区块生成速度完全可控,对业务经营者来说,采用区块链技术来提高应用的某些方面特性,将变得更容易落地。附图说明图1:示出了本专利技术实施例一的结构示意图。图2:示出了本专利技术实施例二的机构示意图。具体实施方法本专利技术运用常见技术,对区块链的部分环节做出改进,为了使本专利技术的描述更加清晰,下面将结合附图对本专利技术做进一步的描述:实施例一,从纯区块链角度描述:图1中CDEF是区块链的区块块,所有块以链的方式结合。长箭头表示链的前进方向。箭头方向的区块一定是在箭头尾部区块的后面生成。图1中1234567是用户,离散的用户,在本专利技术中为区块链提供数据的都可以称为用户,包括个人用户、机构用户、另一条区块链等。用户123的交易数据存放在C块,用户456的交易数据存放在D块。7类似。用户123和C块,用户456和D块,用户7和E块之间,存在数据交换,包括用户和块之间进行数字签名交换。目的是用户产生数据提交到块,并且使双方保存的数据一致。数字签名确保用户和区块对自己的行为是不可抵赖的。基于链式结构,假如用户123在C块的数据被区块链系统篡改,将会影响到D块,而用户456将会发现这种篡改带来的影响。因为现在C块的数据再次计算哈希值和D块保存的C的哈希值不同(链式结构,下一块保存上一块的块头哈希值)。由于用户456和D块存在数据交换,当双方数据一致,他们能证明D块未篡改数据。当D块未篡改数据,则表明是上一个节点块C的数据被篡改。在C块中,如果用户13和C块中的数据能匹配,则表明是C块中2的数据被区块链系统篡改。如果将用户2持有的数据回填到C块,能使对D块的影响消除。则篡改是可以被发现,可以被消除的。如果D块未受到影响,但是用户2和C块的数据不一致。我们可以认为用户3伪造了数据。以上方法实现了区块链数据的不可篡改和不可本文档来自技高网...

【技术保护点】
1.一种私有区块链的实现方法,其特征在于:取消区块链中的获取共识的步骤,通过固定节点或者是就近节点的原则产生记账者。

【技术特征摘要】
1.一种私有区块链的实现方法,其特征在于:取消区块链中的获取共识的步骤,通过固定节点或者是就近节点的原则产生记账者。2.如权利要求1所述的方法,其特征在于:通过密码学知识确保区块链上数据的不可篡改不可伪造特性。3.如权利要求1所述的方法,包括以下步骤:区块链系统使用者申请用户,并使用区块链系统密钥装置生成该使用者在本系统的非对称密钥对,其中的公钥提交到区块链系统保存;用户下载区块链系统公钥保存到本地,该步骤可以在任何时候以任意方式进行;用户在向区块链系统提交数据的时候,必需使用申请的私钥进行签名;区块链系统收到用户数据的时候,必需使用用户公钥对数据签名进行验证;区块链系统对收到用户数据的动作进行签名响应;用户对区块链系统的响应使用区块链系统公钥进行验证,双方签名验证确保本次活动是合法的,不可抵赖的;区块链系统使用区块生成装置对数据组块并加入区块链。4.如权利要求3所述的方法,其特征在于:通过密码学知识确保区块链系统对数据的篡改可以被用户发现,并可以得到纠正,其具体方法是通过非关联用户对数据的检查,发现区块链系统中保存的数据存在篡改的情况,并通过链式结构和默克尔树查找到被篡改的数据。5.如权利要求3所述的方...

【专利技术属性】
技术研发人员:姚宇
申请(专利权)人:姚宇
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1