首页 > 编程知识 正文

丰田如何做到高可靠,区块链进化史

时间:2023-05-06 01:28:20 阅读:56179 作者:109

作者: zjdmla过时的唇彩成就的歌曲

2009年,一位写茶的名叫幽默的人在密码学论坛上发表了一篇名为《比特币----一种点对点的电子现金系统》的文章,比特币的概念应运而生。 而且,其背后的区块链技术在近十年的很长一段时间里逐渐浮出水面。 从密码学极客范围内流传的实验概念,到各金融机构和科技企业之间竞相布局的尖端技术,再到媒体宣传炙手可热的信任机器,区块链已成为科技圈近年来的潮流,风头一时。 我国也将区块链引入《“十三五”国家信息化规划》,其重要性不言而喻。

虽然区块链概念火热,但实际落地取决于企业使用区块链的程度和规模。 现在区块链的发展可以说是“百链争鸣”。 继比特币之后,各种区块链技术平台层出不穷。 如何选择合适的区块链技术平台来满足业务需求是企业在探索区块链应用之前摆在面前的重要问题之一。

基于这样的现状,本文首先对区块链技术和发展现状进行了概述,指出了开源对区块链技术的重要性,然后结合企业运用区块链技术的需要和特点,研究了目前存在的一些重要区块链技术

源起比特币:公账与共识构筑的区块链

要解释区块链的概念,必须从第一个APP应用程序——比特币开始。 传统的电子支付系统需要银行等中心机构来验证一笔交易的真实性,避免一笔钱重复两次。 所谓的“双重使用”的问题。 对电子系统来说,钱是数字意义上的符号,它必须避免一系列字符在发送到a的同时发送到b。 在这种情况下,系统中用户账户的余额和资金流向其实可以视为一个账簿,其账面权在中心机构手中。

比特币通过区块链技术实现了无需第三方验证交易真实性的中心化电子现金交易系统:

图1 :比特币如何运作

首先,系统中任意一个交易的发生需要在全网上广播,其他节点随机将自己听到的几个交易组合成一个块。 此时的块可以认为是在一段时间内发生但尚未被系统确定为真正有效的交易集合。 另外,由于广播的随机性,不同节点打包的交易集合不同。

然后,系统中打包块的节点验证自己块中的交易记录。 以a向b传递比特币的交易为例,验证这笔交易的真实性需要判断a是否有比特币,以及该比特币是否只送给b。

通过上述验证后,所有打包块的节点都将开始竞争。 大家争先恐后地试图解决难以计算但易于验证的计算问题,这个计算比赛的赢家打包的块被系统确定为有效,该块中的所有交易都被确定为真正的合法。 作为报酬,此打包块的节点将由系统报酬一定数量的比特币。 这个节点也被称为矿工。

然后,块被广播到整个网络,其他节点接收到块后,也可以验证块中的交易和计算问题的答案。 系统中的节点同步块并允许块中的交易的真实性。 过了一段时间,所有网络节点都验证并同步更新了同一块,因此预计会同意历史交易记录。 在一定时间间隔后新发生的交易以与上述同样的方式打包成块,通过计算竞赛的胜利结果,其他节点认可该块的真正有效性,进而认可其他交易的有效性。 同时使用哈希指针链和时间戳来连接块,以确保下一块中发生的事务是基于历史块的事务。

一般来说,区块链是公共账簿,系统中所有参与者都有该账簿,账面上的交易往来经过所有参与者的一致同意,被认为是真实有效的。 也就是说,账簿的各页记录了一定期间内发生的交易内容; 链可以理解为将账簿的各页按时间顺序连接,账簿下一页发生的交易内容总是基于上一页内容的翻页方式。 通过公共账簿的设计,系统的所有参与者都达到了去中心化的信任,也就是说每个人都有相同的账簿,并同意了记录内容和账簿规则。

同源不同途:公有链和联盟链竞相发展

