区块链技术的本质是分布式数据库

  是一个分布式的记账簿区块链技术的数据共享,备多个副本交易记录具,布式数据存储的问题因此首先要解决分。

  的基本单元是区块1)区块链存储,链式结构区块采用,知道自己前一个区块(前一行记录)是什么即新增的区块(类似数据库一行记录)都,追溯到根可以一直,区块的哈希值区块的标识是,了业务产生的轨迹同时链式结构保留,根据前面的记录做校验可以在新增交易的时候,内容不容易篡改保证了区块的。

  roof of Stake)方式于是就产生了权益证明(POS P,则达成共识的方式是一种通过业务规;zantine Fault Tolerance)方式实用拜占庭容错(PBFT Practical By,则达成共识的机制是一种通过技术规。有链上在公,是一种最主要的共识方式工作量证明(POW)还,易取代不容,盟链上但在联,据自己的情况完全可以根,共识方式出来创造出新的。据这一想法我们就根,创造过共识算法在特定业务中,存储的一致性问题解决分布式数据,会再展开说以后有机。

  说来这样,、鼓励记账这几件事都用挖矿来解决了比特币实际上把共识算法、货币属性,实精妙思路确。是但,联盟链中就不一样了在业务规则不同的,效的共识算法外除了有其他更高,奇缺资源不需要,对记账做鼓励不需要专门,核心企业之间的契约因为必须记账已经是,段保证数据的同步可以通过技术手,计等能力支持审,需要挖矿了自然就不。

  提到上文,来是 2014 年左右的事情区块链技术从比特币中独立出,链的案例都是比特币此前每每举出区块,用造成了很多误解给区块链技术的应。解区块链技术我建议先了,比特币再了解,链的业务场景先理解联盟,链的业务场景再了解公有,链的一种大规模延展公有链看作是联盟,,一些弯路可以少走。

  与微课直播及讨论如需加入微信群参,公众号eaworld请发送您的微信号至此。

  一组技术的组合区块链技术是,布式的记账簿既然是一个分,可靠传输问题就要解决数据。节点)、客户端与记账节点(信任节点)之间的数据传输包括记账节点(信任节点)之间、非记账节点(非信任。们的方案中在以前我,2P方式解决数据传输问题往往通过可靠消息或者P,于区块链技术中这些技术也被用。

  块链技术的一个应用困惑1:比特币是区,有内容都归结为区块链技不能把比特币应用的所术

  文中在一,链技术的商业价值我论述了应用区块,更适合采用区块链技术有在多方参与的场景下,可靠记录、(3)不可篡改、(4)多方透明几个特性也提到了区块链的技术特征:(1)多副本、(2),总结下来上述特性,链技术后采用区块,构如下图所示应用技术架,看出可以,对应用而言区块链技术,(估计看到我这个结论就是一个分布式数据库,要拍过来了很多砖就,同时继续看)请大家拍砖的,一说来我一:

  下数据存储性能不高困惑2:公有链情况,可以远高于公有链但联盟链的性能,数场景的要能满足多求

  角度来看从数据的,种分布式数据库区块链本质是一,式存储结构不仅解决了分布式数据存储问题这里的“分布式”是指区块链技术利用链,分布式一致性问题也解决了存储时的。簿保证数据可靠传输和访问区块链技术利用分布式记账,合约来编程和操作数据利用可自动执行的智能。以所,认为我,库来理解区块链基于分布式数据,见的一些困惑和误区认清区块链技术常,个比较正确的理解方式可以让大家对区块链有。

  一个理想去中心是,有人问经常,么好处?真的能去中心吗?后来为什么要去中心?去中心有什,链的场景时发现我深入研究联盟,中心(这又是比特币惹的祸实际的业务场景大多是多,去中心)他真的想,企业联盟方式例如上述的,心企业就是多中心几个建立联盟的核,一个新的中心他们共同成为。立新的中心传统方式建,清算机构的方式往往通过建立,立中心的成本降低了而区块链技术让建。

  例子举个,支付的联盟链中在一个小企业,某银行、企业A核心企业包括,业提供信贷业务为A的上下游企,交易的数据对于所有,业A都是可见的银行和核心企,记账节点他们拥有,加盟企业对于其他,记账节点只拥有非,有全部的数据他们虽然也,自己相关的数据但是只能看到。

  说明的是但必须,务场景下在真实业,据都记录在记账簿中不可能把所有的数,保存在自己的系统中部分业务数据还是要,业务数据与区块链的记账簿保持一致这就还需要在技术框架上做到本地,链技术整合时会具体阐述后面微服务架构与区块,之总,自身数据之间的一致区块链平台只能保证,链平台保证数据一致性业务不能完全依赖区块。

  币应用提出的一个概念区块链技术是基于比特,技术的一个集成式创新他是一个融合了多种。不仅仅局限在比特币上目前区块链的应用早已。“区块链”这个词时人们在谈论或使用,术的商业应用有时候是指技,术实现本身有时是指技。

  块链节点都是记账节点困惑5:不是所有的区,来进行数据同步而很多节点仅仅用已

  链技术比和区块,念显然更容易被理解分布式数据库的概,的一些基本概念出发我就从分布式数据库,的技术实现理解区块链,存储过程与触发器(智能合约)、数据安全这些概念包括数据存储、点对点可靠传输、:

  定条件满足的情况下智能合约是指当一,行的数字化合约可以被自动执。一特性实现这,发器和存储过程完成的在数据库中就是由触。行的应用架构中虽然在目前流,写在存储过程中都不建议把逻辑,程还是常用的工具但触发器和存储过,相关的运维活动中尤其在数据迁移。就是触发器和存储过程区块链技术中智能合约,箱中运行的脚本他是一个在沙,业务中的业务逻辑用于执行区块链,于各种检查也可以用。

  有链上在公,法逾越的问题这是一个无,要求不敏感的业务只能从事实时性。是但,盟链中在联,参与方并不多由于链中的,个节点都记账也不需要每,能更高的共识机制就可以使用一些性,的PBFT例如前面说。一种全对等的算法我们曾经尝试过,更高的性能可以支持。

  模式这种,据库设计也会采用我们在传统的数,表的形式例如拉链,nsert而不是Update)模式每次对数据的更新都采用追加( I,时间和是否生效标识有起始时间、失效,交易历史保持全部。了一种底层固有模式区块链把这一点变成,在技术上保证链条的正确性加入了哈希、时间戳等机制,常有价值因此非。

  每个节点都需要记账多中心就意味着不是,心节点负责就可以了记账的工作由几个中,间是数据同步的关系其他节点与记账节点,点上也有全部数据也就是非记账节。点一般处在加盟企业联盟链中非记账节,见性的要求由于数据可,据并不是都可见的非记账节点中的数,做为一种法律依据但是这一副本可以,数据的成本提高了篡改。

  布式存储最大的问题数据一致性问题是分,发越高而并,率就越大冲突的概。每秒交易数(TPS)不高区块链技术之所以能支持的,机制比较复杂主要是共识,刻意为了降低并发性或者说共识机制就是,冲突的概率减少数据。

  链技术后采用区块,架构是什么应用技术,架构的关系与微服务,微课我会为大家逐一详细介绍现有应用如何进行迁移?下节。

  是透明的交易数据,全部透明但不是,对透明而是相,术的一个难点这是区块链技,)如何保护隐私关键有二:(1,己可见的数据仅仅能看到自;钥分配问题(2)密,点会被分配一个新的密钥例如新加入链中的一个节,以前链中存储的信息如何用这个密钥解读。不可见可见与,个矛盾这是一,个完美的方案理论上没有一,做密钥管理、如何同态加密等方式做解读这里我不对区块链技术如何加密、如何,而不是技术手段规避这一问题而是讲讲如何通过业务方法。

  例子举个,笔支付时A产生一,在数据链上进行检查可以通过智能合约,无法支付这笔交易如果发现A的余额,止这笔交易就可以中。过程相比和存储,行在沙箱之中智能合约运,API 做调用不能对外部 。较好理解这也比,外部调用如果允许,自身的数据一致性就可能无法保证,这种缺陷如何弥补后面我们会讲到。约并不支持 SQL 语法美中不足的是目前的智能合。

  、多中心的存储方式2)既然是分布式,的分布式一致性问题就必须解决存储时。身比特币应用中在区块链的前,W Proof-Of-Work)方式解决这一问题的方式是工作量证明(PO,获得指定成果即通过工作以,曾经付出的努力用成果来证明。时第一个比较迷惑的地方这也是接触区块链技术,用工作量来证明我为啥一定要,链技术从比特币中独立出来后是不是还有其他方式?区块,归结为共识问题大家把这一问题,成共识的一种方式工作量证明是达,清晰多了这样就。

  区块链和比特币混淆造成的这个困惑归根结底还是把。说过前面,POW)达成共识的机制挖矿是通过工作量证明(,就取得了记录权挖矿能力愈强。特币的货币属性更重要的是比,家信用(例如纸币)发行货币要么靠国,源(例如黄金)要么靠奇缺资,了防止滥发比特币为,为一种奇缺资源就需要用算力做。

  链技术的一头雾水从刚刚接触区块,逐步清晰到概念的,应用的研发再到区块链,多困惑经历很,个常见的困惑这里列出几。

  加入普元信息2001年,CTO现任,术与产品的运营工作全面负责普元信息技,略的重要决策人公司技术发展战。究方面有二十余年的经验焦烈焱在企业技术架构研,、 SOA与云计算技术研究与实践长期致力于分布式环境的企业计算。一系列核心产品的研发工作加入普元信息后组织完成,平台、以复杂事件处理/数据治理/作业调度为核心的大数据平台包括SOA应用平台、以BPM &/ESB为核心的业务集成,行等多家大型企业技术平台的规划与研发期间主持了中国工商银行、中国建设银。线图—实施版》一书著有《SOA中国路。

  明显很,自己的部分隐私权加盟企业放弃了,生意的机会但也得到了,业是可以接受的这种方式加盟企,银行提供经营数据一样就好比贷款企业要向。全问题数据安,很难解决在技术上,段是可以规避的但通过业务手,联盟链的重要原因这也是我们看好。

分享: