http://www.boxinxx.com

您现在的位置是:首页 > 区块链资料 >

「区块链」中国人民银行数字货币研究所所长姚前:区块链研究进展综述

博信资讯网4月2日讯,区块链是信息互联网向价值互联网转变的重要基石,是现代数字货币体系的可选技术之一

一、共识协议

共识协议用于在分布式系统中实现可用性与一致性,是区块链的关键技术,其核心指标包括共识协议的强壮性(容错、容恶意节点的能力)、高效性(收敛速度,也即系统达成一致性或“稳态”的速度)及安全性(协议抽象理论模型的安全界)

(一)BFT类共识Xn3

BFT(Byzantine Fault-Tolerant)算法于20世纪80年代开始被研究,旨在解决所谓拜占庭将军问题

Andrew Miller在2016年提出的HoneyBadgerBFT对PBFT做了改进,其过程由原子广播(Atomic Broadcast)和异步公共子集协议(Asynchronous Common Subset)两部分组成,它使用N个二进制共识协议实例并根据其结果来决定一个公共子集

BFT类共识随着参与共识节点的增加,通信开销会急剧上升,达成共识的速度则快速下降,难以支撑上万节点规模的分布式系统

(二)中本聪共识Xn3

比特币通过引入经济激励改造了共识投票的过程,将每次账本数据变化都安排一轮投票变为滚动的无限期投票:任何人都可以生成一个包含交易的区块(增加账本数据)并广播,其他人如果同意该区块纳入账本,则将该区块的哈希作为自己构造的区块数据的一部分,以对该区块进行“确认”;对某个区块的“确认”也包含了对该区块前序所有区块的“确认”;以工作量大小决定投票权重,投票附加的工作量大的区块胜出

比特币的工作量证明是寻找满足特定难度值的区块头哈希,比特币之后的虚拟货币项目为了避免出现专用ASIC矿机,开始设计抗ASIC的PoW算法,其中一类的思路是通过串联不同的哈希函数来增加ASIC芯片设计的难度,但并不具备抗ASIC的能力

另一类思路则是设计内存消耗型算法,比如Ethereum基于Dagger-Hashimoto的Ethash,Zcash基于广义生日悖论问题的Equihash,?ternity基于二分图环路检测的Cuckoo Cycle等

为了克服PoW资源消耗大,运行成本高的问题,PeerCoin最早提出并实现了权益证明(Proof of Stake,PoS)类的共识协议

PoS一般需要用户时刻在线,这对应用带来了很大挑战

PoS共识机制也引起了学术界的极大兴趣

(三)混合共识Xn3

Elaine Shi等在2017年提出了将中本聪共识和BFT类共识进行有机结合的混合共识方案,该方案通过PoW机制来选取Committee(负责交易的验证确认及区块创建),Committee通过PBFT来进行交易及区块的共识确认

而Silvio Micali等在2017年提出的基于可验证随机函数(VRF)的Algorand协议则从另一个角度出发, 通过“加密抽签”的方法随机决定区块创建者后,用带权重的拜占庭协议达成全网共识,可视为一种多级动态验证组BFT共识和PoS的混合方案

二、安全与隐私保护机制

安全机制是区块链中最为核心与关键的组成部分,而密码原语与密码方案是安全机制的支撑技术

(一)隐私保护Xn3

在公有链中,需要对交易数据、地址、身份等敏感信息进行保护,同时又能让记账节点验证交易的合法性;对于联盟链,在构建隐私保护方案的同时,需考虑可监管性/授权追踪

1.混币技术Xn3

混币技术是指将多笔不相关的输入进行混合后输出,使得外界无法关联交易的输入与输出,从而分辨不出数字货币的流向

CoinJoin是一种无关协议的匿名混币技术,使用者需要委托第三方,来构造一笔混合多笔输入的交易

2.环签名Xn3

Monero(门罗币)在保证交易的隐私性方面应用了一次性环签名(One-time Ring Signature)技术,具有不可链接(Unlinkability)和不可追踪(Untraceability)两大特性

门罗币里,用户有两对主公私钥对,用于生成一系列的一次性密钥对