比特币证明区块链可以非中心地解决转账中的信任问题。 但是,转账只是众多价值转移中的一个。 人们逐渐认识到,区块链不仅可以用于转账和支付,还可以作为普适的基础技术机制解决广义价值转移中的信任问题。 事物的状态/价值变化,如房地产所有权的更迭、供应链各阶段商品信息的更新等,都记录在区块链中,各方可以共同维持该状态的更新,并就更新结果达成共识。

但是,由于比特币系统设计的非图灵完备性,底层区块链系统难以承载除转账之外的功能,区块链的更广阔应用前景受到限制。 基于这种现状,同时由于比特币代码的开源,开发者们对比特币的底层区块链技术进行了不断的改进和创新,逐渐形成了多种区块链技术共同发展的局面:

一类针对

比特币交易性能低,挖矿算法资源消耗大,无法做到完全匿名等缺点进行改良,如莱特币,达世币,门罗币和Zcash等成百上千的数字货币,但其应用场景仍仅限于使用数字货币进行转账交易,每一种新的数字货币背后都对应着经过改进的区块链系统;

另一类则是将数字货币作为系统中的一种token(通证),而非单纯用作如比特币那样的转账和交易:创建业务需要以消耗token作为代价,执行业务以事先设置好的智能合约为基础并通过预置条件来触发,业务结果和状态变更则记录在区块链中,典型代表如以太坊等。

此外一类区块链不从数字货币出发,一般不存在token但专注于为企业运用区块链或分布式账本技术搭建平台,使得企业能够根据自己的业务需求方便快捷的部署自己的应用,典型代表如支持功能可插拔的通用区块链底层框架Hyperledger fabric和专注于金融机构之间对账应用的corda等。

     总的来看,存在数字货币或token且没有准入机制的区块链一般被称为公有链,而专注于解决若干企业间信任问题的区块链被称为联盟链,在此不同的技术平台上,根据主要运行业务环境的不同,业界也对应着“币圈”和“链圈”。

 

图二:币圈和链圈及主要发展趋势

殊途却同归:开源成为企业布局区块链的必然选择

虽然区块链发展的路径存在区别,但有一个现象不容忽视:无论是公有链还是联盟链,它们都选择了开源去构建自己的技术平台。深究其原因,可以发现开源区块链的存在是一种必然之选:

首先,区块链创造了一种信任机制,开源才能让该信任机制本身变的可信。想象一个声称能用去中心化方式解决信任问题但闭源的区块链。如果仅采纳技术提供方的方案而无法对其代码进行审阅,那么这个区块链无异于魔术师手上的戏法,效果神奇但让人怀疑其真实性。因为这种情况下参与方只能依赖技术提供方的声誉和背书对区块链形成有限的信任,这与区块链本身去中心化的信任模式相违背。

其次,开源增加了多方参与的意愿,区块链的生态更容易发展壮大。多方参与是区块链技术的重要特征之一,但是否决定参与则是区块链能否落地的先觉条件。开源让区块链变得透明和友好,参与者可以提前对将要加入的区块链从技术和功能上进行全方位的评估和审视,直接降低了参与方对陌生技术信任成本。

更为重要的是,开源已经成为各公司布局区块链的重要手段。科技公司如IBM,Intel,微软以及华为等已先后加入区块链开源社区,通过发布或参与开源的区块链解决方案来吸引合作伙伴加入,从而壮大自己的区块链生态,以求在竞争中取得优势。对企业级的商用场景来说,目前两个较大的开源区块链解决方案为超级账本项目(Hyperledger)、企业以太坊联盟(Enterprise EthereumAlliance)

图三:超级账本和EEA

