[发明专利]区块链中共识区块的生成方法与计算设备在审
申请号: | 201710245865.8 | 申请日: | 2017-04-14 |
公开(公告)号: | CN107124403A | 公开(公告)日: | 2017-09-01 |
发明(设计)人: | 朱清明 | 申请(专利权)人: | 朱清明 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32;H04L9/06;H04L29/08;H04L12/26 |
代理公司: | 北京智汇东方知识产权代理事务所(普通合伙)11391 | 代理人: | 薛峰,刘长江 |
地址: | 100101 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 共识 生成 方法 计算 设备 | ||
技术领域
本发明涉及区块链技术,特别是涉及区块链的共识实现方法区块链中共识区块的生成方法与计算设备。
背景技术
2014年开始,比特币背后的区块链(Blockchain)技术受到大家关注,并正式引发了分布式记账本(Distributed Ledger)技术的革新浪潮。公认的区块链的原始文献是中本聪所撰写的《比特币:一种点对点的电子现金系统》,论文的内容主要是描述比特币的实现技术。在该篇论文中其中,区块链被描述为用于记录比特币交易的账目历史。现在看来,区块链的基本概念包括:
交易(Transaction):一次操作,导致账本状态的一次改变,如添加一条记录;
区块(Block):记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识;
链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。
和任何分布式系统一样,区块链系统会面临网络延迟、传输错误、软件错误、安全漏洞、黑客入侵等问题,而且去中心化决定了系统中任何一个参与者都不能被完全信任,可能会出现恶意节点,以及数据分歧等问题。
为了防范这些潜在的错误,区块链系统需要一个高效的共识机制来确保每一个节点都可以访问被全网大多数节点公认的账本。这个账本可以是存储在节点本地的账本,也可以是向其他在网节点发出请求后可以访问的账本。虽然分布式系统中各个节点如果都能保证以十分强大的性能(零延迟响应、无限吞吐量)无故障的运行,则实现共识过程并不复杂,简单通过多播过程投票即可。然而,现实中这样“完美”的系统并不存在,如响应请求往往存在时延、网络会发生中断、节点会发生故障、甚至存在恶意节点故意要破坏系统。一般地,把故障(不响应)的情况称为“非拜占庭错误”,恶意响应的情况称为“拜占庭错误”(对应节点为拜占庭节点)。
理论上,分布式系统的共识问题是没有理想解的。现有的区块链共识机制主要包括:POS(proof of stake,权益证明机制)、POW(proof of work,工作量证明)、DPOS(Delegate Proof of Stake,股份授权证明)和PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)。从概率角度,PBFT系列算法是确定的,一旦达成共识就不可逆转;而POW系列算法则是不确定的,随着时间推移,被推翻的概率越来越小。
POW通过计算来反复猜测一个数值(nonce),使得区块链最后一个区块为基础,加上新的交易数据hash(散列,或称为哈希)后的结果满足预设的条件。保证在一段时间内,系统中只能出现少数合法提案。这些少量的合法提案会在网络中进行广播,收到的用户进行验证后会基于它认为的最长链上继续用这个方法构造新的区块。因此,系统中总是存在分叉(Fork)短链。所有参与延长区块链的节点基于保护自己的利益只会选择最长的链作为计算的输入,因此只会有一条链成为被公认的最长的链。
POS是节点记账权的获得难度与节点持有的权益成反比,相对于POW,一定程度上缓解算力竞赛造成的资源消耗。这样生成多个分叉的区块是容易的,这样就大幅降低了分叉攻击的成本。攻击者可以制造符合自己利益的支链,进而在错误的支链上让惩罚机制失效,并和原始的支链形成竞争。
DPOS类似于董事会投票,每个股东可以将其投票权授予一名代表。获票数最多的前100位代表按既定时间表轮流产生区块。每名代表分配到一个时间段来生产区块,代理他们进行验证和记账。其合法性验证性能、资源消耗和容错性与POS相似。因为大幅缩小参与验证和记账节点的数量,共识验证的时间就更短。DPOS无法处理DDOS(Distributed Denial of Service,分布式拒绝服务)和Eclipse攻击(路由表毒化)安全性问题。
PBFT算法及其各种改进假定攻击者数量在容错条件下,预设的大多数节点通过依赖一个选举过程达成节点共识,然后由选举的节点按照约定生成区块。这个选举过程会被DDOS干扰,同时选举结果构成单点故障,形成在Eclipse 攻击条件,会造成反复选举,从而使网络共识性能下降。
发明内容
本发明的一个目的是去掉节点的选举过程,要提供一种高效的拜占庭容错的共识区块的生成方法。
本发明一个进一步的目的是要有效去除DDOS和Eclipse的攻击条件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于朱清明,未经朱清明许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710245865.8/2.html,转载请声明来源钻瓜专利网。