前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >区块链技术的本质是分布式数据库

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

作者头像
yuanyi928
发布于 2018-04-02 03:51:32
发布于 2018-04-02 03:51:32
2.5K0
举报
文章被收录于专栏:EAWorldEAWorld

《当微服务撞上区块链系列微课分为: 1、区块链的业务价值是通过数据共享降低信任成本 2、区块链的本质是分布式数据库(本文) 3、区块链与微服务是天生的一对

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

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

一、从分布式数据库的基本概念理解区块链技术

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

1、分布式数据存储

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

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

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

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

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

2、点对点可靠传输

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

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

3、智能合约:触发器与存储过程

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

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

4、数据安全

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

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

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

二、理解区块链技术常见的几个困惑

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

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

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

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

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

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

困惑3:应用区块链技术不一定必须有矿工来挖矿

初次接触区块链技术,矿工/挖矿这个概念让人非常费解:

(1)为什么一定要挖矿?

(2)为什么要给记账成功的节点奖励比特币来鼓励记账?

(3)非比特币的业务中如何鼓励记账?

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

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

困惑4:目前应用区块链技术不是去中心,而是多中心

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

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

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

三、总结

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

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

焦烈焱

EAII-企业架构创新研究院 常务理事

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 EAWorld 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
区块链技术入门详解
原文地址:https://blog.csdn.net/u012562943/article/details/60779241
CDA数据分析师
2018/07/30
1.5K0
区块链技术入门详解
区块链的业务价值是通过数据共享降低信任成本
《当微服务撞上区块链》系列微课分为: 1、区块链的业务价值是通过数据共享降低信任成本(本文) 2、区块链的技术核心是分布式数据库 3、区块链与微服务是天生的一对 区块链技术脱胎于比特币,2014年左右
yuanyi928
2018/04/02
1.4K0
区块链的业务价值是通过数据共享降低信任成本
区块链技术的安全价值与局限性解析
我们正站在新变革来临的边缘,互联网正在经历去中心化的阶段。经过了20年的科学研究,在密码学领域和去中心化计算网络上都产生了新的进展,带来诸如区块链技术(blockchain)之类的前沿技术,而这些技术可能潜含着从底层的改变社会运转方式的力量。 5月26日,美国国防部宣布与加密通讯开发商ITAMCO签署合同,共同开发用在美国军方的基于区块链的创新应用——一款“安全,不可侵入的消息传递、交易平台”。据称,这项合作计划能够为美国军方更安全地在总部和地面部队之间的通讯、专员及五角大楼之间的情报传递提供安全可靠的
FB客服
2018/02/26
1.7K0
区块链技术的安全价值与局限性解析
区块链基础知识与关键技术
最近在上 HKU 的<COMP7408 Distributed Ledger and Blockchain Technology>课程,对区块链的基础概念有了更系统的认知,结合之前上过的北京大学肖臻老师《区块链技术与应用》公开课,深知区块链知识体系之庞大,打算更新系列文章对区块链、比特币、以太坊等进行系统的知识梳理,如有错漏,欢迎交流指正。
pseudoyu
2023/04/11
7080
区块链基础知识与关键技术
区块链技术原理
随着互联网技术的不断发展和应用,数据的数量和价值也在不断增长,然而如何保护数据的安全和隐私,如何有效地管理和交换数据成为了一个日益重要的问题,区块链技术作为一种新兴的分布式数据库技术具有去中心化、安全和透明等特点,在数据管理和交易方面具有广泛的应用前景。本文将从区块链技术的基本概念、工作原理等方面进行介绍和概述,通过对区块链技术的深入了解,读者可以掌握其基本原理和应用方法为未来的区块链技术应用和创新提供帮助和指导
Al1ex
2023/08/10
4910
区块链技术原理
区块链技术简介(一)
短短几天,“区块链”成为一大热词。“把区块链作为核心技术自主创新重要突破口”,“加快推动区块链技术和产业创新发展”。
葆宁
2022/01/06
5010
区块链技术简介(一)
区块链技术的相关知识
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
用户5777378
2019/07/08
1K0
区块链技术的相关知识
区块链技术沙龙最全回顾:我们需要做怎样的区块链?
导读:在诸多新技术付诸应用之后,越来越多的技术从业者开始发现,似乎摩尔定律已经开始失灵了,两年的周期远远跟不上技术和信息爆炸的速度。但与此同时,我们却发现另一个定律出乎意外的开始在科技圈里盛行,那就是丛林法则。狼性文化也好,剩者为王也好,云计算、人工智能、再到区块链等技术无不在彰显一个亘古不变的真理,适者生存。 那么如今大为火热的区块链技术是如何适应当今的互联网环境的呢?从无到有,从疯狂到理智,从虚拟到价值,区块链的发展正在逐步走上正轨。攻克了性能、去中心化、数据安全等诸多难关之后,区块链已经变得越发
腾讯技术工程官方号
2018/10/09
1.2K0
区块链技术沙龙最全回顾:我们需要做怎样的区块链?
区块链技术体系,快捷学习路径?
这两年,数字货币和区块链很火。年初写过一些区块链与比特币的文章,反响也很不错。不少网友催我继续写区块链,我在这个方向未曾深耕,也不敢造次,结合自己的经验,写写区块链涉及的技术体系,以及学习区块链的途径和方法。
架构师之路
2018/07/31
9570
赤链——区块链底层技术革命
区块链至今为止发展了近10年的时间,尤其这两年得到全球范围内无论政府还是银行或者商业等等广泛认同,并大力推动区块链的应用和落地。目前以比特币和以太坊为代表的公有区块链技术得到快速的发展,作为新的技术应用这两种技术也逐步暴露出先天的缺陷:易被攻击、交易并发量瓶颈导致交易拥塞,代币通过挖矿方式产生而带来资源的严重浪费,同时还因为矿工联盟的壮大导致利益分配冲突从而产生认为的操控现象导致出现区块链分叉,并在未来出现持续的分叉导致区块链逐步产生更为复杂和严重的源于技术和矿工联盟利益的大规模的矛盾,从而导致区块链的崩溃
企鹅号小编
2018/03/05
2.1K0
赤链——区块链底层技术革命
【区块链丨主题周】区块链信用机制与应用场景介绍
将有意义的事件记录下来,是形成人类文明的重要内容之一。《史记》生动地记录和展开了古代社会人们生活广阔的画面,历史价值弥足珍贵。如果从5000年前开始,人类就将事件记录下来,并且不能篡改、没有丢失,那么追溯早期人类的社会生活状况就无须现代的考古和历史学研究了。
博文视点Broadview
2020/06/11
1K0
【区块链丨主题周】区块链信用机制与应用场景介绍
让价值流动——区块链跨链技术
区块链共识机制形成了价值,价值互联网里价值流动的该如何实现? 跨链技术的产生 加密数字货币的区块链公网野蛮生长的同时,处于交易性能、容量规模、隐私保护、合规监管的考虑,联盟链和私链技术被商业机构特别是金融机构广泛采用。联盟链和私链的方式从一定程度违背了区块链去中心价值和信任体系,也让区块链里面的数字资产不能再不同的区块链间直接转移,主动或被动地导致了价值孤岛,联盟链和私链的局限性令各种连接不同区块链的跨链技术开始应运而生。 目前区块链应用越来越丰富,上面的资产越来越多,如何把每种数字代币比喻成一个价值孤岛,
rectinajh
2018/05/17
1.4K0
区块链技术中的矛与盾
作为一种分布式账本技术,区块链系统记录所有的交易信息,并在所有参与者之间进行共享。系统的每个参与方都可以拥有账本的相同副本、验证每一笔交易。毫无疑问,相比于传统的中心化系统,区块链技术为业务提供了更高的透明度。
bengbengsu
2022/04/26
4590
区块链2.0-从比特币跳水说起
近期虚拟币市场可谓风波不断,就在此文书写的当天,部分比特币交易平台出现了从上次跳水后价格继续下跌10%以上的窘境... 近期政策回顾 8.30-9.3 三大交易平台暂停ICO交易业务 9.4 央行等七部委紧急叫停ICO交易 9.8 监管层强制关停 中国告别比特币交易所 9.2-12 多家比特币交易平台提高手续费 9.14 16点-18点 消息称比特币交易平台将关停 上海已经通知 9.14 19点 比特币中国9月底停止所有交易 关停消息基本坐实 严峻的形势下 近一段时间的政策可以看出,国家正在着手控制
Rainbond开源
2018/05/31
5680
又见区块链
一、区块链 1.1区块链是什么 关于区块链有着不同的定义,有的是从技术的应用层面,有的是从技术层面,这里我根据不同的解释,汇总出了一个技术层面上的定义 区块链的本质是一个分布式数据库,每一个节点的数据
magicsoar
2018/02/06
1.1K0
又见区块链
区块链与联邦学习的研究
2008年10月,化名为“中本聪”的学者在密码学论坛上公开了《比特币:一种点对点的电子现金系统》一文[1],提出了利用PoW和时间戳机制构造交易区块的链式结构,剔除了可信第三方,实现了去中心化的匿名支付。比特币于2009年1月上线并发布创世块,标志着首个基于区块链技术应用的诞生。2010—2015年,比特币逐渐进入大众视野。2016—2018年,随着各国陆续对比特币进行公开表态以及世界主流经济的不确定性增强,比特币的受关注程度激增,需求量迅速扩大。事实上,比特币是区块链技术最成功的应用场景之一。2015年12月,英国政府发布了《分布式账本技术:超越区块链》[2],预测区块链将引起新一轮技术变革,建议加快区块链理论推广与应用开发进程。我国工信部于2016年10月发布了《中国区块链技术与应用发展白皮书(2016)》[3]。国务院在《“十三五”国家信息化规划》中将区块链列入战略性前沿科技之一。同年,世界经济论坛也对区块链在金融场景下的应用进行预测分析,认为区块链将在跨境支付、保险、贷款等多方面重塑金融市场基础设施。
全栈程序员站长
2022/10/04
1.6K0
区块链与联邦学习的研究
相关推荐
区块链技术入门详解
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文