超级账本(Hyperledger)项目由Linux基金会牵头在2015年12月成立,创始会员包括IBM,Intel,思科,埃森哲,J.P.Morgan等,目前已有150余位来自世界各地的会员,国内公司如华为、百度、腾讯、小米等也位列其中。超级账本项目的意图是建立一个跨行业的、开放的、标准的、领先的分布式加密账本技术,改变全球商业交易进行的模式。该项目提供通用的区块链底层框架,使得用户可以简单方便的在框架上部署应用,满足企业对分布式账本技术的需求。IBM、Digital Asset、Intel等公司在该项目的早期贡献了大量的代码和开发资源,项目规模也不断扩张。截止目前为止,超级账本项目已经拥有了4个区块链框架子项目和5个辅助开发工具项目,生态日益完善。子项目中的Fabric拥有较高的知名度,在设计上贴近联盟链的思想,是企业搭建区块链选用较多的技术平台。

企业以太坊联盟(Enterprise EthereumAlliance,下称EEA)于去年成立(2017年2月),主要牵头者是微软,创始会员也包括了Intel,埃森哲和J.P.Morgan等,但目前成员规模与超级账本相近,发展势头迅猛。EEA中所有孵化的项目都是以开源的以太坊公有链为基础版本,意图通过以太坊的公链技术来解决企业级的区块链部署和使用需求。该项目已成立技术指导委员会和针对不同行业的工作组,相关子项和标准后续也会公之于众。

概念需落地:开源区块链解决方案的对比

抛开概念的炒作和资本的狂欢,区块链的本质仍是一种新的技术。技术的落地永远离不开企业的大规模使用和布局。

为了满足商业场景的需求,企业在部署和应用区块链的过程中更多的需要考虑架构设计、节点设计、性能、权限管理、隐私等各方面的实际问题。并非所有企业都有强大的技术实力来自研区块链,因此选用开源的区块链解决方案或技术平台以满足上述需求就成为了企业布局区块链的上佳选择。下文将对目前市场上具有代表性的两大开源区块链解决方案Hyperledger Fabric和以太坊从不同的技术维度进行对比,为企业布局区块链的技术选型提供参考。

整体架构设计:

Fabric在系统的架构设计上采用了可插拔的方案,对区块链核心组件如共识算法,身份验证等进行模块化分类,好处是用户可以根据自己的需求灵活的选择和搭配对应模块,做到了系统上的松耦合。相较而言以太坊在架构设计上偏向紧耦合,共识、合约及应用层中不存在可以插拔的设计;对整个系统的灵活性而言,目前以太坊的网络状态更新依赖于单节点处理事务再进行全网广播,后续以太坊计划实施分片机制,同一片内的节点达到处理的同步性和一致性,而不同分片之间可以存在异步。因此从总体架构设计来看,Fabric更为灵活,企业可以进行更多的个性化配置。

节点类型:

一般区块链的节点从大功能上来说可以分为记账节点和客户端节点。记账节点负责对区块链中系统中的交易进行验证,并对交易状态的变更达成共识并进行记录,进而同步到全网;客户端节点可以不必考虑共识和账本方面的事务,只需要能够顺利执行交易即可。Fabric和以太坊中都有记账节点和客户端节点,但Fabric中划分的更细,将记账节点按照不同的角色分为了背书节点和验证节点,前者专门对客户端发起的交易请求进行预处理,后者则对预处理后的交易进行验证。这样的设计解耦了区块链中交易处理节点的功能,可以减轻节点的工作负担。

共识机制与性能:

Fabric目前主要采用Kalfka共识算法,其本身是一种分布式消息队列中间件,基于zookeeper进行Paxos算法进行选举达成共识。该共识算法允许网络中的节点失效,但不能允许恶意节点的出现。在系统中存在f个失效节点的情况下,只要节点总数大于2f+1,系统仍能够安全运行并达成共识,即Kalfka能够容忍半数节点失效。在上述共识算法下,Fabric的TPS(每秒交易量)在10000左右,平均交易确认速度在几百毫秒左右。以上数据基本能满足企业部署区块链进行商用的需求。同时Fabric支持共识算法可拔插机制,方便企业可以加入其他共识算法如拜占庭容错共识算法PBFT,满足不同场景需求。

