深度解析区块链关键技术及其面临的应战

现阶段,虽然区块链的行业生态已初步成形,但区块链技术仍面临诸多技术瓶颈,详细表示在体系架构、共识机制、互操作性、零碎平安等多个方面。因而,必需对区块链关键技术给予高度注重,并集多方力气打破技术瓶颈,从而为区块链使用的全方面落地扫清妨碍。
2.1共识机制
共识机制是区块链零碎可以波动、牢靠运转的中心关键技术。不同于传统的中心化零碎,区块链零碎中一切网络节点是自在参与、自主维护的,不存在一个可信的中心节点承当网络维护、数据存储等义务。因而,如何使众多天文地位分散、信任关系单薄的区块链节点维持分歧性的可信数据正本,并完成零碎波动运转,是区块链共识机制必需处理的难题。
共识机制的次要功用是处理两个根本成绩:
(1)谁有权写入数据。区块链零碎中,每一个主干网络节点都将各自独立维护一份区块链账本(即区块链零碎中的数据库)。为了防止不同的区块链账本呈现数据混乱的成绩,必需要设计公道的挑选机制,每次只挑选一个网络节点担任写入数据;
(2)其别人如何同步数据。当被挑选的网络节点写入数据后,其他网络节点必需可以精确及时的同步这些数据。为了防止网络中呈现伪造、窜改新增数据的状况,必需设计牢靠的验证机制,使一切网络节点可以疾速验证接纳到的数据是由被挑选的网络节点写入的数据。
一旦处理这两个成绩,区块链散布式网络中的节点就可以自发的树立分歧性的可信数据正本。首先,每隔必然工夫,经过共识机制挑选的节点将挑选待入库的买卖,结构最小的区块链数据存储构造“区块”,然后将区块数据播送到区块链网络。其次,全网一切节点将对接纳到的区块数据停止检测,依据共识机制判别区块数据能否是由合法的受权节点发布。假如区块数据满足共识机制和其他格式需求,将会被节点追加在各自维护的区块链账本中,完成一次数据同步。经过反复这两项进程,区块链账本就可以波动、牢靠的完成更新和同步,防止数据混乱、数据伪造等成绩。
共识机制是区块链的中心技术,与区块链零碎的平安性、可扩展性、功能效率、资源耗费亲密相关。迄今为止,研讨者曾经在共识相关范畴做了少量研讨任务,提出了众多不同的共识机制。从如何拔取记账节点的角度,现有的区块链共识机制可以分为选举类、证明类、随机类、联盟类和混合类共5品种型:
选举类共识是指矿工节点在每一轮共识进程中经过“投票选举”的方式选出以后轮次的记账节点,首先取得半数以上选票的矿工节点将会取得记账权。例如PBFT、Paxos和Raft等。PBFT共识机制效率高,支持秒级出块,并且支持强监管节点参与,具有权限分级才能,在平安性、分歧性、可用性方面有较强优势。但是,在PBFT零碎,一旦有1/3或以上记账人中止任务,零碎将无法提供效劳,当有1/3或以上记账人结合作恶,且其他一切的记账人被恰恰联系为两个网络孤岛时,歹意记账人可以使零碎呈现分叉。
证明类共识被称为“Proof of X”类共识,即矿工节点在每一轮共识进程中必需证明本人具有某种特定的才能,证明方式通常是竞争性地完成某项难以处理但易于验证的义务,在竞争中胜出的矿工节点将取得记账权。例如PoW和PoS共识算法等。PoW(任务量证明机制)的中心思想是经过散布式节点的算力竞争来包管数据的分歧性和共识的平安性。PoS(权益证明机制)的目的是处理PoW中资源糜费的成绩。PoS是由具有最高权益的节点取得新区块的记账权和收益奖励,不需求停止少量的算力竞赛。PoS必然水平上处理了PoW算力糜费的成绩,但是PoS共识机制招致拥有权益的参与者可以持币取得利息,容易发生垄断。
随机类共识是指矿工节点依据某种随机方式直接确定每一轮的记账节点,例如Algorand和PoET共识算法等。Algorand共识是为理解决PoW共识协议存在的算力糜费、扩展性弱、易分叉、确认工夫长等缺乏。Algorand共识的优点包罗:能耗低,不论零碎中有多用户,大约每1500名用户中只要1名会被零碎随机挑中执行长达几秒钟的计算;民主化,不会呈现相似比特币区块链零碎的“矿工”群体;呈现分叉的概率低于10-18。
联盟类共识是指矿工节点基于某种特定方式首先选举出一组代表节点,然后由代表节点以轮番或许选举的方式顺次获得记账权。这是一种以“代议制”为特点的共识算法,例如DPoS等。DPoS不只可以很好地处理PoW糜费动力和结合挖矿对零碎的去中心化构成要挟的成绩,也可以补偿PoS中拥有记账权益的参与者未必希望参与记账的缺陷。
混合类共识是指矿工节点采取多种共识算法的混合体来选择记账节点,例如PoW+PoS混合共识、DPoS+BFT共识等。经过结合多种共识算法,可以扬长避短,处理单一共识机制存在的动力耗费与平安风险成绩。
以后现有的共识机制很难做到功能和扩展性的均衡。比特币、以太坊等私有链运用的共识机制(如PoW,PoS等)虽然支持大规模节点网络,但共识功能较低,如比特币的TPS(每秒处置的买卖数)大约只要7。而以Fabric为首的联盟链共识机制(如PBFT等)虽然有较高的TPS,如PBFT的TPS能到达1000,但这些共识算法的扩展性较差,只支持小规模的网络,当节点数量过多时共识机制就会解体,且很多联盟链共识算法的共识节点是预置的,不支持节点的静态参加与加入。目前区块链零碎的共识效率仍是区块链技术的瓶颈之一,在必然水平下限制着区块链技术的开展和相关使用的落地。将来区块链共识算法的研讨标的目的将次要侧重于共识机制的功能提升、扩展性提升、平安性提升和新型区块链架构下的共识创新。
2.2互操作性
区块链技术曾经浸透至金融、供给链等不同的行业与场景,无效打破了同一场景下不同参与方间的价值孤岛。但现阶段价值难以在不同行业、不同场景之间活动。这使得不同区块链的参与方成为了一个个封锁的小集团,这显然不利于价值的社会化流通。因此,完成区块链的互操作性势在必行。目前,区块链的互操作性次要经过跨链技术完成。根据详细的技术道路,跨链技术可分为公证人技术、侧链技术、原子交流技术以及散布式私钥控制技术四类。
(1)公证人技术
在公证人技术中,买卖参与方事前选择一组可信的公证人,以确保买卖的无效执行。由Ripple公司提出的InterLedger协议,是公证人技术的一个典型案例。InterLedger完成了跨区块链转账,在A链发送方在向B链接纳方转账前,需找到一组衔接者(Connectors),由衔接者逐跳地把资金发送至接纳方。各衔接者需指定一组公证人(notaries),由公证人监视这一组买卖的无效性。
公证人技术的次要成绩在于需求信任特定的公证人群体,这违犯了区块链去中心化的设计初衷,并引入必然的平安性隐患。
(2)侧链技术
借助侧链技术,一条区块链可以读取并验证其他区块链的事情和形态。目前,侧链技术可分为一对一侧链和星形侧链两大类。一对一侧链技术包罗以btc Relay、RSK为代表的新型区块链。此类区块链可以和一条已有的区块链(如比特币)交互,次要目的是完成已有区块链的功用拓展。而星形侧链技术次要包罗以Polkadot、Cosmos为代表的跨链根底设备,其经过构建一条新区块链衔接多条其他区块链,进而构成一个星形拓扑构造,完成不同区块链间的价值与信息流通。
(3)原子交流
原子交流的根本思想是,当位于两条链上的单方互换资产时,买卖单方经过智能合约等技术,维护一个互相制约的触发器(trigger)以包管资产交流的原子性。即A与B之间的资产交流或许同时发作,或许同时不发作,而不会发作A向B转账完成,而B未向A转账的状况。
此类跨链方案的典型案例是Blocknet。在原子交流的根底上,Blocknet添加了订单婚配、买卖撮合等功用,以完成去中心化跨链货币兑换。但是,原子交流技术的使用范围较为狭隘,仅限于跨链转账范畴,无法满足其他跨链需求。
(4)散布式私钥控制技术
散布式私钥控制技术旨在经过散布式私钥生成与控制技术,将各种数字资产映射到一条新的区块链上,从而在同一条区块链上完成不同数字资产的自在交流。
Fusion是散布式私钥控制技术的代表性项目。其中心思想将各条区块链上的数字资产映射到Fusion构建的公共区块链上。复杂来说,就像不同区块链用户将数字资产存入“银行”,银行内的数字资产可以停止自在的流通与兑换,并实时更新用户账户余额,用户从“银行”提款时以最初的账户余额为准。
散布式私钥控制技术与原子交流技术相似,仅能完成跨链资产转移,尚不克不及停止更复杂的跨链互操作。假如后续无法对其功用完成进一步的拓展,那么散布式私钥控制技术的使用范围将远达不到预期的效果。
可以看到,已有区块链互操作性方案存在分明缺乏。首先,使用范围窄。例如,BTC Relay只能完成比特币到以太坊的单向操作,而InterLedger和Fusion等仅能完成跨链转账,无法停止其他类型的操作。其次,兼容性差。例如,Cosmos等零碎仅支持构造相反区块链的互联互通。总之,现有各种跨链与互操作性方案仍处在起步阶段,间隔实践使用还有很长一段间隔。针对此类成绩停止优化,也是区块链互操作性的将来演进标的目的。此外,区块链的互操作性研讨直接关系到区块链通讯的接口规范。但是,目前最具影响力的跨链方案均由国外的企业和研讨机构提出。相关实体在设计跨链方案时,首先思索的将是本身经济利益。因而,我国应尽快推进区块链互操作性研讨,积极参与跨链规范的制定,从而为国际的区块链产业争取更多话语权。
2.3平安性
目前,区块链技术已在金融、政务甚至国防范畴取得初步使用。这些场景对平安性的要求极高,但是很多区块链均发作过严重的平安成绩。截至2018年4月,区块链已发作超越200起严重平安事情,形成的经济损失已超越36亿美元。因而,对区块链平安性的研讨势在必行。
现阶段,业界侧重于从不同角度提出针对区块链零碎的攻防办法,进而对区块链平安性停止全方位探究。研讨标明,任何违背区块链平安性的行为,都可以归结为从算法平安、协议平安、完成平安、运用平安和零碎平安等五个层面停止的毁坏、更改和泄露。
(1)算法平安
算法平安通常是指密码算法平安,既包罗用于检验买卖的哈希算法、签名算法,也包罗用于某些智能合约中的复杂密码算法。
普通来说少数区块链中运用的通用规范密码算法在目前是平安的,但是这些算法从直接和将来看也存在平安隐患。首先从直接来看,SHA256算法对应的ASIC矿机以及矿池的呈现,打破了原有“一CPU一票”的理念,使得全网节点增加,权利日趋集中,51%攻击难度变小,对应的区块链零碎遭到平安性要挟。其次从将来开展看,随着量子计算的衰亡,适用的密码体制均存在被攻破的要挟。
此外,关于新型密码,由于其没有经过足够的工夫检验和充沛的攻防考验,其在实践使用中更容易成为短板。比方麻省理工学院发现新兴区块链IOTA的哈希算法中存在致命破绽,使得IOTA团队紧急改换算法。某些未经检验的随机数生成器也能够存在破绽,应用生日攻击会发生相反随机数,进而要挟区块链平安。
为了避免ASIC过度运用形成区块链中心化成绩,设计不利于并行计算的哈希算法势在必行。目前,莱特币的scrypt算法和暗黑币X11算法均从添加内存耗费方面进步了ASIC开发难度。为防备量子计算要挟,传统密码算法需求尽早交换为抗量子密码算法,目前业界已提出了基于格上困难成绩的密码算法和基于纠错码的密码算法等。为了防备不成熟密码形成的平安破绽,必需关于未经历证的密码算法慎重运用。别的随机数生成器也必需从伪随机向真随机过渡,如采用基于混沌的随机数发作器129J和基于量子的随机数发作器等。
(2)协议平安
协议是通讯单方为了完成通讯而设计的商定或通话规则,包罗网络层面的通讯协议和下层的区块链共识协议。
协议平安在网络层面表示为P2P协议设计平安。攻击者应用网络协议破绽可以停止日蚀攻击(Eclipse Attack)和路由攻击(Routing Attack)。攻击者应用网络节点的衔接数限制可以用日蚀攻击将节点从主网中隔离,而路由攻击则是经过控制路由根底设备将区块链网络分区而停止的攻击。攻击者还可以发起DDoS攻击,目前关于DDoS攻击只能依托收取买卖费和糜费算力来控制。
协议平安在区块链共识层面表示为共识协议平安。首先各类共识协议均有容错才能限制,如PoW存在51%算力攻击,PoS存在51%币天攻击,而DPoS还存在着中心化风险。其次,共识协议容易遭到内部攻击影响。例如,针对PoW共识已呈现了无私挖矿(Selfish Mining)和顽固挖矿(Stubborn Minging)等多种攻击。无私挖矿可以使攻击者取得多出本身算力占比的收益;而顽固挖矿是对无私挖矿的拓展,可以使攻击者收益率比无私挖矿进步13.94%。PoS共识则存在“有利害关系(Nothing at Stake)”成绩,即区块链发作分叉时,矿工能够会在多个分叉上同时下注,以谋取不妥利益。
针对协议平安性成绩,为避免网络层面的攻击,需求开发者慎重选择区块链的网络协议。而为了避免区块链共识层面的攻击,则需设计适当的鼓励与惩罚办法,从而降低攻击者取得的收益。
(3)完成平安
在区块链零碎的完成进程中,顺序员能够会有意或有意留下破绽,从而招致区块链的平安性遭到损害。详细表示在以下两个方面。
首先,众多区块链引入了图灵齐备的智能合约机制。用户可以应用智能合约编写自动化顺序,完成资产分配等操作。但是,在编写智能合约时很能够会引入平安性破绽。例如,某些合约能够会错误地把资产发送到不受控的地址,或许资产有限期锁死,招致全网可用代币增加等。
其次,区块链的底层源码也能够存在整数溢出破绽、短地址破绽和地下函数破绽等各种破绽。例如,比特币0.3.11之前版本可以违规生成少量比特币,而以太坊的短地址破绽可以使买卖者从买卖所违规取得256倍甚至更多的利益。
针对智能合约等顺序在完成上的平安成绩,业界已提出一系列的方式化验证和平安测试技术,从而在产品上线之前发现其能够存在的破绽。此外,诸多区块链的产品开发者已开端活期停止代码审计,包罗买卖平安审查和拜访控制审查等,从而争取在攻击者发现破绽之前修复平安成绩。
(4)运用平安
在区块链中,“运用平安”特指用户私钥的平安。私钥代表了用户的资产一切权,是资产平安的前提。但是在传统的区块链中,私钥均由用户本人消费并保管,没有第三方的参与,所以私钥一旦丧失或被盗,用户就会蒙受资产损失。
在理想运用中,某些买卖平台会替代用户办理私钥,但是很多平台往往采用联网的“热钱包”办理私钥,一旦“热钱包”被黑客破解,用户的资产就会被盗取。此外,由于没有完善的风险隔离办法和人员监视机制,招致局部拥有权限的员工应用监管时机盗取信息或代币。
针对运用平安性成绩,用户需求愈加慎重保管私钥,尽量运用与网络隔离的冷钱包存储私钥。而买卖平台需严厉停止权限办理,慎重开放效劳器端口,活期停止平安监测,树立完善的应急处置办法。
(5)零碎平安
零碎平安是一个全体性概念,它遭到各级平安要素的共同影响。攻击者可以综合运用网络攻击手腕,对算法破绽、协议破绽、运用破绽、完成破绽、零碎破绽等各个方面综合应用,从而达成攻击目的。别的社会工程学攻击的引入也使区块链变得愈加软弱。为此,业界需还要关注用户本身零碎平安性,包罗活期更新补丁、启用设备防火墙、禁用路由器中不用要的组件等。
区块链技术已开端取得普遍使用。但是,现有区块链的平安成绩曾出不穷,因而必需对平安性成绩高度注重。目前对区块链平安性的研讨次要从“攻”与“防”两个角度停止。业界辨别从从算法、协议、完成、运用和零碎等五个层面发现平安隐患,并提出补偿办法。但是,现阶段并从基本上处理平安成绩。因而在将来,必需从区块链体系架构停止创新,从实质上找到单一破绽影响零碎平安的缘由,失掉应对区块链平安成绩的无效机制。
2.4隐私维护
随着区块链技术不时开展和普遍使用,其面临的隐私泄露成绩越来越突出,必需失掉研讨人员和工业界开发人员的充沛注重。绝对于传统的中心化存储架构,区块链机制不依赖特定中心节点处置和存储数据,因而可以防止集中式效劳器单点解体和数据泄露的风险。但是为了在散布式零碎中的各节点之间达成共识,区块链中一切的买卖记载必需地下给一切节点,这将明显添加隐私泄露的风险。
但是,区块链自身散布式的特点与传统IT架构存在明显区别,很多传统的隐私维护方案在区块链使用中不适用,因而剖析区块链隐私泄露缺陷、研讨针对性的隐私维护办法具有重要意义。
依据维护隐私的对象分类,次要可以分为3类:网络层隐私维护、买卖层隐私维护和使用层的隐私维护。网络层的隐私维护,涵盖数据在网络中传输的进程,包罗区块链节点设置形式、节点通讯机制、数据传输的协议机制等;买卖层的隐私维护,包括区块链中数据发生、验证、存储和运用的整个进程,买卖层隐私维护的侧重点是满足区块链根本共识机制和数据存储不变的条件下,尽能够隐藏数据信息和数据面前的知识,避免攻击者经过剖析区块数据提取用户画像;使用层的隐私维护场景,包括区块链数据被内部使用运用的进程等,区块链被内部运用的进程存在泄露买卖隐私和身份隐私的要挟,因而,使用层隐私维护的侧重点包罗提升用户的平安认识、进步区块链效劳商的平安防护程度,例如合理的公私钥保管、构建无破绽的区块链效劳等。
目前的私有链项目中,各参与方都可以取得完好数据备份,一切数据关于参与方来讲是通明的,任何人都可以在链上查询到上链数据。比特币项目只是经过隔绝交易地址和地址持有人真实身份的关联,到达匿名效果,攻击者可以看到每一笔转账记载的发送方和承受方的地址,但无法对应到理想世界中的详细某团体。虽然如此,攻击者仍可以经过多个层面的攻击到达窃取隐私的目的,例如网络层、买卖层和使用层发起不同方式的攻击。关于联盟链而言,带有CA性质的监管角色虽然可以包管接入节点的可信,但假如区块链要承载更多的业务,比方实践场景中注销实名资产、经过智能合约完成详细借款合同的同时包管验证节点在不知晓详细合同信息的状况下如何执行合同等等,基于密码学、零知识证明等技术的研讨正在不时推进,只要不时完善区块链技术自身的多层面隐私维护机制,才干让区块链实践赋能传统行业,发扬其既定的优势。
2.5可监管性
以后以数字货币为首的各类区块链使用开展迅速,与此同时,区块链中潜在的监管成绩也逐步显现。一方面,区块链数字货币为洗钱、讹诈病毒等立功活动提供了一条平安波动的资金渠道,促进了地下黑市的运转。以比特币为例,著名的讹诈病毒WannaCry经过比特币来完成对用户资产的讹诈,地下黑市网站“丝绸之路”应用比特币停止合法买卖,很快遭到了地下人群的追捧。另一方面,区块链数字货币使跨国境的资金转移变得更为复杂,将有能够损害各国的金融主权,影响金融市场的波动。与此同时,由于区块链去中心化、不成窜改等特性,使得区块链常被用于敏感信息的存储与传达。有些人将敏感无害信息保管在比特币和以太坊区块链的买卖中,而这些信息并不克不及从区块链中删除。同时,由于区块链的匿名性,监管方也不克不及经过这些敏感信息和触及守法立功的买卖的发送方地址找到发送方的真实身份。此类事情严重危害国度平安和波动,给网络监管机构带来了极大的应战和要挟。
以后对私有链的监管刚刚处于起步阶段,研讨标的目的不片面,研讨技术也不成熟。但是,对私有链的监管需求又是非常必要且紧急的。因而,监管成为了私有链范畴急需处理的成绩,也成为了以后私有链项目落地的最大应战。联盟链由于其本身特点,使得联盟链可以很好的支持对节点和链上数据的监管。因而,如何设计监管敌对的联盟链根底架构,在维护隐私的前提下完成监管功用,是联盟链监管中需求研讨的次要成绩。任何技术的开展都离不开对技术自身的监管,我们需求增强对区块链监管的研讨,只要这样才干够包管区块链行业的安康和可继续开展。

本文来自网络,不代表区块链信息网立场,转载请注明出处:http://www.fjmqsy.com/yingyong/40175.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

返回顶部