3.零知识证明Xn3

ZCash采用了名为zk-SNARK的零知识证明技术,来保证交易的发送者、接受者和交易金额的机密性

zk-SNARK具有两个特点:简洁性(Succinct),即验证者只需要少量计算就可以完成验证;非交互性(Noninteractive),即证明者和验证者只需要交换少量的信息即可

(二)数字账户安全Xn3

钱包私钥直接关系到账户安全,需要对钱包私钥进行妥善保护

(三)密码算法的实现安全及升级机制Xn3

需确保区块链中密码算法的实现安全,并构建密码算法更新/升级时的安全机制

三、可扩展性与效率

可扩展性旨在分布式账本协议的基础上,对整体进行性能效率的提升、扩容或功能性上的扩充,可选方法包括:缩短区块的产生间隔、增加区块大孝采用双层链结构、引入闪电网络、在不影响安全性的前提下修剪区块中的数据等

(一)闪电网络Xn3

闪电网络是比特币的链下扩容方案,旨在扩大比特币的交易规模和交易速度

目前比特币和莱特币均已支持闪电网络

(二)采用双层链结构Xn3

Bitcoin-NG采用了双层链结构,其主要思想是:矿工解决哈希难题并由此创建的区块称为keyBlock,创建keyBlock的矿工在下一个keyBlock出现之前每隔一小段时间可以发布一个microBlock

然而,在Bitcoin-NG中存在两个安全隐患:一是不能有效阻止自私挖矿,二是当某个矿工创建keyBlock之后,他可在短时间内发布大量的microBlock,从而引发系统大量分叉并最终对共识机制的收敛性造成很大影响,同时也大大加重了系统的通信负荷

(三)MimbleWimbleXn3

MimbleWimble技术删除交易中所有已花费的输出,可以有效压缩区块数据的大校MimbleWimble使用单向聚合签名(OWAS)对金额进行隐藏,其隐藏公式为,其中C是Pedersen commitment,G和H是与椭圆曲线加密函数(ECDSA)生成的无关的固定值,v是金额,而r是一个秘密的 random blinding key(随机盲密匙)

四、区块链/协议的安全分析与评估

在区块链(协议)的安全性分析与评估中,一方面,需要对已有的共识协议建立抽象理论模型,并基于该模型研究共识协议的安全性;另一方面,需要研究在不同攻击方法(或场景下)区块链的安全性,例如:分别在高同步性、高异步性网络条件下,基于合理的困难问题假设、攻击者的计算能力、攻击类型及方法等建立相应的统计分析模型,给出共识协议能有效抵抗相应攻击的安全界;需分析在激励机制失效下系统的安全性;需对系统中密码方案软硬件实现进行安全性分析等

(一)自私挖矿Xn3

传统观点认为比特币是有激励相容机制的,即没有人可通过损害集体利益去实现自己利益的最大化

自私挖矿的分析是基于理性者条件的假设下,但现实中人往往不是完全理性的,且存在多方博弈,因此实现自私挖矿攻击还是存在一定的难度

(二)分区攻击Xn3

在P2P网络里,只要控制一定数量的节点,就可以进行Eclipse Attack,从而发起51%攻击,控制整个网络

(三)大数据分析Xn3

区块数据在全网都是公开的,因此可以很容易地对它们进行分析

因此,尽管Monero具有良好的匿名特性,但通过数据分析,还是有超过半数的交易被追踪并分析出来

(四)共识协议的抽象理论模型的安全性分析Xn3

Aggelos Kiayias等在2017年构建了比特币的PoW协议的抽象理论模型,并借鉴密码学中可证明安全的思想证明了该抽象理论模型的安全性;Elaine Shi等在2017年提出了基于 Sleep Model的PoS共识模型,并对其进行了形式化描述和安全性分析,证明了该共识系统在分布式环境下有良好的健壮性

相关阅读:

转载:感谢您对网站平台的认可,以及对我们文章的青睐,非常欢迎各位朋友分享到个人站长或者朋友圈,转载请保留链接: http://www.boxinxx.com/qukl/1356.html