以太坊前期采用了同比特币一致的PoW(工作量证明)算法,即通常所说的挖矿。该算法在灵活性上优于PBFT,系统中的记账节点可以随时下线和退出,并不影响其他节点达成共识;但与PoW相伴的则是交易确认速度的缓慢和TPS的下降:以太坊的区块链每隔12秒产生一个区块,一笔交易被验证有效的时间也是12秒左右;受制于CPU的单线程,其TPS在50左右,难以满足一些高频交易的商业场景需求。目前以太坊的共识算法正在由PoW向PoS(权益证明)转变,后者的交易效率更高;同时以太坊也正在部署Raiden(雷电网络)解决方案,力求将交易确认时间控制在毫秒级。可以预见未来以太坊的性能将会变得更加优秀,但从目前来看Fabric更适合企业商用。

权限与隐私方面:

在权限控制方面,Fabric按照联盟链的思路来设计,对系统中的成员能否发起交易进行了严格的权限控制。系统参与者需要从RA(注册中心)处取得注册许可,然后通过CA(认证中心)颁发的证书来获取交易安全证书。只有被上述注册中心和验证中心签名后的节点才有权力发起交易。而以太坊则以公有链设计思路出发,对用户身份做了匿名处理,系统中的用户很难匹配到其自然人的身份。理论上参与者都有权发起交易,只需支付一定量的以太币即可。可以看出以太坊通过其自带的以太币作为Token来作为发起交易所需付出的代价和资源,通过经济性的设计来控制用户发起交易的权限,但其权限控制力是要弱于Fabric的。

在安全隐私方面,Fabric提供Channel的设计允许系统中的参与方拥有多个交易通道而业务内容则互不可见,这种设计为企业间的业务安全和隔离性创造了良好的空间。与之对应的是以太坊提供State Channel(状态旁路)方案,区块链账本上记录的只是粗颗粒度的“批发”,可以理解为出入备付金操作,真正细颗粒度的双边或者多边交易的明晰,则不作为交易出现在账本中,而仅仅作为有争议时进行核查的证据,通过状态旁路的方式“曲线执行”。这样就在一定程度上使得其他的账本所有者无法通过查阅账本获取到交易内容的明细,保证了交易方的安全性和隐私。因此对比来看,Fabric和以太坊都有着安全隐私的保护方案,难以评估孰优孰劣。

     综上以表来概括,可以看出Fabric在初期各技术维度上更加适合企业进行采用。


      表一:Fabric和以太坊各方面对比

结语

        区块链撬动多个行业,甚至将互联网转变成了基础设施,在多个方面引起关注。区块链技术仍在发展之中,后续一定会有更多的技术革新和改良。目前公有链和联盟链争相发展的格局预计将在一段时间内保持不变。在联盟链方面,目前Fabric已经逐渐成为企业级开源区块链解决方案的事实标准,业内玩家先后入局,相关概念验证和商用项目不断涌现,它也将成为企业探索区块链业务进行技术选型的重要参考之一。同时,华为等领先厂商均推出了BaaS(Blockchain asa Service)方案,其中华为云近期推出的企业级区块链云服务产品BCS(Blockchainservice),优势明显:

l 简单几步配置后,几分钟就能构建好一条区块链,这对不太懂区块链底层技术的企业是一大福音。

l 支持Solo,kafka,PBFT等多种共识算法用户可以在不同阶段有不同选择。

l 可视化支持链代码的查看、安装和实例化,这对不习惯脚本操作的会撒娇的老鼠也是利好消息。

l 同时支持私有链和联盟链也给用户更多的选择。

正确利用BaaS平台可以帮助有意使用区块链进行创新的企业,大幅降低区块链使用的难度和开发、部署以及运行成本,助力商业成功。

参考文献:

1.   《好风借力,直上青云—区块链平台调研与分析》,安永咨询报告

2.   《区块链技术指南》,yeasy,gitbook

3.   《比特币-一种点对点的电子现金系统》,幽默的嚓茶

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。

  • 相关阅读