比特派钱包app下载地址|区块链技术不包括
区块链的四大核心技术 - 知乎
区块链的四大核心技术 - 知乎切换模式写文章登录/注册区块链的四大核心技术币币学堂霏语美国著名金融院校毕业,十年看盘经验。手把手教你画线看K一般来说,区块链的核心技术主要有四个部分,分别是共识机制、分布式存储、智能合约以及密码学。每个技术,在整个区块链系统里都有它们各自的作用。一、共识机制 共识机制,其实就是我们之前所说的挖矿原理,因为区块链的分布式网络中,没有中央权威。因此,网络需要一个决策机制来促成参与者达成一致。而共识机制就是一种协调大家处理数据的机制。因为每个人都可以参与的话,记录下来的数据这么多,到底该用谁的呢?所以,共识机制就决定了这些数据中,谁获得数据的记账权。共识机制主要起到了数据的维护作用。目前比较常见的共识机制有:工作量证明 PoW(Proof of Work)、权益证明(Proof of Stake)以及委托权益证明(Delegated Proof ofStake)。二、分布式存储 分布式储存,简单来说,就是一种将数据分散存储到多个地方的数据储存技术,而且存储的数据可在多个参与者之间共享,人人可以参与,并具有相同的权力,一起记录数据,主要起到了数据储存的功能。 分布式存储是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在网络中的各个角落。所以,分布式存储技术并不是每台电脑都存放完整的数据,而是把数据切割后存放在不同的电脑里。就像存放 100 个鸡蛋,不是放在同一个篮子里,而是分开放在不同的地方,加起来的总和是 100 个。对于比特币来说,它的交易记录必须要有地方存放,不然没人知道今天有哪些人做了交易,同时根据去中心化的思想,这些交易记录不能够只存在一台电脑里面,那么就只能存放在世界上所有的电脑里面(前提是电脑里面安装了比特币软件)。这样做的好处是:虽然每个人的电脑硬盘容量有限,但是所有人的电脑硬盘加起来容量几乎是无限的,而且就算你通过黑客手段修改了自己计算机里面的交易记录,但是你没法修改全世界每台电脑的交易记录。 从表面上理解,上面说的这种存储方式很粗暴——每台电脑都存放世界上所有人的交易数据。但其实对于比特币来说,只有一些节点才会存放世界上所有人的交易记录,这些节点往往是那些挖矿的矿工,只有他们的电脑才能完整的记录下世界上所有的交易记录,大家不用担心矿工修改记录,因为世界上的矿工有很多,而且几乎相互都不认识。同时他们修改记录需要付出的代价非常大,几乎没有人能承担这个成本。三、智能合约 智能合约,是一种旨在以信息化方式传播、验证或执行合同的计算机协议。有点像一种大家把规则都制定好,由机器自动去执行的技术。因为网络中存储和维护好的数据,总需要有人去执行的,而智能合约正好可以在没有第三方的情况下,也能进行可信的交易,而且这些交易可追踪且不可逆转。所以,智能合约在系统中,主要起到了数据的执行作用。 智能合约(Smart contract)是一种以计算机语言编写、由计算机自动验证和执行的代码化的合同,是纸质合同的数字化形式。智能合约概念于 1994 年由计算机科学家、法学家及密码学家尼克 · 萨博(Nick Szabo)首次提出。他对智能合约的定义是“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。”智能合约概念面世后,自然面临如何落地的问题:第一,谁来执行合约?显然,签署合约的双方不应成为执行人。这带来一系列问题:如何激励他为你执行合约而不是费?他如何保持公正和中立?他缺位、消失或者拒不执行怎么办?第二,如何通过计算机程序支付现金和资产?当时技术条件尚未成熟,无法解决上述问题,因此智能合约迟迟无法变为现实。数字货币和区块链诞生以后,上述问题得以顺利解决:1. 执行智能合约的机制:去中心化网络+共识机制+受激励的矿工2. 价值转移功能:内生可编程的数字货币3. 去中心化的永不停机的计算网络,保持中立、公平、永远工作区块链不仅内嵌数字货币系统,而且可编程可扩展,具有去中心化、不可篡改、过程透明、可追踪等优点,天然适合于智能合约。 从此,智能合约才从理论构想变为落地的现实,从而插上了飞速发展的翅膀。区块链给智能合约提供了最佳的技术土壤,而智能合约功能也大大扩展了区块链的应用前景。目前一般认为,智能合约是基于区块链技术的自动执行的数字合约形式。四、密码学 密码学,是一种特殊的加密和解密技术,区块链系统中,应用了多种多样的密码学技术,包括哈希算法、公钥私钥、数字签名等等,以此来保证整个系统的数据安全,并且证明了数据的归属。有了它我们才能在网络中证明“我是我”,才能证明这是我的比特币而不是你的比特币。所以,当一笔数据产生后,会由共识机制进行数据维护,通过分布式储存记录在链上,然后交由智能合约去执行,最后由密码学保障整个体系的安全,大家各司其职,共同构建出了整个区块链系统。发布于 2021-08-18 02:02区块链(Blockchain)区块链价值区块链技术赞同 281 条评论分享喜欢收藏申请
什么是区块链,区块链的诞生,定义,核心技术,分类是什么? - 知乎
什么是区块链,区块链的诞生,定义,核心技术,分类是什么? - 知乎切换模式写文章登录/注册什么是区块链,区块链的诞生,定义,核心技术,分类是什么?sailman区块链的诞生 公认的最早关于区块链的描述见于中本聪所撰写的比特币白皮书,但在白皮书中并没有明确提出区块链的定义和概念(主要是在讨论比特币系统),“区块链”这个名词实际上是后来人们总结归纳后提出的。中本聪虽然没有直接提出区块链的概念,但比特币确实是第一个应用区块链技术的项目,可以说区块链是随着比特币的出现而诞生的。因此要讲区块链的诞生,就不得不从比特币的历史说起。 大家都知道比特币是中本聪在2008年提出的,但对其更早期的历史可能就不太清楚了。实际上比特币的诞生过程中,一个神秘团体起到了很大的作用,中本聪在设计比特币时大量借鉴了该社区的研究成果。这就是“密码朋克”(Cypherpunk),一个由密码学和计算机天才组成的交流小组。“密码朋克”的成员里可谓大咖云集,囊括了阿桑奇(维基解密创始人)、科恩(BT下载发明者)、伯纳斯·李(万维网发明者)等一众牛人,当然还有比特币发明者中本聪。 “密码朋克”提倡使用加密算法来保护个人隐私,反对政府和公司滥用个人数据,信仰自由主义。同时也是数字货币最早的传播者,在其电子邮件组中,常见关于数字货币的讨论,并有一些想法付诸实践。比如大卫·乔姆、亚当·贝克、戴伟、哈尔·芬尼等人在早期数字货币领域做出了大量的探索。比特币并不是数字货币的首次尝试。据统计,比特币诞生之前,失败的数字货币或支付系统多达数十个。正是这些探索为比特币的诞生提供了大量可借鉴的经验。 近三十年来,加密数字货币发展迅速,经历了多次演进,包括 e-Cash、HashCash、B-money 等。1983年,David Chaum最早提出e-Cash,并于1989年创建了Digicash公司。e-Cash是首个匿名化的数字加密货币。1997年,Adam Back发明了HashCash,以解决邮件系统中DoS 攻击问题。HashCash首次提出工作量证明机制(Proof of Work,PoW),该机制在日后的区块链项目中被广泛采用。1998年,Wei Dai提出了B-money,将PoW引入数字货币生成过程中。B-money可以算作去中心化数字货币的先驱,但是很遗憾的是,其最终未能设计落地。上面这些数字货币都或多或少的依赖于一个第三方系统的信用担保,很大程度上影响到了项目的成败。直到2008年比特币横空出世,将PoW与分布式存储、密码学、博弈论等结合在一起,首次从实践意义上实现了一套去中心化的数字货币系统。 比特币项目落地之后,吸引来了大量的挑战者和改进者。包括大量的竞争货币(山寨币)和底层技术平台(公链),这些在后面的文章会讲到。随着采用比特币底层技术的项目越来越多,慢慢就把“区块”和“链”这两个词合并起来变成一个词:“区块链”(BlockChain)。所以现在大家都用区块链来指代分布式存储、链式数据结构、非对称加密、共识算法、P2P网络等一系列技术的组合。 区块链的定义 那么区块链的准确定义是什么呢,Wikipedia上给出的说明比较冗长,简单归纳下:区块链是一种分布式数据库技术,通过维护数据块的链式结构,可以维持持续增长的,不可篡改的数据记录。当然笔者觉得维基百科这个释义是有些问题的,因为它更多的是强调区块链作为数据库的属性,而没有点明其核心价值,即以去中心化的方式解决多方互信和价值转移的问题。个人认为更好的定义应该是这样:区块链是一种去中心化的价值传输协议,通过共识来验证并记录数据,具有信息透明、可溯源和不可修改的特点。它由一系列技术组合而来,是制造信任、转移价值的底层基础设施。区块链的核心技术 区块链的核心技术包括:块链数据结构、分布式存储、非对称加密、共识算法、P2P网络、智能合约等。可以简化并抽象成五层技术架构。今天先简单解释下这些核心技术,后面的文章会深入挖掘技术背后的缘由和价值。 块链数据结构:将数据存储在一定容量的区块中,每个区块分为区块头和区块体(含交易数据)两个部分。区块头中包括前一区块的哈希值(PrevHash)和用于计算挖矿难度的随机数(Nonce);区块体则包含经过加密的具体交易信息。通过头哈希和时间戳将区块首尾连接起来,形成链条式的结构。分布式存储:网络中的每个节点都可以(不是一定)选择存储完整的数据,并依据出块情况对节点本地数据进行实时更新。 避免了中心化存储带来的安全和单点崩溃问题,同时结合共识机制来保证数据的一致性。非对称加密:包含两个密钥:公钥(publickey)和私钥(privatekey)。它们是成对存在的。公钥用来对数据进行加密和验签,私钥用来对数据进行解密和签名;一般公钥是公开的,私钥是自己保存,相对了传统的对称加密而言更具有安全性,是一种高级加密方式,常见的有RSA、ECDSA等。P2P网络:负责交易数据的网络传输和广播、节点发现和维护。网络中没有客户端或服务端的概念,只有平等的同级节点,每个节点既是客户端也是服务端。 信息会由发起节点开始向临近节点进行广播,收到信息的节点又会进行转发,从而实现指数级传播到全部网络节点。共识算法:也叫共识机制,主要用来解决各节点数据一致性和有效性问题。通过一套大家认可的验证方式对网络中的交易进行验证,验证通过后交易方可生效。同时也普遍作为发行Token的一种机制,常见的有POW、POS、DPOS、PBFT等算法。 智能合约:指的是一段写在区块链上的代码,一旦某个事件触发合约中的条款,代码即自动执行。其保证在没有第三方的情况下让参与方履行承诺(交易),履约过程是完全自动且不可逆转的。 区块链的分类 目前区块链主要可以分为三类,即公有链、联盟链和私有链。这是根据其开放(去中心化)程度来进行划分的,也是被大多数人认可的。 公有链:对所有人开放,任何人都可以参与的区块链,完全去中心化不受任何机构控制。其应用场景十分广泛,目前比较成熟的落地项目就是数字货币。 联盟链:被多个组织或个人构成的联盟控制,由指定节点进行共识验证的区块链,属于多中心化模式。主要应用于行业内多个机构之间的业务流转,例如供应链金融、商品溯源等。私有链:完全被单独的个人或某个组织控制记账权限的区块链,属于完全中心化模式。主要应用于企业内部的审计和数据管理等场景。 为什么会演变出上述的三种链,这里就不得不提到区块链领域的三元悖论(类似于蒙代尔三角),即区块链不可能同时满足去中心化、安全、高效这三个特性。必须弱化一者才能满足其它两点特性,而安全又是必须得到满足,于是人们只能在去中心化和高效当中进行取舍,逐步分化出了这三种类型的区块链。公有链实现了完全的去中心化和安全,所以性能上就比较差;联盟链为了商业应用,在安全的前提下要大幅提高性能,就不得不通过一个多中心授权的方式来管理节点,以提高共识效率,实现了多中心化;私有链考虑到内部使用的特点,把安全和效率做到了极致,所以必然依赖单个中心进行处理,实现了完全中心化。当然随着区块链技术的不断发展,三元悖论或许有被打破的可能,值得期待。区块链的应用场景 现在区块链技术还处于早期阶段,大量项目并未真正落地,但这波浪潮似乎已经不可阻挡。那么我们就来看看当前和未来可能落地区块链技术的应用场景吧。下面为大家总结了包括金融、物流、征信确权、物联网、资源共享、公益慈善、投票竞猜这七大典型应用领域。 金融领域:除了目前火热的数字货币之外,区块链在金融行业还有很多应用场景。比如证券交易结算、资产数字化、跨境支付、众筹投资和互助保险等,这些场景大多都是通过采用区块链技术来取缔中介方,以达到降低费用成本和提高处理效率的核心目的。物流领域:主要应用于供应链方面,基于区块链数据在交易各方之间的公开透明,供应链条可形成一个完整且流畅的信息流,帮助参与各方及时发现流程中存在的问题,进而提升供应链运转的整体效率。同时,利用区块链可追溯的特点,可以进行商品防伪和质量溯源,打击商品流通过程中假冒伪劣的问题。 征信确权:在征信领域采用区块链技术,既能提高征信的公信力(征信信息无法被篡改),还能显著降低征信成本,提供多维度的精准大数据。另外区块链技术还可以用于产权、版权等所有权的管理和追踪。利用数据不可篡改和不可伪造的特性, 可以在区块链网络上自由进行所有权的转移和交易。 物联网:当前的物联网环境中,所有的设备都需要通过云服务器连接,对中心化的网络管理架构依赖性较强,维护成本也随着物联网网络规模的扩大而显著增加。 采用区块链技术的话,可以使物联网体系中每个设备都作为一个独立节点运行,将计算和存储需求分散到全网各个节点中,有效防止网络中的任何单一节点故障或被攻击,所带来的整个网络崩溃和信息泄露的风险。 另外在工业物联网种,还可以动态掌握网络中各种生产制造设备的状态,提高设备的利用率和维护效率。 资源共享:相比于依然中间方的资源共享模式(Airbnb、Uber等),基于区块链的模式可以更直接地连接资源的供给方和需求方,其安全、透明、不可篡改的特性有助于减小摩擦。当然其效率在某些高频共享场景下会降低用户体验,但是对低频的场景确实非常适用,比如互助社区这种模式。发布于 2020-06-01 09:39区块链革命(书籍)区块链价值区块链(Blockchain)赞同 1添加评论分享喜欢收藏申请
区块链(数据结构)_百度百科
数据结构)_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心区块链是一个多义词,请在下列义项上选择浏览(共12个义项)展开添加义项区块链播报讨论上传视频数据结构收藏查看我的收藏0有用+10本词条由中国科学院信息工程研究所 参与编辑并审核,经科普中国·科学百科认证 。区块链(英文名:blockchain [3-4] [7]或block chain [2][13])是一种块链式存储、不可篡改、安全可信的去中心化分布式账本 [1],它结合了分布式存储、点对点传输、共识机制、密码学等技术 [8],通过不断增长的数据块链(Blocks)记录交易和信息,确保数据的安全和透明性 [6]。区块链起源于比特币(Bitcoin),最初由中本聪(Satoshi Nakamoto)在2008年提出,作为比特币的底层技术 [1]。从诞生初期的比特币网络开始,区块链逐渐演化为一项全球性技术,吸引了全球的关注和投资[3]。随后,以太坊(Ethereum)等新一代区块链平台的出现进一步扩展了应用领域 [3-4]。区块链的特点包括去中心化、不可篡改、透明、安全和可编程性 [6] [8]。每个数据块都链接到前一个块,形成连续的链,保障了交易历史的完整性。智能合约技术使区块链可编程,支持更广泛的应用 [5]。区块链在金融、供应链、医疗、不动产等领域得到广泛应用 [5] [8]。尽管仍面临可扩展性和法规挑战,但它已经成为改变传统商业和社会模式的强大工具,对未来具有巨大潜力 [13-14]。中文名区块链外文名blockchain [3-4] [7]block chain [2] [11]定 义一种去中心化的分布式账本技术 [1]特 点一种去中心化的分布式账本技术,去中心化、不可篡改、透明、安全和可编程性 [1]分 类公有链、联盟链、私有链领 域金融、供应链、医疗、不动产等起源于2008年11月1日(被提出)2009年1月3日(创世区块诞生) [1] [3]创始人中本聪(Satoshi Nakamoto)典型区块链系统Bitcoin(比特币)、Ethereum(以太坊)、Libra/Diem、Litecoin、Monero、Dogecoin目录1区块链概述▪区块链的概念▪区块链的特征2区块链技术发展历史▪区块链技术发展脉络▪区块链技术发展历程3区块链的分类▪公有链▪联盟链▪私有链4区块链的架构▪数据层▪网络层▪共识层▪激励层▪合约层▪应用层5典型区块链系统▪Bitcoin▪Ethereum▪Libra6区块链技术▪共识机制▪智能合约7区块链安全问题▪分布式拒绝服务攻击▪延展性攻击▪女巫攻击▪路由攻击▪日蚀攻击▪反洗钱犯罪8区块链相关热点概念▪挖矿▪币圈▪矿圈▪数字货币9对区块链的误解▪误解1:区块链等于炒比特币▪误解2:区块链上的数据是绝对安全的▪误解3:区块链适合存储大量数据▪误解4智能合约是存储在区块链上的现实合约▪误解5:比特币跟硬币的性质是一样的▪误解6:比特币成不了主流货币是因为政府▪误解7:区块链可以应用于全行业10区块链的应用▪供应链金融▪资产交易▪司法存证▪智能合同▪溯源、防伪▪政府▪数字证书▪物流11相关政策与法律法规区块链概述播报编辑区块链(Blockchain)技术,自从在比特币(Bitcoin)白皮书《比特币:一种点对点电子货币系统(Bitcoin: A Peerto-Peer Electronic Cash System)》 [1]一文中被化名为中本聪(Satoshi Nakamoto)的作者提出以来,就受到许多关注且备受争议。有些人认为区块链是继蒸汽机、电力、互联网之后的颠覆性技术发明,将彻底改变整个人类社会价值传递的方式,甚至带来新一轮的科技革命 [3] [8] [37];而有些反对者则认为比特币乃至区块链是一个骗局,或是对其未来充满担忧 [9] [35-36]。近年来,随着比特币、以太坊(Ethereum)等加密货币的火热,区块链技术在全球范围内得到越来越多的关注。2019年10月24日,中共中央政治局就区块链技术发展现状和趋势进行第十八次集体学习 [38],此后,区块链技术更是吸引了举国上下的目光 [39]。区块链技术目前已经应用于多个领域,如金融、物流、食品安全等 [15] [21] [30]。尽管不少人对比特币的未来发展仍然充满疑虑,但大多数技术专家非常认可区块链技术的未来,认为其理念的推广与应用最终会超越加密货币,成为时代的热点和前沿技术 [16-17] [22] [37]。但是,与其火热的应用、受到广泛的关注度和蓬勃的发展相比,普通大众对于区块链的认知尚停留在很简单的层面。人们对于区块链的认识往往是局限于加密数字货币,或者是一项敬而远之、远离日常生活的高新技术 [27] [31]。总的来说,区块链技术建立了新的信任机制,允许各网络节点之间在没有权威节点的去中心化情况下达成可信共识,是一项从思想到技术的重大飞跃 [34]。区块链的概念中本聪在《比特币:一种点对点电子货币系统》一文中,并未给出“区块链”的具体定义,只是提出了一种基于哈希证明的链式区块结构,即称为区块链的数据结构。“区块链”一词也是来源于此,其中“区块”(Block)一词指代一个包含了数据的基本结构单元(块),而链(Chain)则代表了由区块产生的哈希链表。从狭义上来说,根据工业和信息化部2016年发布的《中国区块链技术和应用发展白皮书》所述,区块链技术是一种按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证不可篡改和不可伪造的分布式账本技术 [33]。从广义来说,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式 [25]。一般认为,区块链技术是伴随着以“比特币”为首的数字货币而出现的一项新兴技术,是一种以密码学算法为基础的点对点分布式账本技术,是分布式存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式 [23]。区块链包括三个基本要素,即交易(Transaction,一次操作,导致账本状态的一次改变)、区块(Block,记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识)和链(Chain,由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录)。区块链中每个区块保存规定时间段内的数据记录(即交易),并通过密码学的方式构建一条安全可信的链条,形成一个不可篡改、全员共有的分布式账本。通俗地说,区块链是一个收录所有历史交易的账本,不同节点之间各持一份,节点间通过共识算法确保所有人的账本最终趋于一致。区块链中的每一个区块就是账本的每一页,记录了一个批次记录下来的交易条目。这样一来,所有交易的细节都被记录在一个任何节点都可以看得到的公开账本上,如果想要修改一个已经记录的交易,需要所有持有账本的节点同时修改。同时,由于区块链账本里面的每一页都记录了上一页的一个摘要信息,如果修改了某一页的账本(也就是篡改了某一个区块),其摘要就会跟下一页上记录的摘要不匹配,这时候就要连带修改下一页的内容,这就进一步导致了下一页的摘要与下下页的记录不匹配。如此循环,一个交易的篡改会导致后续所有区块摘要的修改,考虑到还要让所有人承认这些改变,这将是一个工作量巨大到近乎不可能完成的工作。正是从这个角度看,区块链具有不可篡改的特性。分布式记账网络区块链中的区块模型示意图区块链的特征1.去中心化在中本聪的设计中,每一枚比特币的产生都独立于权威中心机构,任意个人、组织都可以参与到每次挖矿、交易、验证中,成为庞大的比特币网络中的一部分。区块链网络通常由数量众多的节点组成,根据需求不同会由一部分节点或者全部节点承担账本数据维护工作,少量节点的离线或者功能丧失并不会影响整体系统的运行。在区块链中,各个节点和矿工遵守一套基于密码算法的记账交易规则,通过分布式存储和算力,共同维护全网的数据,避免了传统中心化机构对数据进行管理带来的高成本、易欺诈、缺乏透明、滥用权限等问题。普通用户之间的交易也不需要第三方机构介入,直接点对点进行交易互动即可 [21]。2.开放性区块链系统是开放的,它的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统的信息高度透明。虽然区块链的匿名性使交易各方的私有信息被加密,但这不影响区块链的开放性,加密只是对开放信息的一种保护 [20]。在开放性的区块链系统中,为了保护一些隐私信息,一些区块链系统使用了隐私保护技术,使得人们虽然可以查看所有信息,但不能查看一些隐私信息 [20-21]。3.匿名性在区块链中,数据交换的双方可以是匿名的,系统中的各个节点无须知道彼此的身份和个人信息即可进行数据交换 [20]。我们谈论的隐私通常是指广义的隐私:别人不知道你是谁,也不知道你在做什么。事实上,隐私包含两个概念:狭义的隐私(Privacy)与匿名(Anonymity)。狭义的隐私就是别人知道你是谁,但不知道你在做什么;匿名则是别人知道你在做什么,但不知道你是谁。虽然区块链上的交易使用化名(Pseudonym),即地址(Address),但由于所有交易和状态都是明文,因此任何人都可以对所有化名进行分析并建构出用户特征(User Profile)。更有研究指出,有些方法可以解析出化名与IP的映射关系,一旦IP与化名产生关联,则用户的每个行为都如同裸露在阳光下一般。在比特币和以太坊等密码学货币的系统中,交易并不基于现实身份,而是基于密码学产生的钱包地址。但它们并不是匿名系统,很多文章和书籍里面提到的数字货币的匿名性,准确来说其实是化名。在一般的系统中,我们并不明确区分化名与匿名。但专门讨论隐私问题时,会区分化名与匿名。因为化名产生的信息在区块链系统中是可以查询的,尤其是在公有链中,可以公开查询所有的交易的特性会让化名在大数据的分析下完全不具备匿名性。但真正的匿名性,如达世币、门罗币、Zcash等隐私货币使用的隐私技术才真正具有匿名性。匿名和化名是不同的。在计算机科学中,匿名是指具备无关联性(Unlinkability)的化名。所谓无关联性,就是指网络中其他人无法将用户与系统之间的任意两次交互(发送交易、查询等)进行关联。在比特币或以太坊中,由于用户反复使用公钥哈希值作为交易标识,交易之间显然能建立关联。因此比特币或以太坊并不具备匿名性。这些不具备匿名性的数据会造成商业信息的泄露,影响区块链技术的普及使用 [18] [20-21]。4.可追溯性区块链采用带时间戳的块链式存储结构,有利于追溯交易从源头状态到最近状态的整个过程。时间戳作为区块数据存在的证明,有助于将区块链应用于公证、知识产权注册等时间敏感领域 [6] [19]。5.透明性相较于用户匿名性,比特币和区块链系统的交易和历史都是透明的。由于在区块链中,账本是分发到整个网络所有参与者,账本的校对、历史信息等对于账本的持有者而言,都是透明的、公开的 [6]。6.不可篡改性比特币的每次交易都会记录在区块链上,不同于由中心机构主宰的交易模式,其中心机构可以自行修改任意用户的交易信息,比特币很难篡改 [6]。7.多方共识区块链作为一个多方参与维护的分布式账本系统,参与方需要约定数据校验、写入和冲突解决的规则,这被称为共识算法。比特币和以太坊作为公有链当前采用的是工作量证明算法(PoW),应用于联盟链领域的共识算法则更加灵活多样,贴近业务需求本身 [20]。区块链技术发展历史播报编辑区块链技术发展脉络1.区块链1.0 1.0时代是以比特币为代表的虚拟数字货币时代,实现了数字货币的应用,包括支付流通等货币职能和去中心化的支付手段。比特币描述了一个宏伟的蓝图,未来的货币不再依赖于各国央行发行,而是全球统一的货币。2.区块链2.0 2.0时代是智能合约的时代,智能合约与数字货币结合在金融领域有着更广泛的应用场景,区块链实现的点对点操作避免了第三方的介入,可以避免环境、跨国、跨行、货币转换等问题,直接实现点对点的转账,提高了金融系统的效率。区块链2.0的代表是以太坊,以太坊提供了一个智能合约编程环境,用户通过开发智能合约实现了各种复杂逻辑,提供了广泛的商业、非商业应用场景。3.区块链3.03.0时代是指将区块链技术应用于金融之外行业的时代,区块链3.0被称为互联网技术之后的新一代技术创新,可以推动更大的产业改革。区块链3.0会涉及社会生活的各个方面,会在数据存储、数据鉴证、资产管理、选举投票等领域得到广泛应用,促进信息、资源、价值的流通和有效配置。区块链技术发展历程1.比特币产生之前(1970-2008年)1976年,Bailey W.Diffie和Martin E.Hellman发表了论文《密码学的新方向》 [11],论文覆盖了未来几十年密码学所有的新的进展领域,包括非对称加密、椭圆曲线算法、哈希等,该论文奠定了迄今为止整个密码学的发展方向,也对区块链的技术和比特币的诞生起到决定性作用。哈耶克出版了他人生中最后一本经济学方面的专著:《货币的非国家化》 [12]。该书提出的非主权货币、竞争发行货币等理念,是去中心化货币的精神指南。1980年,Merkle Ralf提出了Merkle-Tree这种数据结构和相应的算法。1982年,拜占庭将军问题由Leslie Lamport等提出,这是一个点对点通信中的基本问题。1982年,密码学网络支付系统由David Chaum提出,该系统注重隐私安全,具有不可追踪的特性。1990年,Paxos算法由Leslie Lamport提出,这是一种基于消息传递的一致性算法。1991年,Stuart Haber与W.Scott Stornetta于1991年提出利用时间戳确保数位文件安全的协议。1997年,哈希现金技术由Adam Back发明。哈希现金运用的一种PoW算法通过依赖成本函数的不可逆性,从而实现容易被验证但很难被破解的功能,最早应用于拦截垃圾邮件。1998年,戴伟于1998年发表匿名的分散式电子现金系统b-money,引入PoW机制,强调点对点交易和不可篡改特性,每个节点分别记录自己的账本。2004年,哈尔·芬尼推出了自己的电子货币,在其中采用了可复用的工作量证明机制(RPoW)。2.比特币的诞生与发展(2008-2010年)2008年9月,以雷曼兄弟的倒闭为开端,金融危机在美国爆发并向全世界蔓延。为应对危机,世界各国政府和中央银行采取了史无前例的财政刺激方案和扩张的货币政策并对金融机构提供紧急援助、这些措施同时引起了广泛的质疑 [45]。2008年11月1日,中本聪发布比特币白皮书。2008年11月16日,中本聪发布了比特币代码的先行版本。2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了比特币的第个区块——创世区块(Genesis Block),并获得了首批“挖矿”奖励——50个比特币。2009年1月11日,比特币客户端0.1版发布。2009年1月12日,第一笔比特币交易,中本聪将10枚比特币发送给密码学界活跃的开发者哈尔·芬尼。2009年10月5日,最早的比特币与美元的汇率为1美元=1309.03比特币,由一位名为“新自由标准”(New Liberty Standard)的用户发布 [45]。一枚比特币的价值计算方法如下:由高CPU利用率的计算机运行一年所需要的平均电量1331.5千瓦时,乘以上年度美国居民平均用电成本0.1136美元,除以12个月,再除以过去30天里生产的比特币数量,最后除以1美元。2009年12月30日,比特币挖矿难度首次增长,为了保持每10分钟1个区块的恒定开采速度,比特币网络进行了自我调整,挖矿难度变得更大。2010年5月22日,一个程序员用10000个比特币购买了两张比萨的优惠券。当时一枚比特币价值仅为0.005美分。后来很多的人将5.22日称为“比特币比萨日” [45]。2010年7月12日,比特币价格第一次剧烈波动,2010年7月12日到7月16日,比特币汇率经历了为期5天的价格剧烈波动时期,从0.008美元/比特币上涨到0.08美元/比特币,这是比特币汇率发生的第一次价格剧烈波动。2010年7月12日,GPU挖矿开始。由于比特币的汇率持续上升,积极的矿工们开始寻找提高计算能力的方法。专用的图形卡比传统的CPU具有更多的能量。据称,矿工ArtForz是第一个成功实现在矿场上用个人的OpenCL GPU挖矿的人。2010年7月17日,第一个比特币交易平台Mt. Gox成立。2010年8月6日,比特币网络协议升级。比特币协议中的一个主要漏洞于2010年8月6日被发现:交易信息未经正确验证,就被列入交易记录或区块链。这个漏洞被人恶查利用,生成了1840亿枚比特币,并被发送到两个比特币地址上。这笔非法交易很快就被发现、漏洞在数小时内修复,在交易日志中的非法交易被删除,比特币网络协议也因此升级至更新的版本 [33]。2010年10月16日,出现了第一笔托管交易。比特币论坛会员Diablo-D3和Nanotube于2010年10月16日进行了第一笔有记录的托管交易,托管人为Theymos。2010年12月5日,比特币第一次与现实的金融社区产生交集。在维基解密泄露美国外交电报事件期间,比特币社区呼吁维基解密接受比特币捐款以打破金融封锁。中本聪表示坚决反对,认为比特币还在摇篮中,经不起冲突和争议。2010年12月16日,比特币矿池出现,采矿成为一项团队运动,一群矿工于2010年12月16日一起在slush矿池挖出了它的第一个区块。根据其贡献的工作量,每位矿工都获得了相应的报酬。此后的两个月间,slush矿池的算力从1400Mhash/s增长到了60Ghash/s。3.对比特币的质疑与关注(2011-2014年)2011年2月9日,比特币首次与美元等价 [3]。2011年3月6日,比特币全网计算速度达到900G Hash/s,显示“挖矿”流行起来。2011年6月20日,世界上最大的比特币交易网站Mt.Gox出现交易漏洞,1比特币只卖1美分,而此前的正常价格在15美元左右。Mt.Gox一方面号召用户赶紧修改密码,另一方面宣布这一反常时段内的所有大单交易无效。2011年6月29日,比特币支付处理商BitPay于2011年6月29日推出了第一个用于智能手机的比特币电子钱包。2011年7月,当时世界第三大比特币交易所Bitomat丢失了17000枚比特币。2011年8月,MyBitcoin遭黑客攻击,涉及49%的客户存款,超过78000个比特币。2011年8月20日,第一次比特币会议在纽约召开。2012年8月14日,芬兰中央银行承认比特币的合法性。2012年9月27日,比特币基金会成 [25]。2012年11月25日,欧洲第一次比特币会议召开。2012年11月28日,区块奖励首次减半。2012年12月26日,法国比特币中央交易所诞生。2013年7月30日,泰国封杀比特币。2013年8月19日,德国承认比特币的合法性。2013年11月29日,比特币价格首度超过黄金。2013年12月,支付宝停止接受比特币付款。2013年12月5日,中国人民银行等五部委发布《关于防范比特币风险的通知》,明确比特币不具有与货币等同的法律地位,不能且不应作为货币在市场上流通使用。通知发出后,当天比特币的单价大跌[83]。2013年12月18日,比特币单价暴跌。中国两大比特币交易平台比特币中国和OKCoin发布公告,宣布暂停人民币充值服务。随后,比特币的单价跌到了2011元。2013年年末,以太坊创始人Vitalik Buterin发布了以太坊初版白皮书,启动了项目。2014年7月9日,波兰财政部副部长Wojciech Kowalczyk发布了一个文件,确认了比特币在波兰现有的金融法规下可作为一种金融工具。2014年7月12日,法国发布比特币新规。法国经济和金融部门表示将在当年年底对比特币和其他数字货币的金融机构和个人使用者实施监管措施。2014年7月24日起,以太坊进行了为期42天的以太币预售。2014年12月11日,微软接受比特币支付。4.区块链成为热门话题(2015-2023年)2015年,比特币突破1P Hash/s的全网版图。2015年,IBM宣布加入开放式帐本项目。2015年,微软公司宣布支持区块链服务。2015年6月,坦桑德银行进行区块链实验。2015年10月22日,欧盟对比特币免征增值税。2015年12月16日,比特币证券发行。美国证券交易委员会批准在线零售商Overstock通过比特币区块链发行该公司的股票。2016年初,以太坊的技术得到市场认可,价格开始暴涨,吸引了大量开发者以外的人进入以太坊的世界。2016年4月5日,去中心化电子商务协议OpenBazaar上线。2016年5月25日,日本认定比特币为财产。2016年6月,民法总则划定虚拟资产保护范围。第十二届全国人大常委会第二十一次会议于2016年6月在北京举行,会议首次审议了全国人大常委会委员长提请的《中华人民共和国民法总则(草案)》议案的说明。草案对网络虚拟财产、数据信息等新型民事权利客体作出了规定,这意味着网络虚拟财产、数据信息将正式成为权利客体,比特币等网络虚拟财产将正式受到法律保护 [32]。2016年7月20日,比特币奖励二次减半。2017年2月,中国央行数字货币DCEP试运行。中国央行或将成为全球首个发行数字货币并将其投入真实应用的中央银行。2017年2月26日,中国区块链应用研究中心(上海)正式揭牌成立。2017年3月24日,阿里巴巴与普华永道签署了一项跨境食品溯源的互信框架合作,将应用区块链等新技术共同打造透明可追溯的跨境食品供应链,搭建更为安全的食品市场。2017年4月,腾讯发布区块链方案白皮书,旨在打造区块链生态。2017年4月1日,比特币正式成为日本合法支付方式。2017年4月25日,首个“区块链大农场”推介会在上海举办。2017年5月31日,中国三大比特币交易所之二的火币网及OKCoin币行正式上线以太坊。2017年9月4日下午,中国人民银行等七部委联合发布公告:ICO是未经批准非法融资行为。ICO在中国被叫停 [32]。2018年,比特币价格从最高的19000美元,下滑到3000多美元,跌幅超过80%。2018年初,Facebook CEO马克·扎克伯格宣布探索加密技术和虚拟加密货币技术,亚马逊、谷歌、IBM等也相继入场。国内市场方面,国内腾讯、京东、阿里巴巴等互联网巨头也都接连宣布涉足区块链,迅雷更是通过提前布局云计算与区块链实现了企业的转型与业务的快速增长 [10]。2018年1月22日,英国技术发展部门相关人士表示,英国将投资1900万英镑用于支持区块链等新兴科技领域的新产品或服务。2018年1月27日,“CIFC区块链联盟”成立仪式在北京举行。2018年3月11日,召开“第二期CIFC区块链技术与应用实践闭门会”。2018年3月31日,召开“2018首届‘区块链+’百人峰会暨CIFC区块链与数字经济论坛”。2018年4月9日下午,雄岸100亿元基金成立,中国杭州区块链产业园启动仪式在杭州未来科技城举行,首批10家区块链产业企业集中签约入驻。2018年4月,百度图腾正式上线,实现原创作品可溯源、可转载、可监控。次月,百度百科上链,利用区块链不可篡改特性保持百科历史版本准确存留。2018年5月12日,乌镇普众区块链学院正式揭牌成立。2018年5月25日,360首次发布针对区块链领域的安全解决方案。该方案基于360的安全大数据,结合360安全大脑,涵盖了钱包、交易所、矿池、智能合约四大领域。2018年5月28日,中国国家主席习近平在中国科学院第十九次院士大会、中国工程院第十四次院士大会上发表重要讲话,表示区块链与人工智能、量子信息、移动通信、物联网并列为新一代信息技术的代表。2018年5月底,北京、上海、广东、河北(雄安)、江苏、山东、贵州、甘肃、海南等24个省市或地区发布了区块链政策及指导意见,多个省份将区块链列入本省“十三五”战略发展规划,开展对区块链产业链布局[82]。2018年6月25日,蚂蚁金服宣布推出基于区块链技术的电子钱包跨境汇款业务,首次跨境业务开展于香港地区和菲律宾的个人转账业务,实现香港地区向菲律宾汇款能做到3秒到账。2018年9月3日,最高人民法院印发《关于互联网法院审理案件若干问题的规定》首次认定链上数据可以作为司法采信的依据。2019年1月,百度运用区块链等技术将北京海淀公园升级改造完毕,推出了全国首个AI公园 [4]。2019年6月18日,Facebook牵头发布全球数字加密货币项目Libra白皮书。2019年9月,德国发布其“国家区块链发展战略”。2019年11月,欧盟委员会宣布针对欧洲人工智能和以区块链为重点的初创公司的新投资计划。2020年2月,澳大利亚发布《国家区块链发展路线图》。2020年3月,韩国科学与ICT部宣布发起《区块链技术验证支撑计划2020》。2021年3月公布的《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》中,区块链被列为七大新兴数字产业之一,明确提出了区块链技术创新、应用发展、监管机制完善的三大重点任务,特别强调了以联盟链为重点发展金融科技应用 [31]。2021年7月19日,农业农村部信息中心牵头在山东省潍坊市开展“区块链+韭菜”试点。2022年1月,亚洲开发银行与东南亚国家、日本、中国、韩国组成联盟,基于区块链实现在“10+3”地区的中央银行和证券存管机构数据互联互通。2022年5月,最高人民法院发布《关于加强区块链司法应用的意见》,提出充分发挥区块链在促进司法公信、服务社会治理、防范化解风险、推动高质量发展等方面的作用,全面深化智慧法院建设,推进审判体系和审判能力现代化 [26]。2022年9月,以太坊完成合并升级,从PoW共识迁移至PoS共识,大幅提升其性能、安全性和可扩展性,能耗降低99.95% [29]。2022年9月,Github上的流行区块链项目(关注度大于300)数量达到761项。2022年10月,国务院办公厅印发全国一体化政务大数据体系建设指南,提出积极运用云计算、区块链、人工智能等技术提升数据治理和服务能力,加快政府数字化转型,提供更多数字化服务。2023年5月16日,上海树图区块链研究院与中国电信股份有限公司研究院联合研发的BSIM卡(区块链SIM卡)在上海对外发布。BSIM卡比SIM卡存储空间扩大10倍至20倍,计算能力提升数十倍,实现卡内生成和存储用户的公私钥 [41]。2023年5月25日,2023中关村论坛开幕式发布十项重大科技成果,其中涉及区块链和量子计算等领域。2023年8月25日,2023中国产业区块链峰会在南京市鼓楼区召开,《中国产业区块链发展报告(2023)》和《2023中国产业区块链生态图谱》发布。《中国产业区块链发展报告(2023)》显示,2022年国际级重要区块链政策对比过去有所下降,产业区块链从政策引领过渡至产业自驱动阶段。但2022年区块链专利申请数量仍处于较高水平,技术与应用创新仍处于高速发展期 [40]。2023 年 9 月,经营范围涉及云计算、大数据、人工智能、区块链等数字技术的企业超过 53 万家。从产业链供应链数字经济重点项目来看,2022 年新增重点项目数达到 912 个,占比约为 46.18%,新增重点项目数保持高速增长 [28]。2023年11月1日,社交平台telegram发起的区块链项目TON达到历史最高出块速度,每秒钟最快记录是108409个区块 [42]。区块链的分类播报编辑根据去中心化程度,区块链系统可以分为公有链、联盟链和私有链三类 [5],这三类区块链的对比如下表所示。三类区块链的对比特征公有链联盟链私有链参与者任何人自由进出企业或联盟成员个体或公司内部共识机制PoW/PoS/DPoS等分布式一致性算法分布式一致性算法激励机制需要可选不需要中心化程度去中心化多中心化(多)中心化数据一致性概率(弱)一致性确定(强)一致性确定(强)一致性网络规模大较大小处理交易能力3~20/s-11000~10000/s-11000~200000/s-1典型应用加密货币、存证支付、清算审计公有链由于公有链系统对节点是开放的,公有链通常规模较大,所以达成共识难度较高,吞吐量较低,效率较低。在公有链环境中,由于节点数量不确定,节点的身份也未知,因此为了保证系统的可靠可信,需要确定合适的共识算法来保证数据的一致性和设计激励机制去维护系统的持续运行。典型的公有链系统有比特币、以太坊。联盟链联盟链通常是由具有相同行业背景的多家不同机构组成的,其应用场景为多个银行之间的支付结算、多种企业之间的供应链管理、政府部门之间的信息共享等。联盟链中的共识节点来自联盟内各个机构,且提供节点审查、验证管理机制,节点数目远小于公有链,因此吞吐量较高,可以实现毫秒级确认;链上数据仅在联盟机构内部共享,拥有更好的安全隐私保护。联盟链有Hyperledger、Fabric、Corda平台和企业以太坊联盟等。私有链私有链通常部署于单个机构,适用于内部数据管理与审计,共识节点均来自机构内部。私有链一般网络规模更小,因此比联盟链效率更高,甚至可以与中心化数据库的性能相当。联盟链和私有链由于准入门槛的限制,可以有效地减小恶意节点作乱的风险,容易达成数据的强一致性。区块链的架构播报编辑2016年袁勇和王飞跃提出了区块链基础架构的“六层模型” [22],从底层到上层依次是数据层、网络层、共识层、激励层、合约层和应用层。数据层包括区块结构和数据加密等技术;网络层包括网络结构、数据传播技术和验证机制等;共识层包括PoW(工作量证明)、PoS(权益证明)、DPoS(授权股份证明)等多个网络节点之间的共识机制;激励层包括激励的发行和分配机制;合约层包括各种脚本代码和智能合约;应用层包括数字货币等应用场景。区块链基础架构的“六层模型”数据层数据层负责区块链数据结构和物理存储,区块链的数据结构表示为交易被排序的区块链表。区块记录一段时间内的交易记录,将一段时间内收到的交易记录封装到一个数据区块中,在区块的头部包含块的元数据,元数据主要包括区块当前版本、父区块的哈希值、 Merkle树根哈希(用于有效总结区块中所有交易的数据结构)、区块创建时间、区块当前难度和一个随机值)区块头用于验证区块的有效性。每个区块头都连接着前一个区块,这使得区块中的每一个交易都有据可查,区块的哈希值能够唯一标识区块,将区块按照区块头中的哈希指针链接成一个链,就是区块链。区块结构区块链中通常保存数据的哈希值,而不是直接保存原始的数据。由于哈希函数不能反推出输入值,计算过程消耗的时间大约相同,输出值长度固定,输入的任何变动都会导致输出显著不同,因而其非常适合用于存储区块数据。例如比特币通常使用双SHA256哈希函数。Merkle树是区块链数据层的一种重要数据结构,区块链中交易的哈希值存储为Merkle树的一部分。Merkle树通过生成整个交易集的数字指纹来汇总块中的所有交易,从而使用户能够验证交易是否包含在块中。Merkle树逐层记录哈希值的特点使底层数据的任何变动,都会传递到其父节点,一层层沿着路径一直到树根,这意味着树根的值实际上代表了对底层所有数据的数字摘要,实现了块内交易数据的不可篡改性。Merkel树使得区块头只需要包含根哈希值,而不必封装所有底层数据,从而极大地提高了区块链的运行效率和可扩展性。此外Merkel树支持“简化支付验证”,可以在不运行完整区块链网络节点的情况下完成对数据的检验。网络层网络层实现了区块链网络中节点之间的信息交流,属于分布式存储技术。区块链的点对点机制、数据传播机制、数据验证机制、分布式算法和加密签名等都是在网络层实现的。区块链网络中没有中心节点,任意两个节点间可直接进行交易,任何时刻每个节点都可自由地加入或退出网络,因此,区块链平台通常选择完全分布式且可容忍单点故障的P2P协议作为网络传输协议。区块链网络的P2P协议主要用于节点间传输交易数据和区块数据。在区块链网络中,每个节点都具有平等、分治、分布等特性和路由发现、广播交易、发现新节点等功能,不存在中心化的权威节点和层级结构。节点之间通过维护一个共同的区块链结构来保持通信,共同维护整个区块链账本。按照节点中存储的数据量,节点可以划分为全节点和轻量级节点,全节点中保存有完整的区块链数据,并且实时动态更新主链,这样的优点是可以独立完成区块数据的校验、查询和更新,缺点是空间成本高;轻量级节点仅保存部分区块数据,需要从相邻节点获取所需的数据才能完成区块数据校验。节点时刻监听网络中广播的数据,当新的区块生成后,生成该区块的节点会向全网广播,其他节点收到发来的新交易和新区块时,其首先会验证这些交易和区块是否有效,包括交易中的数字签名、区块中的工作量证明等,只有验证通过的交易和区块才会被处理和转发,以防止无效数据的继续传播。共识层共识层负责让高度分散的节点在去中心化的区块链网络中高效地针对区块数据的有效性达成共识,封装了区块链系统中使用的各类共识算法。区块链系统的核心是区块链账本数据的维护,因此,共识的过程是各节点验证及更新账本的过程,共识的结果是系统对外提供一份统一的账本。由于区块链系统未对参与节点的身份进行限制,网络中的节点可能为了利益进行欺骗、作恶,所以为了避免恶意节点,系统要求每一次记账都需要付出一定的代价,而其余的节点只要很小的代价就可以验证。“代价”有很多种形式,如计算资源、存储资源、特殊硬件等。公式算法机制包括工作量证明(PoW)、权益证明(PoS)、授权股份证明(DPoS)等。工作量证明要求每个节点都使用自身算力解决SHA256计算难题,寻找一个合适的随机数使得区块头部元数据的SHA256哈希值小于区块头中难度目标的设定值,难度目标越大合适的随机数越难找到,首先找到的节点可以获得新区块的记账权并获得奖励。SHA256计算难题的解决很困难,但是验证非常容易,这样其他节点可以快速地验证新区块,如果正确就将该区块加入区块链中并开始构建下一个区块。PoW机制将奖励和共识过程融合,使更多节点参与进来并保持诚信,从而增强了网络的可靠性和安全性。对于PoW机制来说,若要篡改和伪造区块链中的某个区块,就必须对该区块及后续的所有区块重新寻找块头的随机数,并日使该分支链的长度超过主链,这要求攻击者至少掌握全网51%以上的算力,因此攻击难度非常大。PoW机制的实质是通过牺牲性能来换取数据的一致性和安全性,所以基于PoW机制的区块链平台的性能相对较低。权益证明是利用节点持有的代币信息来选取记账节点的算法。通过选举的形式,其中任意节点被随机选择来验证下一个区块,要成为验证者,节点需要在网络中存入一定数量的货币作为权益,权益的份额大小决定了被选为验证者的概率,从而得以创建下一个区块。验证者将检查区块中的交易是否有效,若有效则将该区块添加到区块链中,同时该节点获得一定的利益,若通过了非法的交易,则该节点会失去一部分权益,这样节点就会以保护自己权益的目的诚实地进行记账。相较于PoW,PoS解决了算力浪费的问题,并能够缩短达成共识所需的时间,这使得许多数字货币采用PoS共识机制。授权股份证明是由PoS演变而来的,拥有数字货币的节点通过抵押代币获得选票,通过投票的方式选出一些节点作为出块节点,负责对交易打包生成区块,让更有能力的节点胜任生成区块的工作,类似于公司的董事会制度。在每一轮共识中,从出块节点中轮流选出一个节点生成区块,并广播给其他的区块进行验证。若节点无法在规定时间内完成生成区块的任务或生成的区块无法经过验证,则会被取消资格。与PoW机制中的信任高算力节点和PoS机制中的信任高权益节点不同,DPoS机制中每个节点都可以自主地选择信任的节点,大大地减少了参与记账和验证的节点数量,可以实现快速共识验证。激励层激励层主要包括发行机制和分配机制,通过奖励部分数字资产来鼓励节点参与区块链的安全验证工作,从而维护挖矿活动以及账本更新持续进行。去中心化系统中的共识节点都是以自身利益最大化为目标的,因此必须使共识节点自身利益最大化与保证区块链系统安全和有效的目标相吻合。公有链依赖全网节点共同维护数据,节点不需要进行认证,可以随时加入、退出这个网络,CPU、存储、带宽等资源,所以需要有一定的激励机制来确保矿工在记账的过程记账需要消耗中能有收益,以此来保证整个区块链系统朝着良性循环的方向发展。在联盟链中,所有节点都是已经经过组织认证的节点,不需要额外的激励,这些节点也会自发地维护整个系统的安全和稳定。以比特币系统为例,发行机制是指每个区块发行的比特币数量随时间阶段性递减,每21万个区块之后每个区块发行的比特币数量减半,最终比特币总量达到2100万的上限,同时每次比特币交易都会产生少量的手续费。PoW共识会将新发行的比特币和交易手续费作为激励,奖励给成功找到合适的随机数并完成区块打包工作的节点,因此只有所有共识节点共同维护比特币系统的有效性和安全性,其拥有的比特币才会有价值。分配机制是指大量小算力节点加入矿池,通过合作来提高挖到新区块的概率,并共享该区块的比特币和手续费奖励。合约层合约层负责封装区块链系统的脚本代码、算法和智能合约,是实现区块链系统编程和操作数据的基础。出现较早的比特币系统使用非图灵完备的简单脚本代码来实现数字货币的交易过程,这是智能合约的雏形,目前如以太坊已经实现了图灵完备的智能合约脚本语言,使区块链可以实现宏观金融和社会系统等更多应用。智能合约是一种用算法和程序来编写合同条款、部署在区块链上并且可以按照规则自动执行的数字化协议。理想状态下的智能合约可以看作一台图灵机,是一段能够按照事先的规则自动执行的程序,不受外界人为干预。它的存在是为了让一组复杂的、带有触发条件的数字化承诺能够按照参与者的意志,正确执行。区块链系统提供信任的环境,使得智能合约的概念得以实现,各用户对规则协商一致后创建合约代码,并将该合约代码上链,一旦满足触发条件,合约代码将由矿工按照预设规则执行。区块链的去中心化使得智能合约在没有中心管理者参与的情况下,可同时运行在全网所有节点,任何机构和个人都无法将其强行停止。智能合约拓展了区块链的功能,丰富了区块链的上层应用,允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。 应用层比特币平台上的应用主要是基于比特币的数字货币交易。以太坊除了基于以太币的数字货币交易外,还支持去中心化应用(Decentralized Application,Dapp),Dapp是由JavaScript构建的Web前端应用,通过JSON-RPC与运行在以太坊节点上的智能合约进行通信。Hyperledger Fabric主要面向企业级的区块链应用,并没有提供数字货币,其应用可基于Go、Java、Python、Node.js等语言的SDK构建 [24],并通过gRPC或REST与运行在Hyperledger Fabric节点上的智能合约进行通信。典型区块链系统播报编辑Bitcoin比特币是一种基于去中心化,采用点对点网络与共识主动性,开放源代码,以区块链作为底层技术的加密货币,是最早应用区块链技术的系统。比特币系统是一种电子支付系统,它不是基于权威机构的信用,而是基于密码学原理,使任何达成一致的交易双方都可以直接进行支付,不需要任何第三方机构的参与。比特币的主要概念包括交易、时间戳服务器、工作量证明、网络、激励等。交易是比特币系统中最重要的部分。比特币中的其他一切都是为了确保交易可以被创建、在网络上传播、被验证,并最终添加到全局交易分类账本(区块链)中。比特币交易的本质是数据结构,这些数据结构是对比特币交易参与者价值传递的编码。比特币区块链是一本全局复式记账总账簿,每个比特币交易都是在比特币区块链上的一个公开记录。比特币将电子币定义为数字签名链,币的转移是通过所有者对前一笔交易和下一个所有者的公匙进行签名,并将这两个签名放到币的末端来实现的。收款人可以通过验证签名来验证链所有权。比特币采用了非对称加密技术,公钥就是用户的账户号码,当用户要消费比特币时,需要用私钥进行签名,系统会用账户号码也就是公钥验证签名是否正确,并且根据用户的账户号码从历史的交易中计算出当前账户中的真实金额,确保用户操作的资金在账户真实金额之内每一条交易记录都需要用私钥签名,系统用公钥验证签名是否正确,验证正确则认为合法,再验证插入的记录中转账金额是否正确,验证的方式是对该公钥以往的所有交易记录进行计算,得出该账户当前的金额,如果不超过该金额则为合法。这种机制保证只能对自己的账户进行操作,再结合P2P网络结构下的最终一致性原则,以及账本的链式结构,一个攻击者需要算力超过目前的集群才能创建另外一个账本分支,并且攻击者也只能更改自己的账户,所以这种攻击的收益极低,而对于比特币系统来说,强大的算力让比特币系统更加稳健了。比特币通过算力竞争的工作量证明机制使各节点来解决一个求解复杂但验证简单的SHA256数学难题,最快解决该难题的节点会获得区块记账权和该区块生成的比特币作为奖励。此难题可以理解为根据当前难度值通过暴力搜索找到一个合适的随机数(Nonce),使得区块头各元数据的双SHA256值小于等于目标值。比特币系统会自动调整难度值以保证区块生成的平均时间为10分钟。符合要求的区块头哈希值通常由多个前导零构成,难度值越大,区块头哈希值的前导零越多,成功找到合适的随机数并挖出新区块的难度越大。比特币采用了基于互联网的点对点(P2P)网络架构,网络中的每一个节点都是平等的,不存在任何中心化服务和层级结构,以扁平的拓扑结构相互连通。当新的区块生成后,生成该区块的节点会将区块数据广播到网络中,其他节点加以验证。比特币的区块数据传播主要包括以下步骤。(1)向全网所有节点广播新的交易。(2)每个节点都将收集到新的交易并打包到一个区块中。(3)每个节点都致力于为它的区块找到一个有难度的工作量证明。(4)当一个节点找到工作量证明后,就将该区块广播给所有节点。(5)只有区块中所有的交易都有效并且之前不存在,其他节点才会接受这个区块。(6)其他节点通过用已接受区块的哈希值作为前一个哈希值,在链中创造新区块,来表示它们接受了这个区块。所有节点都将最长的链条视为正确的链,并且继续延长它,如果两个节点同时广播了不同会选择的新区块,这时两个区块都会保留,链上出现分支,当每个分支都继续变长后,所有节点会选最长的一个分支作为主链,继续在它后面创造区块。比特币每个区块的第一笔交易中都包含了支付给创造者的新发行的比特币和其他交易手续费,这样会激励节点更加支持比特币系统,这是在没有中央集权机构发行货币的情况下将电子货币分配到流通领域的一种方法,类似于开采金矿将黄金注入流通领域。激励系统有利于使节点保持诚实,如果恶意的攻击者拥有比诚实节点更多的总算力,他会发现破坏这个系统会让自身财富受损,而保持诚实会让他获得更多的电子货币。Ethereum以太坊(Ethereum)是将比特币中的技术和概念运用于计算领域的一项创新。比特币被认为是一个系统,该系统维护了一个安全地记录了所有比特币账单的共享账簿。以太坊利用很多跟比特币类似的机制(比如区块链技术和P2P网络)来维护一个共享的计算平台,这个平台可以灵活且安全地运行用户想要的任何程序(包括类似比特币的区块链程序)。以太坊的特性包括以下几方面。1.以太坊账户在以太坊系统中,状态是由被称为“账户”(每个账户都有一个20字节的地址)的对象和在两个账户之间转移价值和信息的状态转换构成的。以太币(Ether)是以太坊内部的主要加密货币,用于支付交易费用。一般而言,以太坊有两种类型的账户:外部所有的账户(由私钥控制)和合约账户(由合约代码控制)。外部所有的账户没有代码,人们可以通过创建和签名一笔交易从一个外部账户发送消息。每当合约账户收到一条消息时,合约内部的代码就会被激活,允许它对内部存储进行读取和写入,发送其他消息或者创建合约。2.消息和交易以太坊的消息在某种程度上类似于比特币的交易,但是两者之间存在三点重要的不同。第一,以太坊的消息可以由外部实体或者合约创建,然而比特币的交易只能从外部创建。第二,以太坊消息可以选择包含数据。第三,如果以太坊消息的接收者是合约账户,可以选择进行回应,这意味着以太坊消息也包含函数概念。以太坊中“交易”是指存储从外部账户发出的消息的签名数据包。交易包含消息的接收者、用于确认发送者的签名、以太币账户余额、要发送的数据和两个被称为STARTGAS和GASPRICE的数值。3.代码执行以太坊合约的代码使用低级的基于堆栈的字节码语言写成,被称为“以太坊虚拟机代码”或者“EVM代码”。代码由一系列字节构成,每一个字节都代表一种操作。一般而言,代码执行是无限循环的,程序计数器每增加一(初始值为零)就执行一次操作,直到代码执行完毕或者遇到错误。4.应用一般来讲,以太坊之上有三类应用。第一类是金融应用,为用户提供更强大的用他们的钱管理和参与合约的方法,包括子货币、金融衍生品、对冲合约、储蓄钱包、遗嘱,甚至一些种类全面的雇佣合约。第二类是半金融应用,这里有金钱的存在,但也有很大比例的非金钱方面,一个完美的例子是为解决计算问题而设的自我强制悬赏。第三类是在线投票和去中心化治理这样的完全非金融应用。各种各样的金融合约——从简单的实体资产(黄金、股票)数字化应用,到复杂的金融衍生品应用,面向互联网基础设施的更安全的更新与维护应用(比如DNS和数字认证),不依赖中心化服务提供商的个人线上身份管理应用(因为中心化服务提供商很可能留有某种后门,并借此窥探个人隐私)。除了已经被很多创业团队实现出来的上百种区块链应用以外,以太坊也被一些金融机构、银行财团,以及类似三星、Deloitte、RWE和IBM这类的大公司所密切关注,由此也催生了一批诸如简化和自动化金融交易、商户忠诚指数追踪、旨在实现电子交易去中心化的礼品卡等区块链应用。LibraLibra(已经改名为Diem)是Facebook提出的一种支付体系,旨在建立一套简单的、无国界的货币和为数十亿人服务的金融基础设施。Libra由三个部分组成,它们共同作用,创造了一个更加普惠的金融体系:(1)它建立在安全、可扩展和可靠的区块链基础上;(2)它以赋予它内在价值的资产储备为后盾;(3)它由独立的Libra协会治理,该协会的任务是促进此金融生态系统的发展。Libra/Diem币建立在安全、可扩展和可靠的区块链基础上,由现金、现金等价物和非常短期的政府证券组成的储备金支持,由独立的Libra/Diem协会及其附属网络进行管理、开发及运营。它旨在面向全球受众,所以实现Libra/Diem区块链的软件是开源的,以便所有人都可以在此基础上进行开发,且数十亿人都可以依靠它来满足自己的金融需求。随着智能手机和无线数据的激增,越来越多的人将通过这些新服务上网和使用Libra/Diem。为了使Libra/Diem网络能够随着时间的推移实现这一愿景,Libra/Diem协会从零开始构建了其所需的区块链,同时优先考虑了可扩展性、安全性、存储效率、吞吐量以及其对未来的适应性。Libra/Diem支付系统支持单货币稳定币以及一种多货币稳定币,它们统称为Libra/Diem币。每种单货币稳定币都会有1:1的储备金支持,而每个多货币稳定币都是多种单货币稳定币的组合,其继承了这些稳定币的稳定性。Libra/Diem的储备金会受到管理,并随着时间的推移维护Libra/Diem币的价值。通过对现有方案的评估,Libra/Diem决定基于下列三项要求构建一个新的区块链:设计和使用Move编程语言;使用拜占庭容错共识机制;采用和迭代改善已广泛采用的区块链数据结构。1.设计和使用Move编程语言Move是一种新的编程语言,用于在Libra/Diem区块链中实现自定义交易逻辑和“智能合约”。Move语言的设计首先考虑安全性和可靠性,是迄今为止发生的与智能合约相关的安全事件中吸取经验而创造的一种编程语言,能从本质上令人更加轻松地编写符合作者意图的代码,从而降低了出现意外漏洞或安全事件的风险。具体而言,Move从设计上可防止数字备产被复制。它使得将数字资产限制为与真实资产具有相同属性的“资源类型”成为现实:每个资源只有唯一的所有者,资源只能花费一次,并限制创建新资源。2.使用拜占庭容错共识机制Libra/Diem区块链采用了基于Libra/DiemBFT共识协议的BFT机制,来实现所有验证者节点就将要执行的交易及其执行顺序达成一致。这种机制实现了三个重要目标:第一,它可以在网络中建立信任,因为即使某些验证者节点(最多三分之一的网络)被破坏或发生故障.BFT共识协议的设计也能够确保网络正常运行;第二,与其他一些区块链中使用的“工作量证明”机制相比,这类共识协议还可实现高交易处理量、低延迟和更高能效的共识方法;第三,Libra/DiemBFT协议有助于清楚地描述交易的最终性,因此当参与者看到足够数量验证者的交易确认时,他们就可以确保交易已经完成。BFT的安全性取决于验证者的质量,因此协会会对潜在验证者进行调查。Libra/Diem网络的设计以安全第一为原则,并考虑了复杂的网络和对关键基础设施的攻击。该网络的结构是为了加强验证者运行软件的保证,包括利用关键代码分离等技术、测试共识算法的创新方法以及对依赖关系的谨慎管理。最后,Libra/Diem网络定义了在出现严重漏洞或需要升级时重新配置Libra/Diem区块链的策略及过程。3.采用和迭代改善已广泛采用的区块链数据结构默克尔树(Merkle Tree)是一种已在其他区块链中广泛使用的数据结构,它可以侦测到现有数据的任何变化。为了保障所存储交易数据的安全,在Libra/Diem区块链中可以通过默克尔树发现交易数据是否被篡改。与以往将区块链视为交易区块集合的区块链项目不同,Libra/Diem区块链是一种单一的数据结构,可长期记录交易历史和状态。这种实现方式简化了访问区块链应用程序的工作量,允许区块链系统从任何时间点读取任何数据,并使用统一框架验证该数据的完整性。根据以上的设计,Libra/Diem区块链可以提供公共可验证性,这意味着任何人〔验证者、Libra/Diem网络、虚拟资产服务提供商(VASP)、执法部门或任何第三方〕都可以审核所有操作的准确性。交易将以加密方式签名,以便即使所有验证者都被破坏,系统也不能接受具有签名的伪造交易。协会会监督Libra/Diem区块链协议和网络的发展,并在适用监管要求的同时,不断评估新技术,以增强区块链上的隐私合规性。区块链技术播报编辑区块链是由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储,难以篡改,防止抵赖的记账技术,也称为分布式账本技术。随着第一个公有链系统比特币的诞生,区块链技术也蓬勃发展,诞生了很多不同区块链系统,并且可以从节点加入是否需要认证、采用的共识机制等方面看出它们间的不同。但各个区块链系统的整体思路与最终目的是相似的,其运行机制在大的框架中也都相同。共识机制区块链系统采用了去中心化的设计,网络节点分散且相互独立,为了使网络中所有节点达成共识,即存储相同的区块链数据,需要一个共识机制来维护数据的一致性,同时为了达到此目标,需要设置奖励与惩罚机制来激励区块链中的节点。目前有多种共识算法在区块链中使用,其中常见的有工作量证明(PoW)算法、权益证明(PoS)算法、实用拜占庭容错(PBFT)算法。下表是三种共识算法的对比。三种共识算法的对比共识算法PoWPoSPBFT节点管理不需许可不需许可需要许可交易延时高(分钟级)低(秒级)低(毫秒级)吞吐量低高高节能否是是安全边界恶意算力不超过1/2恶意权益不超过1/2恶意节点不超过1/3代表应用比特币、以太坊(旧)以太坊(新)、点点币Fabric扩展性好好差智能合约智能合约的概念早在第一个区块链系统诞生之前就已经存在了,美国计算机科学家Nick Szabo将其定义为:“由合约参与方共同制定,以数字形式存在并执行的会约。”智能合约的初衷是,使得合约的生效不再受第三方权威的控制,而能以一种规则化、白动化的形式运行。以借钱为例,在现实生活中,债主想要强制拿回借出去的钱,需要拿着借名到法院上诉,经过漫长的审判过程才能得到钱。而在智能合约中,合约双方可以就借钱数目还款日期、抵押物等条件制定好规则,然后将合约放入相关系统中,等到了指定期限,合约会自动执行还款操作。智能合约的概念虽然已被提出,但一直缺乏一个好的实现平台。直到中本聪运行了比特币系统,其底层区块链技术的去中心化架构、分布式的信任机制和可执行环境与智能合约十分契合。区块链可以通过智能合约来实现节点的复杂行为执行,而智能合约在区块链的去中心化架构中能够更好地被信任,更方便执行。因此,智能合约与区块链技术的结合成了很多研究人员与学者研究的课题,智能合约与区块链也逐渐绑定了起来。如今提到的智能合约,通常是直接与区块链技术绑定,特指运行在分布式账本之中,且具有规则预置、合约上链、条件响应等流程,并能完成资产转移、货币交易、信息传递功能的计算机程序。如今已有图灵完备的智能合约开发平台问世,并且反响很好,比如以太坊、超级账本Fabric等项目。以太坊是目前全球最具影响力的共享分布式平台之一。智能合约是运行在区块链上的一段代码,代码的逻辑定义了合约的内容,合约部署在区块链中,一旦满足条件会自动执行,任何人无法更改。合约代码是低级的基于堆栈的字节码语言,也被称为“以太坊虚拟机(EVM)代码”,用户可以使用高级编程语言(如C++、Go、Python、Java、Haskell,或专为智能合约开发的Solidity、Serpent语言)编写智能合约,由编译器转换为字节码后部署在以太坊区块链中,最后在EVM中运行。下面给出了一段Solidity语言编写的拍卖智能合约的代码。contract SimpleStorage {uint storedData;function set (uint x) public {storedData = x;} function get() public view returns(uint) {return storedData;}}该实例的功能是设置一个公开变量,并支持其他合约访问。在该实例中,合约声明了一个无符号整数变量,并且定义了用于修改或检索变量值的函数。其他用户可以通过调用该合约上的函数来更改或取出该变量。如果其他用户要调用外部合约,需要创建一个交易,接收地址为该为该智能合约的地址,data域填写要调用的函数及其参数的编码值。智能合约会根据所填写的数据自动运行,同时智能合约之间也可以相互调用。 区块链安全问题播报编辑分布式拒绝服务攻击分布式拒绝服务攻击主要针对交易所、矿池、钱包和区块链中的其他金融服务。与拒绝服务(DoS)攻击不同的是,分布式拒绝服务攻击借助了客户端/服务器技术,将多个计算机联合起来作为攻击平台,对同一个目标发动大量的攻击请求,从而成倍地提高拒绝服务攻击的能力。传统的分布式拒绝服务攻击通过病毒、木马、缓冲区溢出等攻击手段入侵大量主机,形成僵尸网络,然后通过僵尸网络发起拒绝服务攻击。基于区块链网络的分布式拒绝服务攻击不需要入侵主机建立僵尸网络,只需要在层叠网络(应用层)控制区块链网络中的大量在线节点,使其作为一个发起大型分布式拒绝服务攻击的放大平台。这些在线节点为拒绝服务攻击提供了大量的可用资源,如分布式存储和网络带宽,使得攻击成本低、威力巨大,并保证了攻击者的隐秘性。主要攻击方式分为主动攻击和被动攻击。主动攻击是通过主动向网络中的节点发送大量的虚假索引信息,使得针对这些信息的后续访问都指向被攻击者。主动攻击在区块链网络中引入了额外的流量,从而降低网络的节点查找和路由的性能,另外,虚假的索引信息还影响文件的下载速度。被动攻击属于非侵扰式,通过修改区块链客户端或服务器软件,被动地等待来自其他节点的查询请求,再通过返回虚假响应来达到攻击效果。分布式拒绝服务攻击的发起成本不高,但破坏性很强。例如,恶意矿工可以通过分布式拒绝攻击耗尽其竞争对手的网络资源,使得竞争对手被大量网络请求阻塞,从而提高自己的有效哈希率。延展性攻击延展性攻击,是指在原情况不变的情况下,利用外部的虚假交易实现攻击。例如,通过延展性政击可以阻塞网络中的交易队列。恶意攻击者通过支付高额手续费,以高优先级进行虚假交易,使得矿工在验证这些交易时,发现这些交易都是虚假交易,但是它们已经在这些交易的验证上花费了相当长的时间,从而浪费了与攻击者竞争的矿工的时间和带宽资源。另一种延展性攻击的形式为交易延展性攻击,这种攻击方式在虚拟货币交易的情况下带来了二次存款或双重提现的风险。攻击者可以侦听一笔未被确认的交易,通过修改交易签名的方式使得原有交易的交易ID发生改变,并生成一笔新的交易进行广播和确认,而参与交易的另一方无法根据原有的交易ID查询到交易的确认信息,从而可能进行重复转账并蒙受损失。女巫攻击女巫攻击,是指一个攻击者节点通过向网络广播多个身份信息,非法地拥有多个身份标识,进一步利用多个身份带来的便利,做出一些恶意行为,如改变交易顺序、阻止交易被确认、误导正常节点的路由表、消耗节点间的连接资源等。由于网络上的节点只能根据自己接收到的消息来判断网络中节点的全局信息,对于攻击者来说,它可以很方便地利用这个特征,轻易地创建大量的身份信息进行女巫攻击。女巫攻击是攻击P2P网络中数据冗余机制的有效手段,使得原本需要备份在多个节点的数据被欺骗地备份到同一个节点上。同时,如果区块链网络中采用了投票机制,攻击者可以利用伪造的多个身份进行不公平的重复投票,从而掌握网络的控制权。实现反女巫攻击,可以采用工作量证明机制,通过验证身份的计算能力的方式,增加女巫攻击的成本。另外一种反女巫攻击的方式是身份认证,每个新节点需要经过可靠第三方节点或当前网络中所有可靠节点的认证,从而减少节点欺诈地使用多重身份的可能性。路由攻击由于网络路由的不安全性以及因特网服务提供方(ISP)的集中性,使用明文形式进行信息交换的区块链应用(如比特币)可能面临着流量劫持、信息窃听、丢弃、修改、注入和延迟的风险。路由攻击,是指对正常路由进行干扰从而达到攻击目标的手段。区块链上的路由攻击主要包含分割攻击和延迟攻击两种类型。分割攻击首先将区块链网络隔离成至少两个独立的网络,使得它们无法交换交易信息。为实现这一步,攻击者常利用边界网关协议劫持的方法拦截不同网络间交换的所有流量,从而实现网络分割,并且各网络内的节点无断网感知。延迟攻击利用了区块请求在超过一定时间后才会再次发起请求的特点,通过对拦截的信息进行简单修改,延迟区块在被攻击节点的传播速度。这两种攻击方法都能带来包括重复支付、计算能力浪费在内的潜在经济损失,日蚀攻击日蚀攻击由攻击者通过侵占节点路由表的方式,控制节点的对外联系并使其保留在一个隔离的网络中,从而实施路由欺骗、拒绝服务、ID劫持等攻击行为。目前,在比特币和以太坊网络中均已被证实能实施日蚀攻击。在比特币网络中,由于节点的网络资源有限,网络中每个节点是很难做到与所有其他节点都建立连接。因而比特币上实际只允许一个节点接受117个连接请求,并且最多向外发起8个连接。如果攻击者节点在一个节点的路由表中占据了较高的比例,攻击者节点可以控制这个节点的正常行为,包括路由查找和资源搜索等,则这个节点可视作被攻击者“日蚀”。在比特币的日蚀攻击中,攻击者用事先准备的攻击地址填充被攻击节点的tried列表,用不属于比特币网络的地址覆盖被攻击节点的new列表。在被攻击者重启或从表中选择节点构建连接时,被攻击者的8个向外连接有很高概率都是攻击者节点,同时攻击者占据被攻击者的入连接。通过这个过程可以在比特币网络中实现节点的日蚀攻击。而在以太坊中,由于以太坊上一个主机可以运行多个ID的节点,攻击者只需要两个恶意的以太坊节点即可实现日蚀攻击。以太坊上的日蚀攻击主要有两种方式:(1)独占连接的日蚀攻击,攻击者只需要在受害者节点重启时通过入连接的方式快速占领受害节点所有的连接,在geth1.8.0中已通过限制节点入连接的数量不能占满节点的maxpeers来修复这个漏洞;(2)占有表的日蚀攻击,攻击者使用伪造的节点ID在受害者节点重启时重复向它发送Ping请求并占据它的K桶,使得受害者的出连接指向攻击者,此时攻击者使用入连接占据完受害者的剩余的所有连接即可完成日蚀攻击。对受害节点来说,日蚀攻击使它在未知情况下脱离了区块链网络,所有的请求信息都会被攻击者劫持,得到虚假的回复信息,无法进行正常的资源请求。反洗钱犯罪常见的洗钱途径广泛涉及银行、保险、证券、房地产等各种领域。反洗钱是政府动用立法、司法力量,调动有关的组织和商业机构对可能的洗钱活动予以识别,对有关款项予以处置,对相关机构和人士予以惩罚,从而达到阻止犯罪活动目的的一项系统工程。当前在常见的20多种洗钱手段中,比特币与数字货币已经被列入一种国际上的洗钱手段。因为数字货币的匿名性和难追踪的特点,数字货币开始在黑色与灰色领域大量使用。数据显示,通过对全球20多个数字资产交易所展开资金流向追踪调查,PeckShield安全团队研究分析认为,数字资产在国际间的流动规模已非常大,且大部分资金并未受到国家合理、合规的监管。区块链相关热点概念播报编辑挖矿比特币中的矿,是一种虚拟数字,是一种符合算法要求的哈希值。比特币中的挖矿就是计算这种哈希值的过程。挖矿的难度是不断地更新的,相当于一个寻宝游戏,在一段时间之后,比特币系统将生成计算难度,然后所有的计算机就去计算符合要求的那个值,谁最先找到,谁就可以获得比特币奖励,并且可以获得一个区块进行记账,要计算得到这个符合要求的序列号,就需要大量的CPU运算。挖矿是将一段时间内比特币系统中发生的交易进行确认,并记录在区块链上形成新区块的过程,挖矿的人叫作矿工。比特币系统的记账权力是去中心化的,即每个矿工都有记账的权利。成功抢到记账权的矿工,会获得系统新生的比特币奖励和记录每笔交易的手续费。因此,挖矿就是生产比特币的过程。中本聪最初设计比特币时规定:每产生210000个区块,比特币奖励数量就减半一次,直至比特币奖励数量不能再被细分。矿工的主要工作是寻找符合要求的新区块、将交易打包写入区块。想成为一名矿工,只要购买一台专用的计算设备,下载挖矿软件,就可以开始挖矿。挖矿归根到底是算力的竞争,具体挖的过程就是通过运行挖矿软件来计算匹配哈希值的过程。挖矿软件的运行需要消耗算力,最早是用CPU来挖矿的,随着加入的人越来越多,挖矿的装备也一直在升级;CPU之后,开始有人用GPU来挖矿,GPU的流水线专注程度更高,同时数量也更多,并行计算非常占便宜,GPU比CPU效率更高,算力功耗比更低,很快就取代了CPU;再后来用FPGA来挖矿,FPGA的性能/功耗比相对GPU来说有了进一步的提高;再最后就是目前市面上的ASIC矿机。挖矿需要有矿机和挖矿软件,运行的过程除了硬件损耗,最大的消耗是电费,所以算力之争很大程度上在于谁能获得更低的电力成本,谁就拥有了先发优势。挖矿软件运行的时候,都需要设置一个账户,用对应的挖矿软件在矿机上运行,如果第一个计算出哈希值,并得到全网认证,对应的挖矿奖励会自动发放到挖矿软件的账户里。这个奖励可以提现到其他钱包储存或进行交易。币圈币圈是指一批专注于炒加密数字货币,甚至发行自己的数字货币筹资的人群,业界俗称“币圈”。币圈可大致可以划分为两类:一类是市场上基于区块链技术的主流货币,如比特币、以太坊;另一类是数字货币筹资,也就是发行新币,新币也被业界称为“山寨币”。早期山寨币是指模仿比特币代码与系统产生的数字货币,目前大家理解的山寨币,大部分是指那些劣质的、没有价值基础的数字货币。矿圈和币圈这两个圈子存在着一定的鄙视关系。矿圈自认为是投资,看不上币圈的投机。币圈总体上是为了投机或赚钱,喜欢炒作,希望价格翻倍,希望能够找到新的百倍币、千倍币。前期的币圈中充满着狂热和不理性,也充满着欺骗和混乱。矿圈“矿圈”是一群专注于“挖矿”的“矿工”,这些矿工大多从事IT行业。中本聪总共发行了2100万个比特币,最开始挖矿的人并不多,一般的计算机都可以挖矿,但是随着挖矿的人变多,必须要用具有高算力的专业服务器来挖矿。比特币挖矿一共经历了五个阶段,即CPU挖矿、GPU挖矿、FPGA挖矿、ASIC挖矿、大规模集群挖矿(矿池)。为了更好地理解它们之间的区别,简单举例如下:(1)CPU的挖矿速度是1。(2)GPU的挖矿速度是10。(3)FPGA的挖矿速度是8,功耗比GPU小40倍。(4)ASIC的挖矿速度是2000,功耗与GPU相当。矿机挖矿,随着挖矿所需算力的不断上升,GPU也达到了算力的上限,为了突破这个局限,有人发明了专门挖矿的专业设备。这些设备虽然都是计算机,可是除了挖比特币、运行哈希运算之外,其他什么都干不了,我们叫它“矿机”。比特币的矿机只能进行比特币的算法的计算。莱特币矿机只能进行莱特币算法的计算,不能互相通用。世界排名前三的数字货币矿机生产商(比特大陆、嘉楠耘智、亿邦科技)都在中国,囊括了全球九成以上的份额(2019年数据显示)。数字货币早期的数字货币(数字黄金货币)是一种以黄金重量命名的电子货币形式。现在的数字货币又称密码货币,指不依托任何实物,使用密码算法的数字货币,英文为Cryptocurrency,尤其是指基于区块链技术生成的数字货币,如比特币、莱特币和以太币等依靠校验和密码技术来创建、发行和流通的电子货币。从货币属性角度来看,数字货币相比传统法币有以下三个重要的优点。(1)有效对抗通货膨胀:比特币一共发行2100万枚,2140年后比特币不再新增,矿机通过收取交易服务费用覆盖算力成本。当主权政府的中央银行采取过于宽松的货币政策或者国内政局不稳定时,会导致较为严重的通货膨胀,造成民众的财富急剧缩水,比特币能够较好地应对通货膨胀。(2)私有财产权受到保护:因为采用了区块链作为底层技术和点对点的交易方式,所以交易过程不受到监控、审核,外界也无法干涉私有财产。(3)促进全球化:比特币最大的特点就是金融脱媒(“脱媒”一般是指在进行交易时跳过所有中间人而直接在供需双方间进行。“金融脱媒”又称“金融去中介化”,在英语中称为Financial Disintermediation),使用比特币能让跨境贸易和跨境投资变得更快且更便宜。从技术属性来看,当前数字货币仍然建立在电子技术之上,随着量子计算机,加、解密等技术的飞速发展,比特币等数字货币会受到一些挑战,加上一些经济方面的竞争原因,比特币有可能会在未来消失或被其他数字货币替代。从社会角度来看,数字货币部分思想根源来自一种自由思想、无政府主义,是西方某些思想的产物。经济学领域的自由思想是区块链技术产生的一个强大的推动力。无论是早期的哈耶克与他的《货币的非国家化》,还是B-money的理论的提出者戴伟,以及Bitshare、Steemit、EOS的技术创造者BM,他们都崇尚一种自由,比特币的创造者中本聪无疑也受这种自由思想的影响。对于我们来说,数字货币理解与操作难度大,风险性过高,不需要参与。数字货币受到政府的强硬监管,比特币背后灰色地带滋生的问题浮上台面。(1)在中国造成了资本外流:由于其技术特点,外管局无法监管在境内使用人民币兑换比特币,而后在境外用比特币兑换外币的汇兑方式。比特币成了洗钱通道之一。(2)毒品和枪支买卖的支付方式:比特币成了不法分子购买毒品和枪支的支付手段,促进了非法物品的流通,加深了部分国家、地区人民的苦难。(3)非法集资的新型手段:ICO本质就是发行收益凭证式证券并嫁接在数字货币之上,不需要通过交易所和证监会,躲避法律监管。某些ICO发行过程中甚至连商业计划书都没有,却受到资本追捧,造成投资人血本无归。常见数字货币的分类如下:(1)纯数字货币。(2)支持应用功能的数字货币。(3)解决支付功能的数字货币。(4)隐私货币。(5)解决存储能力的数字货币。(6)其他特殊用途的数字货币。对区块链的误解播报编辑误解1:区块链等于炒比特币2017年比特币的爆炸式繁荣让投资者们看到了一片新兴的蓝海,于是投资者们纷纷进场捞金。这也造成了大家对区块链的第一印象:区块链,仅仅是炒币投机。但是,比特币只是区块链技术的一个应用场景,就像支付宝是互联网金融的一个产物一样。现在在数字货币的市场上交易的不仅有比特币,还有以太坊、瑞波币以及其他数字货币,就跟传统证券市场的股票一样。除此之外,BATJ等各种国内外互联网巨头都致力于区块链技术应用的研究,目前已在产品溯源、电子存证、公益等方面落地,也让社会逐渐开始发现区块链所带来的利好。误解2:区块链上的数据是绝对安全的很多人包括一些在币圈摸爬滚打多年的币民,都认为区块链中的数据是通过加密方式进行存储的,是“绝对安全的”,所以可以将银行账户、一些重要的密码等存储到区块链上。但事实却是,“绝对安全”是不存在的。在公有链中,区块链中存储的数据对每一个节点或者个人都是公开可见的,这意味着,只要在这条链上,任何人都可以查看链上存储的数据。区块链所说的“数据安全”只是表示“数据是无法被篡改的”,任何人没有修改数据的权利,仅此而已。因此区块链上也并不适合存储个人的敏感信息。误解3:区块链适合存储大量数据区块链的分布式特性意味着区块链网络上的每个节点都有区块链的完整副本。如果把区块链用来存储像视频这种大型文件的话,那么节点处理起来将非常困难,从而导致效率低下。比特币的每个区块最多可以保存1MB的数据。因此,遇到这种情况时,一般会将大型的数据文件存储在别的地方,然后再将数据的指纹(哈希值)存储在区块链上。误解4智能合约是存储在区块链上的现实合约实际上,智能合约跟现实世界的合约是完全没有关系的。智能合约是可以存储在区块链上、已经编写完成并可以执行的计算机程序。智能合约是用编程语言编写的,如以太坊是用Solidity,通过以太坊虚拟机这个代码运行环境,智能合约能够在以太坊的区块链上运行,实现功能扩展。而被称为加密货币1.0的比特币比较简单,没有智能合约这个概念,自然也没有办法在比特币的链上创建智能合约,也开发不了DApp应用。但比特币能够支持简单的脚本语言,可以扩展一些简单的功能。因此,智能合约是可以依照预设条件自动执行的计算机程序,但只限于在区块链之内,同时预设的条件也必须是区块链技术所能验证的。误解5:比特币跟硬币的性质是一样的比特币是第一个基于区块链系统的数字货币。在现实世界中,它并不存在实体;在区块链世界中,它仅仅作为交易记录存在。硬币只有一种效用——作为一种简单的价值储存手段。而Token可以存储复杂的值,如属性、效用、收入和可替代性,性质其实并不一样。如果想要购买、发送和接收比特币,与比特币区块链产生交互,那么只需要一个比特币钱包,这个钱包只是一个地址、一个密钥,产生交互的比特币则是一条有效的交易记录,允许节点进行验证。例如,一个矿工进行算力挖矿,获得了12.5个比特币的奖励,这12.5个比特币唯一的有效记录是转人了矿工的钱包,并不会有实体呈现。误解6:比特币成不了主流货币是因为政府比特币目前存在的最大问题是其固有的可扩展性问题。在中本聪的设计里,比特币区块链上出一个块大约需要10分钟,并且每个区块的大小限制在1MB以内,这就造成了比特币这条链目前每秒只能处理7次交易。这使得比特币非常适合转账汇款这种不需要立即进行交易确认的用途。而作为加密货币2.0的以太坊,目前也只能达到每秒20次的TPS。相比之下,2017年“双11”支付宝最高每秒完成25.6万笔交易处理,Visa和Paypal的处理速度也远超比特币和以太坊。因此,比特币目前无法成为主流货币的主因,并不是因为政府、监管和法规的限制,而是其固有的可扩展性问题,让它无法真正在大众之间实现实时、方便的交易和流通。误解7:区块链可以应用于全行业有人将区块链技术理解为第四次工业革命,也有人把它看作互联网发展的迭代。无论怎么说,这是技术发展的大进步,凝聚在这项技术上的价值也有待探索。人类发明了技术,技术也会回馈于人类。有很多人认为,区块链将逐渐成为许多行业都会使用的重要基础设施,远远超出加密货币和金融服务领域。然而虽然区块链技术是一个新进步,但也不是所有行业都需要区块链。短期来看,区块链技术并不能用于全部的生活领域。现在做一个区块链的项目成本并不低,而这方面的人才又相当稀缺,市场经济下,他们只会往收益更好的项目走。当前区块链技术能够适用的行业非常有限,除了在数字货币领域比较成熟,还没有更多地走进其他行业。而中国特色的“无币区块链”也会逐渐被BATJ这种巨头垄断,小型区块链企业想落地应用将会变得愈加困难。区块链技术不能解决所有的社会信任问题,是否能够完全“去中心化”也是一个问号,但在不断被误解、认知逐渐被推进中,区块链正在变得越来越强大,也越来越适应这个时代。区块链的应用播报编辑供应链金融基于区块链的供应链金融应用中,通过将供应链上的每一笔交易和应收账款单据上链,同时引入第三方可信机构,例如银行、物流公司等,来确认这些信息,确保交易和单据的真实性,实现了物流、信息流、资金流的真实上链;同时,支持应收账款的转让、融资、清算等,让核心企业的信用可以传递到供应链的上下游企业,减小中小企业的融资难度,同时解决了机构的监管问题。资产交易通过区块链进行数字资产交易,首先将链下资产登记上链,转换为区块链上的标准化数字资产,不仅能对交易进行存证,还能做到交易即结算,提高交易效率,降低机构间通信协作成本。监管机构加人联盟链中,可实时监控区块链上的数字资产交易,提升监管效率,在必要时进行可信的仲裁、追责。司法存证在司法中,与传统司法证据相比,电子证据等的获取具有以下难点。取证成本高。当前司法取证依赖于具有司法机制的存证机构,具有取证周期长、费用高等特点。同时人力投入大,操作成本较高。取证难校验,公信力可能不足。由于电子证据本身易篡改、难溯源的特点,电子取证的权威性依赖于取证机构的资质与公信力,且取证后难以校验、追责。2018年,我国公布了《最高人民法院关于互联网法院审理案件若干问题的规定》(以下简称《规定》)。《规定》第11条中明确规定:当事人提交的电子数据,通过电子签名、可信时间戳、哈希值校验、区块链等证据收集、固定和防篡改的技术手段或者通过电子取证存证平台认证,能够证明其真实性的,互联网法院应当确认。因此,区块链记录的电子证据可被认为是具有司法效力的证据,已有多个平台成功应用。2022 年 11 月,内蒙古自治区霍林郭勒市人民法院立案庭在对当事人申请司法确认的案件进行审查时,运用“区块链证据核验”技术对已上链存证的调解协议等材料进行核验,作出确认人民调解协议效力的民事裁定书,大大提高了诉前调解案件司法确认的效率,赢得了当事人好评。智能合同智能合同实际上是在另一个物体的行动上发挥功能的计算机程序。与普通计算机程序一样,智能合同也是一种“如果—然后”的功能,但区块链技术实现了这些“合同”的自动填写和执行,无须人工介入。这种合同最终可能会取代法律行业的核心业务,即在商业和民事领域起草和管理合同的业务。溯源、防伪利用追踪记录有形商品或无形信息的流转链条,通过对每一次流转的登记,实现追溯产地、防伪鉴证、根据溯源信息优化供应链、提供供应链金融服务等目标。把区块链技术应用在溯源、防伪、优化供应链上的内在逻辑是数据不可篡改和加盖时间戳。区块链在登记结算场景上的实时对账能力以及在数据存证场景上的不可篡改和加盖时间戳能力为溯源、防伪、优化供应链场景提供了有力的工具。政府政务信息、项目招标等信息公开透明,政府工作通常受公众关注和监督,由于区块链技术能够保证信息的透明性和不可更改性,对政府透明化管理的落实有很大的作用。政府项目招标存在一定的信息不透明性,而企业在密封投标过程中也存在信息泄露的风险。区块链能够保证投标信息无法篡改,并能保证信息的透明性,在彼此不信任的竞争者之间形成信任共识。并能够通过区块链安排后续的智能合约,保证项目的建设进度,一定程度上防止了腐败的滋生。数字证书第一个在数字证书领域进行探索的是MIT的媒体实验室。媒体实验室发布的Blockcert是一个基于比特币区块链的数字学位证书开放标准。发布人创建一个包含一些基本信息的数字文件,如证书授予者的姓名、发行方的名字(麻省理工学院媒体实验室)、发行日期等。然后使用一个仅有Media Lab能够访问的私钥,对证书内容进行签名,并为证书本身追加该签名。接下来,发布人会创建一个哈希,这是一个短字符串,用来验证没有人篡改证书内容。最后,再次使用私钥,在比特币区块链上创建一个记录,表明我们在某个日期为某人颁发了某一证书。物流新加坡公司利用区块链技术,来帮助物流公司调度车队。Yojee是一家成立于2015年1月的新加坡公司,Yojee已经构建了使用人工智能和区块链的软件,充分利用现有的最后一英里交付基础设施来帮助物流企业调整它们的车队。而针对电子商务公司,Yojee推出了一个名为Chatbot的软件,帮助电商公司在没有人管理的情况下预订送货。Chatbot可以将客户的详细信息(如地址、交货时间等)馈送到系统中,系统会自动安排正确的快递。相关政策与法律法规播报编辑2016年10月,工信部发布《中国区块链技术和应用发展白皮书(2016)》,总结了国内外区块链发展现状和典型应用场景,介绍了国内区块链技术发展路线图以及未来区块链技术标准化方向和进程。2016年12月,“区块链”首次被作为战略性前沿技术写入《国务院关于印发“十三五”国家信息化规划的通知》。2017年1月,工信部发布《软件和信息技术服务业发展规划(2016—2020年)》,提出区块链等领域创新达到国际先进水平等要求。2017年8月,国务院发布《关于进一步扩大和升级信息消费持续释放内需潜力的指导意见》提出开展基于区块链、人工智能等新技术的试点应用。2017年8月30日,中国互联网金融协会发布《关于防范各类以ICO名义吸收投资相关风险的提示》指出,国内外部分机构采用各类误导性宣传手段,以ICO名义从事融资活动,相关金融活动未取得任何许可,其中涉嫌诈骗、非法证券、非法集资等行为。2017年9月2日,互联网金融风险专项整治工作领导小组办公室向各省市金融办(局),发布了《关于对代币发行融资开展清理整顿工作的通知》。要求各省市金融办(局)对辖内平台高管人员进行约谈和监控,账户监控,必要时冻结资金资产,防止平台卷款跑路。全面停止新发生代币发行融资活动,建立代币发行融资的活动监测机制,防止死灰复燃;对已完成的ICO项目要进行逐案研判,针对大众发行的要清退,打击违法违规行为。针对已发项目清理整顿的内容,要求各地互金整治办对已发项目逐案研判,对违法违规行为进行查处。2017年9月4日,央行等七部委(中国人民银行、中央网信办、工信部、工商总局、银监会、证监会、保监会)发布《关于防范代币发行融资风险的公告》指出,比特币、以太币等所谓虚拟货币,本质上是一种未经批准非法公开融资的行为,代币发行融资与交易存在多重风险,包括虚假资产风险、经营失败风险、投资炒作风险等,投资者须自行承担投资风险。要求即日停止各类代币发行融资活动,已完成代币发行融资的组织和个人应当作出清退等安排等。2017年10月,国务院发布《关于积极推进供应链创新与应用的指导意见》提出要研究利用区块链、人工智能等新兴技术,建立基于供应链的信用评价机制。2018年3月,工信部发布《2018年信息化和软件服务业标准化工作要点》,提出推动组建全国信息化和工业化融合管理标准化技术委员会、全国区块链和分布式记账技术标准化技术委员会。2019年10月底,中共中央政治局就区块链技术发展现状和趋势进行了第十八次集体学习,中央领导明确强调把区块链作为核心技术自主创新的重要突破口,加快推动区块链技术和产业创新发展。2019年11月,工信部网站发布的《对十三届全国人大二次会议第1394号建议的答复》称,将推动成立全国区块链和分布式记账技术标准化委员会,体系化推进标准制定工作。加快制定关键急需标准,构建标准体系。积极对接ISO、ITU等国际组织,积极参与国际标准化工作。2021年5月,工信部与中央网信办联合发布《关于加快推进区块链技术应用和产业发展的指导意见》,提出培养一批区块链名品、名企、名园,建设开源生态,坚持补短板和锻长板并重,加快打造完备的区块链产业链。2021年9月,中国人民银行、中央网信办等多部门联合发布《关于进一步防范和处置虚拟货币交易炒作风险的通知》,进一步防范加密货币炒作风险。2022年1月30日,中央网信办发布《中央网信办等十六部门联合公布国家区块链创新应用试点名单》,包含15个综合性试点单位,以及涵盖区块链+制造、能源、政务服务/政务数据共享、法治、税务服务、审判、检察、版权、民政、人社、教育、卫生健康、贸易金融、风险管控、股权市场、跨境金融等16个行业的164个特色领域试点单位。2023年5月23日,国家市场监督管理总局和国家标准化管理委员会联合发布了由中国科学院信息工程研究所牵头起草的《信息安全技术 区块链信息服务安全规范》,该标准将于2023年12月1日起实施 [29]。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000什么是区块链?区块链本身具有哪些技术特点和应用价值? - 知乎
什么是区块链?区块链本身具有哪些技术特点和应用价值? - 知乎首页知乎知学堂发现等你来答切换模式登录/注册职场职场困惑区块链什么是区块链?区块链本身具有哪些技术特点和应用价值?关注者5被浏览9,735关注问题写回答邀请回答好问题添加评论分享4 个回答默认排序螃蟹哥炒币 关注区块链是一种近年来备受关注的技术,在金融、物流、医疗等多个领域都有广泛的应用。本文将深入探讨区块链是什么,区块链的价值和应用前景有哪些,同时也分析其局限性。我们将从技术特点、应用场景等各个方面进行细致的解析,旨在全面而深入地了解区块链技术。区块链的定义和技术特点区块链是一种分布式账本技术,它的特点在于去中心化、不可篡改、安全可靠以及可追溯。区块链技术采用了一种分布式共识机制,通过多方的验证和认可来确保数据的可信度和完整性。首先,区块链的去中心化是指没有集中的第三方机构来掌控和管理数据,所有的参与者通过对等的节点来协同维护分布式账本。这种机制使得区块链能够突破现有的中心化体系的限制,实现更加普惠的数据共享。其次,区块链的不可篡改性是指一旦数据被写入区块链,就不能被篡改或删除。因为区块链上的每条记录都会被加密、指纹、签名等多种数据安全技术所保护,同时区块链的分布式共识机制也保证了数据的一致性和准确性。另外,区块链还具有安全可靠和可追溯的特点。区块链上的所有交易记录都被记录在分布式账本上,任何人都可以随时查看数据,这可以有效提高数据的透明度和公信力。且所有交易都是基于密钥签名的,这可以保证交易的安全性和隐私性。区块链的应用场景和价值区块链技术具有广泛的应用前景,尤其在金融、物流、医疗、知识产权等领域有着潜力巨大的应用。在金融领域,区块链技术可以实现跨境汇款、融资和交易等多种功能。例如,通过区块链技术,可以实现无人值守的智能合约,自动化执行交易流程,减少人力成本和时间成本。同时,区块链技术可以有效预防金融诈骗和洗钱等金融犯罪行为,提高了金融交易的安全性。在物流领域,区块链技术可以实现物品的全程追溯。区块链技术可以记录物品的来源、生产时间、运输路线等信息,确保物品的质量和安全性。同时,区块链技术还可以提高物流效率,降低物流成本,提高物流供应链可持续性。在医疗领域,区块链技术可以实现病历的共享和医疗数据的安全存储。目前,医疗行业存在着病历信息孤岛和医疗数据难以传递的问题,使用区块链技术可以将数据共享和存储在一个无中心化且安全可靠的平台上,保证了数据的完整性和安全性,提高了医疗服务的质量和效率。在知识产权领域,区块链技术可以实现数字版权、溯源查询等多种功能。区块链技术可以将知识产权和数字版权的信息记录在分布式账本上,确保信息的安全和可追溯性,有效保护了知识产权和数字版权的权益。区块链的局限性和挑战然而,区块链技术也存在一些局限性和挑战。首先,区块链技术的普及和应用面临着一定的技术门槛和成本问题。目前区块链技术的操作和维护还需要一定的技术知识和资金投入,对于小型企业和个人而言,存在一定的门槛和挑战。其次,区块链技术的可扩展性和性能也是需要关注的问题。随着区块链应用场景的不断扩展和数据量的不断增加,区块链技术所面临的问题也愈发复杂。例如在比特币区块链网络中,存在着交易速度较慢、交易费用过高等问题。此外,区块链技术的安全性也需要更加关注和保证。尽管区块链技术具有很高的安全性和不可篡改性,但是目前已经出现了多种攻击和漏洞。因此,区块链的安全性需要逐步提高和完善。总结总之,区块链技术是一种崭新的技术,具有广泛的应用价值和前景。同时,我们也需要考虑到区块链技术所面临的局限性和挑战。在实践过程中,需要根据具体场景和需求,合理评估区块链技术的可行性和有效性,推动区块链技术的标准化和规范化,提高其稳定性和可持续性。发布于 2023-11-08 09:07赞同 2添加评论分享收藏喜欢收起中科基大数据数智转型,智慧大脑,有我,不再烦恼! 关注区块链技术是一种具有改变世界的颠覆性技术,2016年麦肯锡发布的报告中指出区块链是继蒸汽机、电力、信息和互联网之后最有可能触发颠覆性革命浪潮的核心技术”,北京航空航天大学蔡维德教授曾说过:如果银行采用区块链技术,那么每年将会节省2.2万亿美元的资金!”,这能看出区块链所蕴含的巨大潜力。大多数人对区块链的认识源自于比特币”,正是因为有区块链技术的支撑,比特币才在全世界范围内大行其道,那么到底区块链技术有哪些显著的优势呢?用一句话概括就是:用较低成本解决了陌生人之间的信任问题!具体有以下几点:一、去中心化。区块链技术可以看作是一种分布式账本”,大家人手一本,并且所有账本的内容是一样的,而记账的过程也全都是在大家共同的监管之下完成的,公开透明,所以不存在作弊”问题,因此应用区块链技术的交易过程可以大大减少人力和其他成本,举个好理解一些的例子,比如我们在某宝买了一件商品,那么我们买卖双方都要通过支付宝进行交易,假如支付宝有问题(比如卷款跑路、拿了钱不承认或者外界影响因素)那么我们的钱就损失了,但如果采用区块链技术那么我们买卖双方都生成完成了这笔交易就行了,并且不用担心任何其他问题。二、不可篡改。区块链技术决定了这种账本的内容一旦形成则不可更改,因此我们可以完全相信账本的内容,这就是区块链的可信任性”。假如有人想偷偷修改一下自己手里的账本,但是不要忘了大家人手一本,你就改你只能改你自己手里的账本,别人的是改不了的,因此你的修改就会被认为是非法和无效的,也就是说已经形成的账目,任何人都无法修改。三、安全性。区块链采用加密算法,确保未得到授权的情况下不能访问账户中的数据信息,这保证了账户中的数据信息可以长期保存。区块链技术使得交易过程无需再为信任而付出额外的成本,大大降低了交易的复杂性,所以区块链技术可以推广到所有的数字化领域,并为我们的社会带来巨大的改变。但是区块链技术同时也存在很多的缺点,不过随着技术的发展,这些缺点都将会被一 一克服,届时区块链技术将如同网络一样渗入我们生活工作的方方面面。区块链本质上是一个分布式的公共账本,将各个区块连成一个链条。我们可以将其定义为一个系统,它让一组互联的电脑安全地共同维护一份帐本,每台计算机就是一个数据库(服务器),中间无需第三方服务器。所以,区块链不是一种特定的软件,就像“数据库”这个三个字表现的意思一样,它是一种特定技术的设计思想。就像TCP/IP协议和普通人之间的关系,普通人完全不需要知道什么是互联网底层的TCP/IP协议,只要享受互联网提供的服务就行。普通人和区块链基本上没什么关系,除非是准备从事这方面的创业。比于传统的中心化方案,区块链技术主要有以下三个特征:1、区块链的核心思想是去中心化在区块链系统中,任意节点之间的权利和义务都是均等的,所有的节点都有能力去用计算能力投票,从而保证了得到承认的结果是过半数节点公认的结果。即使遭受严重的黑客攻击,只要黑客控制的节点数不超过全球节点总数的一半,系统就依然能正常运行,数据也不会被篡改。2、区块链最大的颠覆性在于信用的建立理论上说,区块链技术可以让微信支付和支付宝不再有存在价值。《经济学人》对区块链做了一个形象的比喻:简单地说,它是“一台创造信任的机器”。区块链让人们在互不信任并没有中立中央机构的情况下,能够做到互相协作。打击假币和金融诈骗未来都不需要了。3、区块链的集体维护可以降低成本在中心化网络体系下,系统的维护和经营依赖于数据中心等平台的运维和经营,成本不可省略。区块链的节点是任何人都可以参与的,每一个节点在参与记录的同时也来验证其他节点记录结果的正确性,维护效率提高,成本降低。可应用的领域:一、金融领域区块链能够提供信任机制,具备改变金融基础架构的潜力,各类金融资产如股权、债券、票据、仓单、基金份额等都可以被整合到区块链技术体系中,成为链上的数字资产,在区块链上进行存储、转移和交易。区块链技术的去中心化,能够降低交易成本,使金融交易更加便捷、直观和安全。区块链技术与金融业相结合,必然会创造出越来越多的业务模式,服务场景、业务流程和金融产品,从而给金融市场、金融机构、金融服务及金融业态发展带来更多影响。随着区块链技术的改进及区块链技术与其他金融科技的结合,区块链技术将逐步适应大规模金融场景的应用。二、公共服务领域传统的公共服务依赖于有限的数据维度,获得的信息可能不够全面且有一定的滞后性。区块链不可篡改的特性使链上的数字化证明可信度极高,在产权、公证及公益等领域都可以以此建立全新的认证机制,改善公共服务领域的管理水平。公益流程中的相关信息如捐赠项目、募集明细、资金流向、受助人反馈等,均可存放于区块链上,在满足项目参与者隐私保护及其他相关法律法规要求的前提下,有条件地进行公开公示,方便公众和社会监督。三、信息安全领域利用区块链可追溯、不可篡改的特性,可以确保数据来源的真实性,同时保证数据的不可伪造性,区块链技术将从根本上改变信息传播路径的安全问题。区块链对于信息安全领域体现在以下三点:一、用户身份认证保护二、数据完整性保护三、有效阻止DDoS攻击区块链的分布式存储架构则会令黑客无所适从,已经有公司着手开发基于区块链的分布式互联网域名系统,绝除当前DNS注册弊病的祸根,使网络系统更加干净透明。四、物联网领域区块链+物联网,可以让物联网上的每个设备独立运行,整个网络产生的信息可以通过区块链的智能合约进行保障。a)安全性传统物联网设备极易遭受攻击,数据易受损失且维护费用高昂。物联网设备典型的信息安全风险问题包括,固件版本过低、缺少安全补丁、存在权限漏洞、设备网络端口过多、未加密的信息传输等。区块链的全网节点验证的共识机制、不对称加密技术及数据分布式存储将大幅降低黑客攻击的风险。b)可信性传统物联网由中心化的云服务器进行管控,因设备的安全性和中心化服务器的不透明性,用户的隐私数据难以得到有效保障。而区块链是一个分布式账簿,各区块既相互联系又有各自独立的工作能力,保证链上信息不会被随意篡改。因此,分布式账本可以为物联网提供信任、所有权记录、透明性和通信支持。c)效益性受限于云服务和维护成本,物联网难以实现大规模商用。传统物联网实现物物通信是经由中心化的云服务器。该模式的弊端是,随着接入设备的增多,服务器面临的负载也更多,需要企业投入大量资金来维持物联网体系的正常运转。而区块链技术可以直接实现点对点交易,省略了中间其他中介机构或人员的劳务支出,可以有效减少第三方服务所产生的费用,实现效益最大化。五、供应链领域供应链由众多参与主体构成,存在大量交互协作,信息被离散地保存在各自的系统中,缺乏透明度。信息的不流畅导致各参与主体难以准确地了解相关事项的实时状况及存在问题,影响供应链的协同效率。当各主体间出现纠纷时,举证和追责耗时耗力。区块链可以使数据在各主体之间公开透明,从而在整个供应链条上形成完整、流畅、不可篡改的信息流。这可以确保各主体及时发现供应链系统运行过程中产生的问题,并有针对性地找到解决方案,进而提升供应链管理的整体效率。发布于 2023-11-13 15:28赞同 1添加评论分享收藏喜欢收起
区块链(Blockchain)简介(科普) - 知乎
区块链(Blockchain)简介(科普) - 知乎切换模式写文章登录/注册区块链(Blockchain)简介(科普)jack区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的技术保证数据传输和访问控制的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。目前,区块链被很多大型机构称为彻底改变业务乃至机构运作模式的重大突破性技术。在金融、物联网、公益慈善、医疗健康、供应链等领域,越来越多的企业机构开始探索区块链在行业中的应用前景,规划基于区块链技术的数据流通路线图。区块链兴起与演变之路区块链技术起源于化名为“中本聪(Satoshi Nakamoto)的学者在 2008 年发表的奠基性论文《比特币:一种点对点电子现金系统》。文章提出,希望可以创建一套“基于密码学原理而非基于信用“的电子支付系统,任何人可以在不知道对方背景信息的情况下进行交易,且不需要第三方的介入。这篇文章催生了比特币,标志着人类社会的货币体系的全新实验。众所周知,比特币在没有任何中心化机构运营和管理的情况下,多年来运行非常稳定。其原因就在于比特币的发行方式都是由程序和加密算法预先设定后,在全世界的多个节点上运行,没有任何人和机构可以篡改,不受任何单一用户控制。后来,人们把这种基于密码学与分布式存储的底层技术抽象提取出来,称之为区块链技术。2013 年,19 岁的 Vitalik Buterin 发布了题为“以太坊白皮书:下一代智能合约与去中心化应用平台”的白皮书,提出基于通用的编程语言来创建各种各样的分布式应用,被称为“世界计算机”。2015 年,Linux 基金会发起 Hyperledger(“超级账本”)开源项目,众多金融机构及 IBM、英特尔等巨头加入合作。2016 年起,区块链技术开始从加密数字货币向更多应用场景扩展,引发了全球区块链应用浪潮。2016 年底,区块链技术首次被列入国务院《“十三五”国家信息化规划》,2017年工信部发布中国首个区块链标准《区块链参考架构》。区块链根据应用场景和设计不同,主要分为公有链、联盟链和私有链:(1) 公有链:以比特币、以太坊和所有数字货币为代表,各个节点可以自由进入或退出区块链网络;(2) 联盟链:各个节点通常代表实体组织机构或个人,通常需要经过授权后加入或退出网路。由于各机构间通常存在相关利益,因此需要各方共同参与和维护;(3) 私有链:各个节点的准入和退出权限均由内部控制,通常是在特定机构内用于内部数据管理与审计。区块链主要优势特点现有的区块链技术主要包含以下四个特点:(1) 去中心化:无需第三方介入,实现点对点的交易、协调和协作。在区块链系统中,没有任何一个机构或个人可以实现对全局数据的控制,而任一节点停止工作都不会影响系统整体运作,这种去中心化的网络将极大地提升数据安全性。(2) 不可篡改性:区块链利用加密技术来验证与存储数据、利用分布式共识算法来新增和更新数据,区块链需要各节点参与验证交易和出块;修改任一数据需要变更所有后续记录,修改单节点数据难度极大。(3) 公开透明与可溯源性:写入的区块内容将备份复制到各节点中,各节点都拥有最新的完整数据库拷贝且所有的记录信息都是公开的,任何人通过公开的接口都可查询区块数据。区块链中的每一笔交易通过链式存储固化到区块数据中,同时通过密码学算法对所有区块的所有交易记录进行叠加式 HASH 摘要处理,因此可追溯到任何一笔交易历史。(4) 集体维护性:区块链去中心化的特征决定了它的集体维护性。传统中心化机构通常要身兼三职:数据存储者、数据管理者和数据分析者,区块链则以对等的方式由各参与方共同维护,各方权责明确,无需向第三方机构让渡权利,实现共同协作。区块链核心关键技术从技术角度来讲,区块链并不是一个全新的技术,而是集成了多种现有技术进行的组合式创新,涉及到以下几个方面:(1) 共识机制:常用的共识机制主要有 PoW、PoS、DPoS、PBFT、PAXOS、DPOP等。由于区块链系统中没有一个中心,因此需要有一个预设的规则来指导各方节点在数据处理上达成一致,所有的数据交互都要按照严格的规则和共识进行;2) 密码学技术:密码学技术是区块链的核心技术之一,目前的区块链应用中采用了很多现代密码学的经典算法,主要包括:哈希算法、对称加密、非对称加密、数字签名等。● HASH 摘要算法:HASH 算法的目的是针对不同输入,产生一个唯一的固定长度的输出。HASH 算法有 3 个特点:一是不同的输入数据产生的输出数据必定不同;二是输入数据的微小变动会导致输出的较大不同;三是给定已知输出数据,无法还原出原始的输入数据。常用的 SHA-256 算法就是针对任意长的数据数列输出 256 位数据,实际使用中 SHA256 用于对区块链的每个区块数据进行 HASH 摘要后防止篡改, 同时结合 Merkle Tree 数据结构实现部分区块数据的 HASH 值验证。● 对称加密算法:对称加密算法利用加密密钥对原始数据进行加密处理,然后将加密后的密文发送给接收者,接收者利用同一密钥及相同算法的逆算法对密文进行解密,才能使其恢复成原始数据。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。区块链技术中常用的对称加密算法有 AES。● 非对称加密算法:非对称加密算法需要两个密钥:公开密钥(Public Key)和私有密钥(Private Key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。其实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。● 数字签名算法:区块链技术中使用到的数字签名技术用于验证信息的完整性和真实性,基本流程如下:发送者将需要签名的原始数据进行 HASH 摘要,然后对摘要信息用私钥加密后与原始数据一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用同样 HASH 函数对收到的原文产生一个摘要信息,如果与解密的摘要信息对比相同则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。此外,信息发送者拥有私钥且不公开,因此只有发送者本人才能构造基于其私钥的签名信息,可以确保签名真实性。ECDSA 是区块链技术中常用的数字签名技术。(3) 分布式存储:区块链是一种点对点网络上的分布账本,每个参与的节点都将独立完整地存储写入区块数据信息。分布式存储区别于传统中心化存储的优势主要体现在两个方面:一、每个节点上备份数据信息,避免了由于单点故障导致的数据丢失。二、 每个节点上的数据都独立存储,有效规避了恶意篡改历史数据。(4) 智能合约:智能合约允许在没有第三方的情况下进行可信交易,只要一方达成了协议预先设定的目标,合约将会自动执行交易,这些交易可追踪且不可逆转。具有透明可信、自动执行、强制履约的优点。区块链未来发展趋势面对区块链技术带来的机遇与挑战,全球各行各业都在进行积极布局,试图通过这一“组合式创新”技术改变原有的业务与管理模式,构建一个多方参与、安全信任的新型生态体系。区块链的未来发展趋势主要体现在以下几个方面:(1) 产业渗透:虽然区块链的底层架构源于比特币,但作为一种通用技术,区块链正加速从数字货币向其他领域渗透,和各行各业创新融合。目前,金融服务、数字资产、慈善公益等行业纷纷投入到区块链应用的探索中,利用日志存证、信息追溯等特点,改变行业内原有的交易不公开透明等问题。相信在未来,区块链将在更多的领域发挥作用。诸如医疗健康等涉及到大规模数据交互的行业,必将通过区块链技术实现数据的可信交易,破除现有的利益壁垒,打造一个全新的数据行业内外安全共享生态体系;(2) 多中心化:区块链的核心并不是“为了去中心化而抛弃中心化管理”,而是构建多方信任机制。在未来,随着跨链技术的不断发展,区块链的架构将演变为多方共同参与的可信任体系。即在多方信息不对称、背景不清晰的情况下,构建多方赖以信任与合作的新生态。未来在多中心化和去中心化之间,将会存在一个中间区域,而不同区块链系统根据特定场景需求,将呈现不同的非中心化程度。(3) 技术融合:以云计算、大数据、物联网为代表的新一代信息技术正渗透进各行各业。未来区块链的发展必将以技术融合为切入点,共同解决单一技术的不足与难点,扩大应用场景,降低应用成本。以区块链与物联网结合为例,物联网是互联网在实体经济中的延伸,通过计算机技术实现物品与物品之间的信息交换与通信。区块链系统是典型的点对点网络,具有分布式异构特征,天然适合于在物联网中建立各主体的共识机制,制定交互规则,构建去中心化控制的交易网络。因此,如何通过区块链与其他技术的融合,实现产业创新,将成为区块链未来发展的重要课题。(4) 标准规范:企业应用在未来将是区块链的主战场,联盟链将成为主流方向。与公有链不同,在企业级应用中,人们不仅关注通过软件和算法来构建信任基础,更重要的是如何从用户体验与业务需求出发,构建一套基于共识机制、权限管理、智能合约等多维度的生态规则。面对不断演进的区块链技术,同步考虑相应的技术标准和法律法规,增加区块链的可信程度,建立区块链的应用准则加强监管,防范风险。发布于 2020-07-25 13:53赞同 7添加评论分享喜欢收藏申请
区块链技术研究综述:原理、进展与应用
区块链技术研究综述:原理、进展与应用
主管单位:中国科学技术协会
主办单位:中国通信学会
ISSN 1000-436X CN 11-2102/TN
首页
期刊简介
编委会
投稿指南
道德声明
期刊协议
期刊订阅
会议活动
下载中心
联系我们
English
期刊介绍
期刊信息
投稿须知
稿件格式要求
审稿流程
下载中心
联系方式
Toggle navigation
首页
期刊简介
期刊介绍
期刊信息
编委会
投稿指南
投稿须知
稿件格式要求
审稿流程
下载中心
道德声明
期刊协议
期刊订阅
会议活动
联系我们
English
通信学报, 2020, 41(1): 134-151 doi: 10.11959/j.issn.1000-436x.2020027
综述
区块链技术研究综述:原理、进展与应用
曾诗钦1, 霍如2,3, 黄韬1,3, 刘江1,3, 汪硕1,3, 冯伟4
1 北京邮电大学网络与交换国家重点实验室,北京 100876
2 北京工业大学北京未来网络科技高精尖创新中心,北京 100124
3 网络通信与安全紫金山实验室,江苏 南京 211111
4 工业和信息化部信息化和软件服务业司,北京 100846
Survey of blockchain:principle,progress and application
ZENG Shiqin1, HUO Ru2,3, HUANG Tao1,3, LIU Jiang1,3, WANG Shuo1,3, FENG Wei4
1 State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications,Beijing 100876,China
2 Beijing Advanced Innovation Center for Future Internet Technology,Beijing University of Technology,Beijing 100124,China
3 Purple Mountain Laboratories,Nanjing 211111,China
4 Department of Information Technology Application and Software Services,Beijing 100846,China
通讯作者: 霍如,huoru@bjut.edu.cn
修回日期: 2019-12-12
网络出版日期: 2020-01-25
基金资助:
国家高技术研究发展计划(“863”计划)基金资助项目. 2015AA015702未来网络操作系统发展战略研究基金资助项目. 2019-XY-5
Revised: 2019-12-12
Online: 2020-01-25
Fund supported:
The National High Technology Research and Development Program of China (863 Program). 2015AA015702The Development Strategy Research of Future Network Operating System. 2019-XY-5
作者简介 About authors
曾诗钦(1995-),男,广西南宁人,北京邮电大学博士生,主要研究方向为区块链、标识解析技术、工业互联网
。
霍如(1988-),女,黑龙江哈尔滨人,博士,北京工业大学讲师,主要研究方向为计算机网络、信息中心网络、网络缓存策略与算法、工业互联网、标识解析技术等。
。
黄韬(1980-),男,重庆人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化等。
。
刘江(1983-),男,河南郑州人,博士,北京邮电大学教授,主要研究方向为未来网络体系架构、软件定义网络、网络虚拟化、信息中心网络等。
。
汪硕(1991-),男,河南灵宝人,博士,北京邮电大学在站博士后,主要研究方向为数据中心网络、软件定义网络、网络流量调度等。
。
冯伟(1980-),男,河北邯郸人,博士,工业和信息化部副研究员,主要研究方向为工业互联网平台、数字孪生、信息化和工业化融合发展关键技术等
。
摘要
区块链是一种分布式账本技术,依靠智能合约等逻辑控制功能演变为完整的存储系统。其分类方式、服务模式和应用需求的变化导致核心技术形态的多样性发展。为了完整地认知区块链生态系统,设计了一个层次化的区块链技术体系结构,进一步深入剖析区块链每层结构的基本原理、技术关联以及研究进展,系统归纳典型区块链项目的技术选型和特点,最后给出智慧城市、工业互联网等区块链前沿应用方向,提出区块链技术挑战与研究展望。
关键词:
区块链
;
加密货币
;
去中心化
;
层次化技术体系结构
;
技术多样性
;
工业区块链
Abstract
Blockchain is a kind of distributed ledger technology that upgrades to a complete storage system by adding logic control functions such as intelligent contracts.With the changes of its classification,service mode and application requirements,the core technology forms of Blockchain show diversified development.In order to understand the Blockchain ecosystem thoroughly,a hierarchical technology architecture of Blockchain was proposed.Furthermore,each layer of blockchain was analyzed from the perspectives of basic principle,related technologies and research progress in-depth.Moreover,the technology selections and characteristics of typical Blockchain projects were summarized systematically.Finally,some application directions of blockchain frontiers,technology challenges and research prospects including Smart Cities and Industrial Internet were given.
Keywords:
blockchain
;
cryptocurrency
;
decentralization
;
hierarchical technology architecture
;
technology diversity
;
PDF (1174KB)
元数据
多维度评价
相关文章
导出
EndNote|
Ris|
Bibtex
收藏本文
本文引用格式
曾诗钦, 霍如, 黄韬, 刘江, 汪硕, 冯伟. 区块链技术研究综述:原理、进展与应用. 通信学报[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
ZENG Shiqin. Survey of blockchain:principle,progress and application. Journal on Communications[J], 2020, 41(1): 134-151 doi:10.11959/j.issn.1000-436x.2020027
1 引言
2008年,中本聪提出了去中心化加密货币——比特币(bitcoin)的设计构想。2009年,比特币系统开始运行,标志着比特币的正式诞生。2010—2015 年,比特币逐渐进入大众视野。2016—2018年,随着各国陆续对比特币进行公开表态以及世界主流经济的不确定性增强,比特币的受关注程度激增,需求量迅速扩大。事实上,比特币是区块链技术最成功的应用场景之一。伴随着以太坊(ethereum)等开源区块链平台的诞生以及大量去中心化应用(DApp,decentralized application)的落地,区块链技术在更多的行业中得到了应用。
由于具备过程可信和去中心化两大特点,区块链能够在多利益主体参与的场景下以低成本的方式构建信任基础,旨在重塑社会信用体系。近两年来区块链发展迅速,人们开始尝试将其应用于金融、教育、医疗、物流等领域。但是,资源浪费、运行低效等问题制约着区块链的发展,这些因素造成区块链分类方式、服务模式和应用需求发生快速变化,进一步导致核心技术朝多样化方向发展,因此有必要采取通用的结构分析区块链项目的技术路线和特点,以梳理和明确区块链的研究方向。
区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值。袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势。上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析。本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望。
2 相关概念
随着区块链技术的深入研究,不断衍生出了很多相关的术语,例如“中心化”“去中心化”“公链”“联盟链”等。为了全面地了解区块链技术,并对区块链技术涉及的关键术语有系统的认知,本节将给出区块链及其相关概念的定义,以及它们的联系,更好地区分易使人混淆的术语。
2.1 中心化与去中心化
中心化(centralization)与去中心化(decentralization)最早用来描述社会治理权力的分布特征。从区块链应用角度出发,中心化是指以单个组织为枢纽构建信任关系的场景特点。例如,电子支付场景下用户必须通过银行的信息系统完成身份验证、信用审查和交易追溯等;电子商务场景下对端身份的验证必须依靠权威机构下发的数字证书完成。相反,去中心化是指不依靠单一组织进行信任构建的场景特点,该场景下每个组织的重要性基本相同。
2.2 加密货币
加密货币(cryptocurrency)是一类数字货币(digital currency)技术,它利用多种密码学方法处理货币数据,保证用户的匿名性、价值的有效性;利用可信设施发放和核对货币数据,保证货币数量的可控性、资产记录的可审核性,从而使货币数据成为具备流通属性的价值交换媒介,同时保护使用者的隐私。
加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示。
图1
新窗口打开|
下载原图ZIP|
生成PPT
图1
“electronic cash”交易模型
交易开始前,付款者使用银行账户兑换加密货币,然后将货币数据发送给领款者,领款者向银行发起核对请求,若该数据为银行签发的合法货币数据,那么银行将向领款者账户记入等额数值。通过盲签名技术,银行完成对货币数据的认证,而无法获得发放货币与接收货币之间的关联,从而保证了价值的有效性、用户的匿名性;银行天然具有发放币种、账户记录的能力,因此保证了货币数量的可控性与资产记录的可审核性。
最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点。此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值。比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币。区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一。
2.3 区块链及工作流程
一般认为,区块链是一种融合多种现有技术的新型分布式计算和存储范式。它利用分布式共识算法生成和更新数据,并利用对等网络进行节点间的数据传输,结合密码学原理和时间戳等技术的分布式账本保证存储数据的不可篡改,利用自动化脚本代码或智能合约实现上层应用逻辑。如果说传统数据库实现数据的单方维护,那么区块链则实现多方维护相同数据,保证数据的安全性和业务的公平性。区块链的工作流程主要包含生成区块、共识验证、账本维护3个步骤。
1) 生成区块。区块链节点收集广播在网络中的交易——需要记录的数据条目,然后将这些交易打包成区块——具有特定结构的数据集。
2) 共识验证。节点将区块广播至网络中,全网节点接收大量区块后进行顺序的共识和内容的验证,形成账本——具有特定结构的区块集。
3) 账本维护。节点长期存储验证通过的账本数据并提供回溯检验等功能,为上层应用提供账本访问接口。
2.4 区块链类型
根据不同场景下的信任构建方式,可将区块链分为2类:非许可链(permissionless blockchain)和许可链(permissioned blockchain)。
非许可链也称为公链(public blockchain),是一种完全开放的区块链,即任何人都可以加入网络并参与完整的共识记账过程,彼此之间不需要信任。公链以消耗算力等方式建立全网节点的信任关系,具备完全去中心化特点的同时也带来资源浪费、效率低下等问题。公链多应用于比特币等去监管、匿名化、自由的加密货币场景。
许可链是一种半开放式的区块链,只有指定的成员可以加入网络,且每个成员的参与权各有不同。许可链往往通过颁发身份证书的方式事先建立信任关系,具备部分去中心化特点,相比于非许可链拥有更高的效率。进一步,许可链分为联盟链(consortium blockchain)和私链(fully private blockchain)。联盟链由多个机构组成的联盟构建,账本的生成、共识、维护分别由联盟指定的成员参与完成。在结合区块链与其他技术进行场景创新时,公链的完全开放与去中心化特性并非必需,其低效率更无法满足需求,因此联盟链在某些场景中成为实适用性更强的区块链选型。私链相较联盟链而言中心化程度更高,其数据的产生、共识、维护过程完全由单个组织掌握,被该组织指定的成员仅具有账本的读取权限。
3 区块链体系结构
根据区块链发展现状,本节将归纳区块链的通用层次技术结构、基本原理和研究进展。
现有项目的技术选型多数由比特币演变而来,所以区块链主要基于对等网络通信,拥有新型的基础数据结构,通过全网节点共识实现公共账本数据的统一。但是区块链也存在效率低、功耗大和可扩展性差等问题,因此人们进一步以共识算法、处理模型、交易模式创新为切入点进行技术方案改进,并在此基础上丰富了逻辑控制功能和区块链应用功能,使其成为一种新型计算模式。本文给出如图2 所示的区块链通用层次化技术结构,自下而上分别为网络层、数据层、共识层、控制层和应用层。其中,网络层是区块链信息交互的基础,承载节点间的共识过程和数据传输,主要包括建立在基础网络之上的对等网络及其安全机制;数据层包括区块链基本数据结构及其原理;共识层保证节点数据的一致性,封装各类共识算法和驱动节点共识行为的奖惩机制;控制层包括沙盒环境、自动化脚本、智能合约和权限管理等,提供区块链可编程特性,实现对区块数据、业务数据、组织结构的控制;应用层包括区块链的相关应用场景和实践案例,通过调用控制合约提供的接口进行数据交互,由于该层次不涉及区块链原理,因此在第 5节中单独介绍。
3.1 网络层
网络层关注区块链网络的基础通信方式——对等(P2P,peer-to-peer)网络。对等网络是区别于“客户端/服务器”服务模式的计算机通信与存储架构,网络中每个节点既是数据的提供者也是数据的使用者,节点间通过直接交换实现计算机资源与信息的共享,因此每个节点地位均等。区块链网络层由组网结构、通信机制、安全机制组成。其中组网结构描述节点间的路由和拓扑关系,通信机制用于实现节点间的信息交互,安全机制涵盖对端安全和传输安全。
图2
新窗口打开|
下载原图ZIP|
生成PPT
图2
区块链层次化技术结构
1) 组网结构
对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示。
图3
新窗口打开|
下载原图ZIP|
生成PPT
图3
区块链组网结构
无结构对等网络是指网络中不存在特殊中继节点、节点路由表的生成无确定规律、网络拓扑呈现随机图状的一类对等网络。该类网络结构松散,设计简洁,具有良好的容错性和匿名性,但由于采用洪泛机制作为信息传播方式,其可扩展性较差。典型的协议有Gnutella等。
结构化对等网络是指网络中不存在特殊中继节点、节点间根据特定算法生成路由表、网络拓扑具有严格规律的一类对等网络。该类网络实现复杂但可扩展性良好,通过结构化寻址可以精确定位节点从而实现多样化功能。常见的结构化网络以DHT (distributed hash table)网络为主,典型的算法有Chord、Kademlia等。
混合式对等网络是指节点通过分布式中继节点实现全网消息路由的一类对等网络。每个中继节点维护部分网络节点地址、文件索引等工作,共同实现数据中继的功能。典型的协议有Kazza等。
2) 通信机制
通信机制是指区块链网络中各节点间的对等通信协议,建立在 TCP/UDP 之上,位于计算机网络协议栈的应用层,如图4所示。该机制承载对等网络的具体交互逻辑,例如节点握手、心跳检测、交易和区块传播等。由于包含的协议功能不同(例如基础链接与扩展交互),本文将通信机制细分为3个层次:传播层、连接层和交互逻辑层。
传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播。单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播。连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability)。具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等。交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路。
图4
新窗口打开|
下载原图ZIP|
生成PPT
图4
区块链网络通信机制
3) 安全机制
安全是每个系统必须具备的要素,以比特币为代表的非许可链利用其数据层和共识层的机制,依靠消耗算力的方式保证数据的一致性和有效性,没有考虑数据传输过程的安全性,反而将其建立在不可信的透明P2P网络上。随着隐私保护需求的提出,非许可链也采用了一些网络匿名通信方法,例如匿名网络Tor(the onion router)通过沿路径的层层数据加密机制来保护对端身份。许可链对成员的可信程度有更高的要求,在网络层面采取适当的安全机制,主要包括身份安全和传输安全两方面。身份安全是许可链的主要安全需求,保证端到端的可信,一般采用数字签名技术实现,对节点的全生命周期(例如节点交互、投票、同步等)进行签名,从而实现许可链的准入许可。传输安全防止数据在传输过程中遭到篡改或监听,常采用基于TLS的点对点传输和基于Hash算法的数据验证技术。
4) 研究现状
目前,区块链网络层研究主要集中在3个方向:测量优化、匿名分析与隐私保护、安全防护。
随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络。Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法。Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动。Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡。
匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害。Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击。
区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击。为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案。Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性。Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能。
3.2 数据层
区块链中的“块”和“链”都是用来描述其数据结构特征的词汇,可见数据层是区块链技术体系的核心。区块链数据层定义了各节点中数据的联系和组织方式,利用多种算法和机制保证数据的强关联性和验证的高效性,从而使区块链具备实用的数据防篡改特性。除此之外,区块链网络中每个节点存储完整数据的行为增加了信息泄露的风险,隐私保护便成为迫切需求,而数据层通过非对称加密等密码学原理实现了承载应用信息的匿名保护,促进区块链应用普及和生态构建。因此,从不同应用信息的承载方式出发,考虑数据关联性、验证高效性和信息匿名性需求,可将数据层关键技术分为信息模型、关联验证结构和加密机制3类。
1) 信息模型
区块链承载了不同应用的数据(例如支付记录、审计数据、供应链信息等),而信息模型则是指节点记录应用信息的逻辑结构,主要包括UTXO (unspent transaction output)、基于账户和键值对模型3种。需要说明的是,在大部分区块链网络中,每个用户均被分配了交易地址,该地址由一对公私钥生成,使用地址标识用户并通过数字签名的方式检验交易的有效性。
UTXO是比特币交易中的核心概念,逐渐演变为区块链在金融领域应用的主要信息模型,如图5所示。每笔交易(Tx)由输入数据(Input)和输出数据(Output)组成,输出数据为交易金额(Num)和用户公钥地址(Adr),而输入数据为上一笔交易输出数据的指针(Pointer),直到该比特币的初始交易由区块链网络向节点发放。
图5
新窗口打开|
下载原图ZIP|
生成PPT
图5
UTXO信息模型
基于账户的信息模型以键值对的形式存储数据,维护着账户当前的有效余额,通过执行交易来不断更新账户数据。相比于UTXO,基于账户的信息模型与银行的储蓄账户类似,更直观和高效。
不管是UTXO还是基于账户的信息模型,都建立在更为通用的键值对模型上,因此为了适应更广泛的应用场景,键值对模型可直接用于存储业务数据,表现为表单或集合形式。该模型利于数据的存取并支持更复杂的业务逻辑,但是也存在复杂度高的问题。
2) 关联验证结构
区块链之所以具备防篡改特性,得益于链状数据结构的强关联性。该结构确定了数据之间的绑定关系,当某个数据被篡改时,该关系将会遭到破坏。由于伪造这种关系的代价是极高的,相反检验该关系的工作量很小,因此篡改成功率被降至极低。链状结构的基本数据单位是“区块(block)”,基本内容如图6所示。
图6
新窗口打开|
下载原图ZIP|
生成PPT
图6
基本区块结构
区块由区块头(Header)和区块体(Body)两部分组成,区块体包含一定数量的交易集合;区块头通过前继散列(PrevHash)维持与上一区块的关联从而形成链状结构,通过MKT(MerkleTree)生成的根散列(RootHash)快速验证区块体交易集合的完整性。因此散列算法和 MKT 是关联验证结构的关键,以下将对此展开介绍。
散列(Hash)算法也称为散列函数,它实现了明文到密文的不可逆映射;同时,散列算法可以将任意长度的输入经过变化得到固定长度的输出;最后,即使元数据有细微差距,变化后的输出也会产生显著不同。利用散列算法的单向、定长和差异放大的特征,节点通过比对当前区块头的前继散列即可确定上一区块内容的正确性,使区块的链状结构得以维系。区块链中常用的散列算法包括SHA256等。
MKT包括根散列、散列分支和交易数据。MKT首先对交易进行散列运算,再对这些散列值进行分组散列,最后逐级递归直至根散列。MKT 带来诸多好处:一方面,对根散列的完整性确定即间接地实现交易的完整性确认,提升高效性;另一方面,根据交易的散列路径(例如 Tx1:Hash2、Hash34)可降低验证某交易存在性的复杂度,若交易总数为N,那么MKT可将复杂度由N降为lbN。除此之外,还有其他数据结构与其配合使用,例如以太坊通过MPT(Merkle Patricia tree)——PatriciaTrie 和MerkleTree混合结构,高效验证其基于账户的信息模型数据。
此外,区块头中还可根据不同项目需求灵活添加其他信息,例如添加时间戳为区块链加入时间维度,形成时序记录;添加记账节点标识,以维护成块节点的权益;添加交易数量,进一步提高区块体数据的安全性。
3) 加密机制
由上述加密货币原理可知,经比特币演变的区块链技术具备与生俱来的匿名性,通过非对称加密等技术既保证了用户的隐私又检验了用户身份。非对称加密技术是指加密者和解密者利用2个不同秘钥完成加解密,且秘钥之间不能相互推导的加密机制。常用的非对称加密算法包括 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。对应图5,Alice 向 Bob 发起交易 Tx2,Alice使用Bob的公钥对交易签名,仅当Bob使用私钥验证该数字签名时,才有权利创建另一笔交易,使自身拥有的币生效。该机制将公钥作为基础标识用户,使用户身份不可读,一定程度上保护了隐私。
4) 研究现状
数据层面的研究方向集中在高效验证、匿名分析、隐私保护3个方面。
高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种。为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究。Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程。Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销。
区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接。Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度。Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址。Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率。
隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私。Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性。非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成。
3.3 共识层
区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测。因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题。实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究。
状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论。其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态。假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性。同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息。状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议。其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同。学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题。
区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议。PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议。它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等。CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议。
非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别。具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识。许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]。
限于篇幅原因,本节仅以 PoW、PBFT、Raft为切入进行3类协议的分析。
1) PoX类协议
PoW也称为Nakamoto协议,是比特币及其衍生项目使用的核心共识协议,如图7所示。
图7
新窗口打开|
下载原图ZIP|
生成PPT
图7
PoW协议示意
该协议在区块链头结构中加入随机数Nonce,并设计证明依据:为生成新区块,节点必须计算出合适的 Nonce 值,使新生成的区块头经过双重SHA256 运算后小于特定阈值。该协议的整体流程为:全网节点分别计算证明依据,成功求解的节点确定合法区块并广播,其余节点对合法区块头进行验证,若验证无误则与本地区块形成链状结构并转发,最终达到全网共识。PoW是随机性协议,任何节点都有可能求出依据,合法区块的不唯一将导致生成分支链,此时节点根据“最长链原则”选择一定时间内生成的最长链作为主链而抛弃其余分支链,从而使各节点数据最终收敛。
PoW协议采用随机性算力选举机制,实现拜占庭容错的关键在于记账权的争夺,目前寻找证明依据的方法只有暴力搜索,其速度完全取决于计算芯片的性能,因此当诚实节点数量过半,即“诚实算力”过半时,PoW便能使合法分支链保持最快的增长速度,也即保证主链一直是合法的。PoW是一种依靠饱和算力竞争纠正拜占庭错误的共识协议,关注区块产生、传播过程中的拜占庭容错,在保证防止双花攻击的同时也存在资源浪费、可扩展性差等问题。
2) BFT类协议
PBFT是 BFT经典共识协议,其主要流程如图8 所示。PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f。PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]。
图8
新窗口打开|
下载原图ZIP|
生成PPT
图8
PBFT协议示意
PBFT 协议解决消息传播过程的拜占庭容错,由于算法复杂度为 O(n2)且存在确定性的主节点选举规则,PBFT 仅适用于节点数量少的小型许可链系统。
3) CFT类协议
Raft[37]是典型的崩溃容错共识协议,以可用性强著称。Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作。当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步。节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复。
Raft协议实现崩溃容错的关键在于领导节点的自选举机制,部分许可链选择降低可信需求,将拜占庭容错转换为崩溃容错,从而提升共识速度。
4) 奖惩机制
奖惩机制包括激励机制与惩罚策略,其中激励机制是为了弥补节点算力消耗、平衡协议运行收益比的措施,当节点能够在共识过程中获得收益时才会进行记账权的争夺,因此激励机制利用经济效益驱动各共识协议可持续运行。激励机制一般基于价值均衡理论设计,具有代表性的机制包括PPLNS、PPS等。为了实现收益最大化,节点可能采用不诚实的运行策略(如扣块攻击、自私挖矿等),损害了诚实节点的利益,惩罚策略基于博弈论等理论对节点进行惩罚,从而纠正不端节点的行为,维护共识可持续性。
5) 研究现状
随着可扩展性和性能需求的多样化发展,除了传统的BFT、CFT协议和PoX协议衍生研究,还产生了混合型协议(Hybrid)——主要为 PoX类协议混合以及PoX-BFT协议混合。因此本节从PoX类、BFT类以及Hybrid类协议归纳共识层研究进展。
如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错。uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费。PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块。PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举。Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性。PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用。
BFT协议有较长的发展史,在区块链研究中被赋予了新的活力。SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识。Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性。HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致。LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能。
Hybrid 类协议是研究趋势之一。PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享。PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力。ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延。Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份。
3.4 控制层
区块链节点基于对等通信网络与基础数据结构进行区块交互,通过共识协议实现数据一致,从而形成了全网统一的账本。控制层是各类应用与账本产生交互的中枢,如果将账本比作数据库,那么控制层提供了数据库模型,以及相应封装、操作的方法。具体而言,控制层由处理模型、控制合约和执行环境组成。处理模型从区块链系统的角度分析和描述业务/交易处理方式的差异。控制合约将业务逻辑转化为交易、区块、账本的具体操作。执行环境为节点封装通用的运行资源,使区块链具备稳定的可移植性。
1) 处理模型
账本用于存储全部或部分业务数据,那么依据该数据的分布特征可将处理模型分为链上(on-chain)和链下(off-chain)2种。
链上模型是指业务数据完全存储在账本中,业务逻辑通过账本的直接存取实现数据交互。该模型的信任基础建立在强关联性的账本结构中,不仅实现防篡改而且简化了上层控制逻辑,但是过量的资源消耗与庞大的数据增长使系统的可扩展性达到瓶颈,因此该模型适用于数据量小、安全性强、去中心化和透明程度高的业务。
链下模型是指业务数据部分或完全存储在账本之外,只在账本中存储指针以及其他证明业务数据存在性、真实性和有效性的数据。该模型以“最小化信任成本”为准则,将信任基础建立在账本与链下数据的证明机制中,降低账本构建成本。由于与公开的账本解耦,该模型具有良好的隐私性和可拓展性,适用于去中心化程度低、隐私性强、吞吐量大的业务。
2) 控制合约
区块链中控制合约经历了2个发展阶段,首先是以比特币为代表的非图灵完备的自动化脚本,用于锁定和解锁基于UTXO信息模型的交易,与强关联账本共同克服了双花等问题,使交易数据具备流通价值。其次是以以太坊为代表的图灵完备的智能合约,智能合约是一种基于账本数据自动执行的数字化合同,由开发者根据需求预先定义,是上层应用将业务逻辑编译为节点和账本操作集合的关键。智能合约通过允许相互不信任的参与者在没有可信第三方的情况下就复杂合同的执行结果达成协议,使合约具备可编程性,实现业务逻辑的灵活定义并扩展区块链的使用。
3) 执行环境
执行环境是指执行控制合约所需要的条件,主要分为原生环境和沙盒环境。原生环境是指合约与节点系统紧耦合,经过源码编译后直接执行,该方式下合约能经历完善的静态分析,提高安全性。沙盒环境为节点运行提供必要的虚拟环境,包括网络通信、数据存储以及图灵完备的计算/控制环境等,在虚拟机中运行的合约更新方便、灵活性强,其产生的漏洞也可能造成损失。
4) 研究现状
控制层的研究方向主要集中在可扩展性优化与安全防护2个方面。
侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷。Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花。Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余。分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载。ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证。OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性。区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障。上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案。实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付。Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认。
一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点。Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题。Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利。Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测。
4 技术选型分析
区别于其他技术,区块链发展过程中最显著的特点是与产业界紧密结合,伴随着加密货币和分布式应用的兴起,业界出现了许多区块链项目。这些项目是区块链技术的具体实现,既有相似之处又各具特点,本节将根据前文所述层次化结构对比特币、以太坊和超级账本Fabric项目进行分析,然后简要介绍其他代表性项目并归纳和对比各项目的技术选型及特点。
4.1 比特币
比特币是目前规模最大、影响范围最广的非许可链开源项目。图9为比特币项目以账本为核心的运行模式,也是所有非许可链项目的雏形。比特币网络为用户提供兑换和转账业务,该业务的价值流通媒介由账本确定的交易数据——比特币支撑。为了保持账本的稳定和数据的权威性,业务制定奖励机制,即账本为节点产生新的比特币或用户支付比特币,以此驱动节点共同维护账本。
图9
新窗口打开|
下载原图ZIP|
生成PPT
图9
比特币运行模式
比特币网络主要由2种节点构成:全节点和轻节点。全节点是功能完备的区块链节点,而轻节点不存储完整的账本数据,仅具备验证与转发功能。全节点也称为矿工节点,计算证明依据的过程被称为“挖矿”,目前全球拥有近 1 万个全节点;矿池则是依靠奖励分配策略将算力汇集起来的矿工群;除此之外,还有用于存储私钥和地址信息、发起交易的客户端(钱包)。
1) 网络层
比特币在网络层采用非结构化方式组网,路由表呈现随机性。节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33]。节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等。新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的。交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路。在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份。
2) 数据层
比特币数据层面的技术选型已经被广泛研究,使用UTXO信息模型记录交易数据,实现所有权的简单、有效证明,利用 MKT、散列函数和时间戳实现区块的高效验证并产生强关联性。在加密机制方面,比特币采用参数为Secp256k1的椭圆曲线数字签名算法(ECDSA,elliptic curve digital signature algorithm)生成用户的公私钥,钱包地址则由公钥经过双重散列、Base58Check 编码等步骤生成,提高了可读性。
3) 共识层
比特币采用 PoW 算法实现节点共识,该算法证明依据中的阈值设定可以改变计算难度。计算难度由每小时生成区块的平均块数决定,如果生成得太快,难度就会增加。该机制是为了应对硬件升级或关注提升引起的算力变化,保持证明依据始终有效。目前该阈值被设定为10 min产出一个区块。除此之外,比特币利用奖惩机制保证共识的可持续运行,主要包括转账手续费、挖矿奖励和矿池分配策略等。
4) 控制层
比特币最初采用链上处理模型,并将控制语句直接记录在交易中,使用自动化锁定/解锁脚本验证UTXO模型中的比特币所有权。由于可扩展性和确认时延的限制,比特币产生多个侧链项目如Liquid、RSK、Drivechain等,以及链下处理项目Lightning Network等,从而优化交易速度。
4.2 以太坊
以太坊是第一个以智能合约为基础的可编程非许可链开源平台项目,支持使用区块链网络构建分布式应用,包括金融、音乐、游戏等类型;当满足某些条件时,这些应用将触发智能合约与区块链网络产生交互,以此实现其网络和存储功能,更重要的是衍生出更多场景应用和价值产物,例如以太猫,利用唯一标识为虚拟猫赋予价值;GitCoin,众筹软件开发平台等。
1) 网络层
以太坊底层对等网络协议簇称为DEVP2P,除了满足区块链网络功能外,还满足与以太坊相关联的任何联网应用程序的需求。DEVP2P将节点公钥作为标识,采用 Kademlia 算法计算节点的异或距离,从而实现结构化组网。DEVP2P主要由3种协议组成:节点发现协议RLPx、基础通信协议Wire和扩展协议Wire-Sub。节点间基于Gossip实现多点传播;新节点加入时首先向硬编码引导节点(bootstrap node)发送入网请求;然后引导节点根据Kademlia 算法计算与新节点逻辑距离最近的节点列表并返回;最后新节点向列表中节点发出握手请求,包括网络版本号、节点ID、监听端口等,与这些节点建立连接后则使用Ping/Pong机制保持连接。Wire子协议构建了交易获取、区块同步、共识交互等逻辑通路,与比特币类似,以太坊也为轻量级钱包客户端设计了简易以太坊协议(LES,light ethereum subprotocol)及其变体PIP。安全方面,节点在RLPx协议建立连接的过程中采用椭圆曲线集成加密方案(ECIES)生成公私钥,用于传输共享对称密钥,之后节点通过共享密钥加密承载数据以实现数据传输保护。
2) 数据层
以太坊通过散列函数维持区块的关联性,采用MPT实现账户状态的高效验证。基于账户的信息模型记录了用户的余额及其他 ERC 标准信息,其账户类型主要分为2类:外部账户和合约账户;外部账户用于发起交易和创建合约,合约账户用于在合约执行过程中创建交易。用户公私钥的生成与比特币相同,但是公钥经过散列算法Keccak-256计算后取20 B作为外部账户地址。
3) 共识层
以太坊采用 PoW 共识,将阈值设定为 15 s产出一个区块,计划在未来采用PoS或Casper共识协议。较低的计算难度将导致频繁产生分支链,因此以太坊采用独有的奖惩机制——GHOST 协议,以提高矿工的共识积极性。具体而言,区块中的散列值被分为父块散列和叔块散列,父块散列指向前继区块,叔块散列则指向父块的前继。新区块产生时,GHOST 根据前 7 代区块的父/叔散列值计算矿工奖励,一定程度弥补了分支链被抛弃时浪费的算力。
4) 控制层
每个以太坊节点都拥有沙盒环境 EVM,用于执行Solidity语言编写的智能合约;Solidity语言是图灵完备的,允许用户方便地定义自己的业务逻辑,这也是众多分布式应用得以开发的前提。为优化可扩展性,以太坊拥有侧链项目 Loom、链下计算项目Plasma,而分片技术已于2018年加入以太坊源码。
4.3 超级账本Fabric
超级账本是Linux基金会旗下的开源区块链项目,旨在提供跨行业区块链解决方案。Fabric 是超级账本子项目之一,也是影响最广的企业级可编程许可链项目;在已知的解决方案中,Fabric 被应用于供应链、医疗和金融服务等多种场景。
1) 网络层
Fabric 网络以组织为单位构建节点集群,采用混合式对等网络组网;每个组织中包括普通节点和锚节点(anchor peer),普通节点完成组织内的消息路由,锚节点负责跨组织的节点发现与消息路由。Fabric网络传播层基于Gossip实现,需要使用配置文件初始化网络,网络生成后各节点将定期广播存活信息,其余节点根据该信息更新路由表以保持连接。交互逻辑层采用多通道机制,即相同通道内的节点才能进行状态信息交互和区块同步。Fabric 为许可链,因此在网络层采取严苛的安全机制:节点被颁发证书及密钥对,产生PKI-ID进行身份验证;可选用 TLS 双向加密通信;基于多通道的业务隔离;可定义策略指定通道内的某些节点对等传输私有数据。
2) 数据层
Fabric的区块中记录读写集(read-write set)描述交易执行时的读写过程。该读写集用于更新状态数据库,而状态数据库记录了键、版本和值组成的键值对,因此属于键值对信息模型。一方面,散列函数和 MerkleTree 被用作高效关联结构的实现技术;另一方面,节点还需根据键值验证状态数据库与读写集中的最新版本是否一致。许可链场景对匿名性的要求较低,但对业务数据的隐私性要求较高,因此Fabric 1.2版本开始提供私有数据集(PDC,private data collection)功能。
3) 共识层
Fabric在0.6版本前采用PBFT 共识协议,但是为了提高交易吞吐量,Fabric 1.0 选择降低安全性,将共识过程分解为排序和验证2种服务,排序服务采用CFT类协议Kafka、Raft(v1.4之后)完成,而验证服务进一步分解为读写集验证与多签名验证,最大程度提高了共识速度。由于Fabric针对许可链场景,参与方往往身份可知且具有相同的合作意图,因此规避了节点怠工与作恶的假设,不需要奖惩机制调节。
4) 控制层
Fabric 对于扩展性优化需求较少,主要得益于共识层的优化与许可链本身参与节点较少的前提,因此主要采用链上处理模型,方便业务数据的存取;而 PDC 中仅将私有数据散列值上链的方式则属于链下处理模型,智能合约可以在本地进行数据存取。Fabric 节点采用模块化设计,基于 Docker构建模块执行环境;智能合约在Fabric中被称为链码,使用GO、Javascript和Java语言编写,也是图灵完备的。
4.4 其他项目
除了上述3种区块链基础项目外,产业界还有许多具有代表性的项目,如表1所示。
5 区块链应用研究
区块链技术有助于降低金融机构间的审计成本,显著提高支付业务的处理速度及效率,可应用于跨境支付等金融场景。除此之外,区块链还应用于产权保护、信用体系建设、教育生态优化、食品安全监管、网络安全保障等非金融场景。
根据这些场景的应用方式以及区块链技术特点,可将区块链特性概括为如下几点。1) 去中心化。节点基于对等网络建立通信和信任背书,单一节点的破坏不会对全局产生影响。2) 不可篡改。账本由全体节点维护,群体协作的共识过程和强关联的数据结构保证节点数据一致且基本无法被篡改,进一步使数据可验证和追溯。3) 公开透明。除私有数据外,链上数据对每个节点公开,便于验证数据的存在性和真实性。4) 匿名性。多种隐私保护机制使用户身份得以隐匿,即便如此也能建立信任基础。5) 合约自治。预先定义的业务逻辑使节点可以基于高可信的账本数据实现自治,在人-人、人-机、机-机交互间自动化执行业务。
鉴于上述领域的应用在以往研究中均有详细描述,本文将主要介绍区块链在智慧城市、边缘计算和人工智能领域的前沿应用研究现状。
表1
表1
代表性区块链项目
技术选型CordaQuorumLibraBlockstackFilecoinZcash控制合约Kotlin,JavaGOMoveClarity非图灵完备非图灵完备非图灵完备执行环境JVMEVMMVM源码编译源码编译源码编译处理模型链上链上/链下(私有数据)链上链下(虚拟链)链下(IPFS)链上奖惩机制——Libra coinsStacks tokenFilecoinZcash/Turnstiles共识算法Notary 机制/RAFT,BFT-SMaRtQuorum-Chain,RAFTLibraBFTTunable Proofs,proof-of-burnPoRep,PoETPoW信息模型UTXO基于账户基于账户基于账户基于账户UTXO关联验证结构散列算法MKT散列算法MPT散列算法MKT散列算法Merklized Adaptive Radix Forest (MARF)散列算法MKT散列算法MKT加密机制Tear-offs机制、混合密钥基于EnclaveSHA3-256/EdDSA基于Gaia/Blockstack AuthSECP256K1/BLSzk-SNARK组网方式混合型结构化混合型无结构结构化/无结构无结构通信机制AMQP1.0/单点传播Wire/GossipNoise-ProtocolFramework/GossipAtlas/GossipLibp2p/GossipBitcoin-Core/Gossip安全机制Corda加密套件/TLS证书/HTTPSDiffie-HellmanSecure BackboneTLSTor区块链类型许可链许可链许可链非许可链非许可链非许可链特点只允许对实际参与给定交易的各方进行信息访问和验证功能基于以太坊网络提供公共交易和私有交易2种交互渠道稳定、快速的交易网络剔除中心服务商的、可扩展的分布式数据存储设施,旨在保护隐私数据激励机制驱动的存储资源共享生态基于比特币网络提供零知识证明的隐私保护应用场景金融业务平台分布式应用加密货币互联网基础设施文件存储与共享加密货币
新窗口打开|
下载CSV
5.1 智慧城市
智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景。智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战。区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决。Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据。
5.2 边缘计算
边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验。安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障。区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用。首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据。其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础。Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性。Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题。Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性。
5.3 人工智能
人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标。人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费。此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大。区块链不可篡改的特性可以实现感知和训练过程的可信。另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率。Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果。Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库。
6 技术挑战与研究展望
6.1 层次优化与深度融合
区块链存在“三元悖论”——安全性、扩展性和去中心化三者不可兼得,只能依靠牺牲一方的效果来满足另外两方的需求。以比特币为代表的公链具有较高的安全性和完全去中心化的特点,但是资源浪费等问题成为拓展性优化的瓶颈。尽管先后出现了PoS、BFT等共识协议优化方案,或侧链、分片等链上处理模型,或Plasma、闪电网络等链下扩展方案,皆是以部分安全性或去中心化为代价的。因此,如何将区块链更好地推向实际应用很大程度取决于三元悖论的解决,其中主要有2种思路。
1) 层次优化
区块链层次化结构中每层都不同程度地影响上述3种特性,例如网络时延、并行读写效率、共识速度和效果、链上/链下模型交互机制的安全性等,对区块链的优化应当从整体考虑,而不是单一层次。
网络层主要缺陷在于安全性,可拓展性则有待优化。如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19]。信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69]。相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素。
数据层的优化空间在于高效性,主要为设计新的数据验证结构与算法。该方向可以借鉴计算机研究领域的多种数据结构理论与复杂度优化方法,寻找适合区块链计算方式的结构,甚至设计新的数据关联结构。实际上相当一部分项目借鉴链式结构的思想开辟新的道路,例如压缩区块空间的隔离见证、有向无环图(DAG)中并行关联的纠缠结构(Tangle),或者Libra项目采用的状态树。
共识机制是目前研究的热点,也是同时影响三元特性的最难均衡的层次。PoW牺牲可拓展性获得完全去中心化和安全性,PoS高效的出块方式具备可扩展性但产生了分叉问题,POA结合两者做到了3种特性的均衡。以此为切入的Hybrid类共识配合奖惩机制的机动调节取得了较好效果,成为共识研究的过渡手段,但是如何做到三元悖论的真正突破还有待研究。
控制层面是目前可扩展性研究的热点,其优势在于不需要改变底层的基础实现,能够在短期内应用,集中在产业界的区块链项目中。侧链具有较好的灵活性但操作复杂度高,分片改进了账本结构但跨分片交互的安全问题始终存在,而链下处理模型在安全方面缺少理论分析的支撑。因此,三元悖论的解决在控制层面具有广泛的研究前景。
2) 深度融合
如果将层次优化称为横向优化,那么深度融合即为根据场景需求而进行的纵向优化。一方面,不同场景的三元需求并不相同,例如接入控制不要求完全去中心化,可扩展性也未遇到瓶颈,因此可采用BFT类算法在小范围构建联盟链。另一方面,区块链应用研究从简单的数据上链转变为链下存储、链上验证,共识算法从 PoW 转变为场景结合的服务证明和学习证明,此外,结合 5G 和边缘计算可将网络和计算功能移至网络边缘,节约终端资源。这意味着在严格的场景建模下,区块链的层次技术选型将与场景特点交叉创新、深度融合,具有较为广阔的研究前景。
6.2 隐私保护
加密货币以匿名性著称,但是区块链以非对称加密为基础的匿名体系不断受到挑战。反匿名攻击从身份的解密转变为行为的聚类分析,不仅包括网络流量的IP聚类,还包括交易数据的地址聚类、交易行为的启发式模型学习,因此大数据分析技术的发展使区块链隐私保护思路发生转变。已有Tor网络、混币技术、零知识证明、同态加密以及各类复杂度更高的非对称加密算法被提出,但是各方法仍有局限,未来将需要更为高效的方法。此外,随着区块链系统的可编程化发展,内部复杂性将越来越高,特别是智能合约需要更严格、有效的代码检测方法,例如匿名性检测、隐私威胁预警等。
6.3 工业区块链
工业区块链是指利用区块链夯实工业互联网中数据的流通和管控基础、促进价值转换的应用场景,具有较大的研究前景。
工业互联网是面向制造业数字化、网络化、智能化需求,构建基于海量数据采集、汇聚、分析的服务体系,支撑制造资源泛在连接、弹性供给、高效配置的重要基础设施。“工业互联网平台”是工业互联网的核心,通过全面感知、实时分析、科学决策、精准执行的逻辑闭环,实现工业全要素、全产业链、全价值链的全面贯通,培育新的模式和业态。
可以看到,工业互联网与物联网、智慧城市、消费互联网等场景应用存在内在关联,例如泛在连接、数据共享和分析、电子商务等,那么其学术问题与技术实现必然存在关联性。区块链解决了物联网中心管控架构的单点故障问题,克服泛在感知设备数据的安全性和隐私性挑战,为智慧城市场景的数据共享、接入控制等问题提供解决方法,为激励资源共享构建了新型互联网价值生态。尽管工业互联网作为新型的产业生态系统,其技术体系更复杂、内涵更丰富,但是不难想象,区块链同样有利于工业互联网的发展。
“平台+区块链”能够通过分布式数据管理模式,降低数据存储、处理、使用的管理成本,为工业用户在工业 APP 选择和使用方面搭建起更加可信的环境,实现身份认证及操作行为追溯、数据安全存储与可靠传递。能够通过产品设计参数、质量检测结果、订单信息等数据“上链”,实现有效的供应链全要素追溯与协同服务。能够促进平台间数据交易与业务协同,实现跨平台交易结算,带动平台间的数据共享与知识复用,促进工业互联网平台间互联互通。
当然,工业是关乎国计民生的产业,将区块链去中心化、匿名化等特性直接用于工业互联网是不可取的,因此需要研究工业区块链管理框架,实现区块链的可管可控,在一定范围内发挥其安全优势,并对工业互联网的运转提供正向激励。
7 结束语
区块链基于多类技术研究的成果,以低成本解决了多组织参与的复杂生产环境中的信任构建和隐私保护等问题,在金融、教育、娱乐、版权保护等场景得到了较多应用,成为学术界的研究热点。比特币的出现重塑了人们对价值的定义,伴随着产业界的呼声,区块链技术得到了快速发展,而遵循区块链层次化分析方法,能够直观地区别各项目的技术路线和特点,为优化区块链技术提供不同观察视角,并为场景应用的深度融合创造条件,促进后续研究。未来的发展中,区块链将成为更为基础的信任支撑技术,在产业互联网等更广阔的领域健康、有序地发展。
The authors have declared that no competing interests exist.
作者已声明无竞争性利益关系。
参考文献
View Option
原文顺序
文献年度倒序
文中引用次数倒序
被引期刊影响因子
[1]
袁勇, 王飞跃 . 区块链技术发展现状与展望[J]. 自动化学报, 2016,42(4): 481-494.
[本文引用: 1]
YUAN Y , WANG F Y . Blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,42(4): 481-494.
[本文引用: 1]
[2]
邵奇峰, 张召, 朱燕超 ,等. 企业级区块链技术综述[J]. 软件学报, 2019,30(9): 2571-2592.
[本文引用: 1]
SHAO Q F , ZHANG Z , ZHU Y C ,et al. Survey of enterprise blockchains[J]. 2019,30(9): 2571-2592.
[本文引用: 1]
[3]
YANG W , AGHASIAN E , GARG S ,et al. A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future[J]. IEEE Access, 2019,7: 75845-75872.
[本文引用: 1]
[4]
韩璇, 袁勇, 王飞跃 . 区块链安全问题:研究现状与展望[J]. 自动化学报, 2019,45(1): 208-227.
[本文引用: 1]
HAN X , YUAN Y , WANG F Y . Security problems on blockchain:the state of the art and future trends[J]. Acta Automatica Sinica, 2016,45(1): 208-227.
[本文引用: 1]
[5]
ALI M , VECCHIO M , PINCHEIRA M ,et al. Applications of blockchains in the Internet of things:a comprehensive survey[J]. IEEE Communications Surveys & Tutorials, 2019,21: 1676-1717.
[本文引用: 1]
[6]
CHAUM D . Blind signature system[M]. Advances in Cryptology: Proceedings of Crypto 83.Springer USPress, 1984.
[本文引用: 1]
[7]
LAW L , SABEET S , SOLINAS J . How to make a mint:the cryptography of anonymous electronic cash[J]. The American University Law Review, 1997,46: 1131-1162.
[本文引用: 1]
[8]
JAKOBSSON M , JUELS A . Proofs of work and bread pudding protocols[C]// IFIP TC6/TC11 Joint Working Conference on Communications and Multimedia Security. IFIP, 1999: 258-272.
[本文引用: 1]
[9]
王学龙, 张璟 . P2P 关键技术研究综述[J]. 计算机应用研究, 2010,27(3): 801-805.
[本文引用: 1]
WANG X L , ZHANG J . Survey on peer-to-peer key technologies[J]. Application Research of Computers, 2010,27(3): 801-805.
[本文引用: 1]
[10]
DEMERS A , GREENE D , HOUSER C ,et al. Epidemic algorithms for replicated database maintenance[J]. ACM SIGOPS Operating Systems Review, 1988,22: 8-32.
[本文引用: 1]
[11]
DECKER C , WATTENHOFER R . Information propagation in the bitcoin network[C]// IEEE Thirteenth International Conference on Peer-to-peer Computing. IEEE, 2013: 1-10.
[本文引用: 1]
[12]
FADHIL M , OWENSON G , ADDA M . Locality based approach to improve propagation delay on the bitcoin peer-to-peer network[C]// 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). IEEE, 2017: 556-559.
[本文引用: 1]
[13]
KANEKO Y , ASAKA T . DHT clustering for load balancing considering blockchain data size[C]// 2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW). IEEE Computer Society, 2018: 71-74.
[本文引用: 1]
[14]
KOSHY P , KOSHY D , MCDANIEL P . An analysis of anonymity in bitcoin using P2P network traffic[C]// Financial Cryptography and Data Security:18th International Conference. Springer, 2014: 469-485.
[15]
BIRYUKOV A , KHOVRATOVICH D , PUSTOGAROV I . Deanonymisation of clients in bitcoin P2P network[C]// ACM SIGSAC Conference on Computer and Communications Security. ACM, 2014: 15-29.
[16]
VENKATAKRISHNAN S B , FANTI G , VISWANATH P . Dandelion:redesigning the bitcoin network for anonymity[C]// The 2017 ACM SIGMETRICS. ACM, 2017:57.
[本文引用: 1]
[17]
FANTI G , VENKATAKRISHNAN S B , BAKSHI S ,et al. Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees[J]. ACM SIGMETRICS Performance Evaluation Review, 2018,46: 5-7.
[本文引用: 1]
[18]
HEILMAN E , KENDLER A , ZOHAR A ,et al. Eclipse attacks on Bitcoin’s peer-to-peer network[C]// USENIX Conference on Security Symposium. USENIX Association, 2015: 129-144.
[本文引用: 1]
[19]
APOSTOLAKI M , ZOHAR A , VANBEVER L . Hijacking bitcoin:routing attacks on cryptocurrencies[C]// 2017 IEEE Symposium on Security and Privacy (SP). IEEE, 2017: 375-392.
[本文引用: 2]
[20]
REYZIN L , IVANOV S . Improving authenticated dynamic dictionaries,with applications to cryptocurrencies[C]// International Conference on Financial Cryptography & Data Security. Springer, 2017: 376-392.
[本文引用: 1]
[21]
ZHANG C , XU C , XU J L ,et al. GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain[C]// IEEE 35th International Conference on Data Engineering (ICDE). IEEE, 2019: 842-853.
[本文引用: 1]
[22]
REID F , HARRIGAN M . An analysis of anonymity in the bitcoin system[C]// 2011 IEEE Third International Conference on Privacy,Security,Risk and Trust. IEEE, 2011: 1318-1326.
[本文引用: 1]
[23]
MEIKLEJOHN S , POMAROLE M , JORDAN G ,et al. A fistful of bitcoins:characterizing payments among men with no names[C]// The 2013 Conference on Internet Measurement Conference. ACM, 2013: 127-140.
[本文引用: 1]
[24]
AWAN M K , CORTESI A . Blockchain transaction analysis using dominant sets[C]// IFIP International Conference on Computer Information Systems and Industrial Management. IFIP, 2017: 229-239.
[本文引用: 1]
[25]
SAXENA A , MISRA J , DHAR A . Increasing anonymity in bitcoin[C]// International Conference on Financial Cryptography and Data Security. Springer, 2014: 122-139.
[本文引用: 1]
[26]
MIERS I , GARMAN C , GREEN M ,et al. Zerocoin:anonymous distributed e-cash from bitcoin[C]// 2013 IEEE Symposium on Security and Privacy. IEEE, 2013: 397-411.
[本文引用: 1]
[27]
SASSON E B , CHIESA A , GARMAN C ,et al. Zerocash:decentralized anonymous payments from bitcoin[C]// 2014 IEEE Symposium on Security and Privacy (SP). IEEE, 2014: 459-474.
[本文引用: 1]
[28]
YIN W , WEN Q , LI W ,et al. A anti-quantum transaction authentication approach in blockchain[J]. IEEE Access, 2018,6: 5393-5401.
[本文引用: 1]
[29]
DOUCEUR J R , . The sybil attack[C]// The First International Workshop on Peer-to-Peer Systems(IPTPS’ 01). Springer, 2002: 251-260.
[本文引用: 1]
[30]
KARAME G O , ANDROULAKI E , CAPKUN S . Double-spending fast payments in bitcoin[C]// The 2012 ACM conference on Computer and communications security. ACM, 2012: 906-917.
[本文引用: 1]
[31]
LAMPORT L , SHOSTAK R , PEASE M . The byzantine generals problem[J]. ACM Transactions on Programming Languages and Systems, 1982,4: 382-401.
[本文引用: 1]
[32]
BANO S , SONNINO A , AL-BASSAM M ,et al. Consensus in the age of blockchains[J]..03936,2017. arXiv Preprint,arXiv:1711.03936,2017.
[本文引用: 1]
[33]
DWORK C , LYNCH N , STOCKMEYER L . Consensus in the presence of partial synchrony[J]. Journal of the ACM, 1988,35: 288-323.
[本文引用: 2]
[34]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2123.
[本文引用: 1]
[35]
CACHIN C VUKOLIĆ M . Blockchains consensus protocols in the wild[J]. arXiv Preprint,arXiv:1707.01873, 2017.
[本文引用: 1]
[36]
CASTRO M , LISKOV B . Practical byzantine fault tolerance and proactive recovery[J]. ACM Transactions on Computer Systems, 2002,20: 398-461.
[本文引用: 1]
[37]
ONGARO D , OUSTERHOUT J . In search of an understandable consensus algorithm[C]// The 2014 USENIX Conference on USENIX Annual Technical Conference. USENIX Association, 2015: 305-320.
[本文引用: 1]
[38]
BALL M , ROSEN A , SABIN M ,et al. Proofs of useful work[R]. Cryptology ePrint Archive:Report 2017/203.
[本文引用: 1]
[39]
MIHALJEVIC B , ZAGAR M . Comparative analysis of blockchain consensus algorithms[C]// International Convention on Information and Communication Technology,Electronics and Microelectronics (MIPRO). IEEE, 2018: 1545-1550.
[本文引用: 1]
[40]
KIAYIAS A , RUSSELL A , DAVID B ,et al. Ouroboros:a provably secure proof-of-stake blockchain protocol[C]// Advances in Cryptology - CRYPTO 2017. Springer, 2017: 357-388.
[本文引用: 1]
[41]
FISCH B . Tight proofs of space and replication[J].,ePrint-2018-702. IACR Cryptology ePrint Archive,ePrint-2018-702.
[本文引用: 1]
[42]
BELOTTI M , BOŽIĆ N , PUJOLLE G ,et al. A vademecum on blockchain technologies:when,which,and how[J]. IEEE Communications Surveys & Tutorials, 2019,21: 3796-3838.
[本文引用: 1]
[43]
WANG W B , HOANG D T , HU P Z ,et al. A survey on consensus mechanisms and mining strategy management in blockchain networks[J]. IEEE Access, 2019,7: 22328-22370.
[本文引用: 1]
[44]
YOO J H , JUNG Y L , SHIN D H ,et al. Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms[C]// IEEE International Workshop on Blockchain Oriented Software Engineering. 2019: 11-21.
[本文引用: 1]
[45]
ZHENG Z B , XIE S , DAI H ,et al. An overview of blockchain technology:architecture,consensus,and future trends[C]// 6th IEEE International Congress on Big Data. IEEE, 2017: 557-564.
[本文引用: 1]
[46]
YIN M , MALKHI D , REITER M K ,et al. HotStuff:BFT consensus in the lens of blockchain[C]// ACM Symposium on Principles of Distributed Computing. ACM, 2019: 347-356.
[本文引用: 1]
[47]
ALI S , WANG G , WHITE B ,et al. Libra critique towards global decentralized financial system[C]// Communications in Computer and Information Science. Springer, 2019: 661-672.
[本文引用: 1]
[48]
BENTOV I , LEE C , MIZRAHI A ,et al. Proof of activity:extending bitcoin’s proof of work via proof of stake[J]. IACR Cryptology ePrint Archive,ePrint-2014-25478.
[本文引用: 1]
[49]
DECKER C , SEIDEL J , WATTENHOFER R . Bitcoin meets strong consistency[J].,2014. arXiv Preprint,arXiv:1412.7935,2014.
[本文引用: 1]
[50]
KOKORIS-KOGIAS E , JOVANOVIC P , GAILLY N ,et al. Enhancing bitcoin security and performance with strong consistency via collective signing[J]. Applied Mathematical Modelling, 2016,37: 5723-5742.
[本文引用: 1]
[51]
BUTERIN V , GRIFFITH V . Casper the friendly finality gadget[J]. arXiv Preprint,arXiv:1710.09437,2017.
[本文引用: 1]
[52]
TSCHORSCH F , SCHEUERMANN B . Bitcoin and beyond:a technical survey on decentralized digital currencies[J]. IEEE Communications Surveys & Tutorials, 2016,18: 2084-2023,2017.
[本文引用: 1]
[53]
KIAYIAS A , MILLER A , ZINDROS D . Non-interactive proofs of proof-of-work[J]. IACR Cryptology ePrint Archive,ePrint-2017-963.
[本文引用: 1]
[54]
LUU L , NARAYANAN V , ZHENG C ,et al. A secure sharding protocol for open blockchains[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security(CCS’16). ACM, 2016: 17-30.
[本文引用: 1]
[55]
KOKORIS-KOGIAS E , JOVANOVIC P , GASSER L ,et al. OmniLedger:a secure,scale-out,decentralized ledger via sharding[C]// IEEE Symposium on Security and Privacy (SP). IEEE Computer Society, 2018: 583-598.
[本文引用: 1]
[56]
LI S , YU M , AVESTIMEHR S ,et al. PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously[J]. arXiv Preprint,arXiv:1809.10361,2018.
[本文引用: 1]
[57]
XIE J F , YU F R , HUANG T ,et al. A survey on the scalability of blockchain systems[J]. IEEE Network, 2019,33: 166-173.
[本文引用: 1]
[58]
BURCHERT C , DECKER C , WATTENHOFER R . Scalable funding of bitcoin micropayment channel networks[C]// Stabilization,Safety,and Security of Distributed Systems. Springer, 2017: 361-377.
[本文引用: 1]
[59]
LUU L , CHU D , OLICKEL H ,et al. Making smart contracts smarter[C]// The 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016: 254-269.
[本文引用: 1]
[60]
BRENT L , JURISEVIC A , KONG M ,et al. Vandal:a scalable security analysis framework for smart contracts[J]. arXiv Preprint,arXiv:1809.039812018.
[本文引用: 1]
[61]
JIANG B , LIU Y , CHAN W K . ContractFuzzer:fuzzing smart contracts for vulnerability detection[J]. arXiv Preprint,arXiv:1807.03932,2018.
[本文引用: 1]
[62]
HASHEMI S H , FAGHRI F , CAMPBELL R H . Decentralized user-centric access control using pubsub over blockchain[J]. arXiv Preprint,arXiv:1710.00110,2017.
[本文引用: 1]
[63]
BAO S.CAO Y , LEI A ,et al. Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems[J]. IEEE Access, 2019,7: 80390-80403.
[本文引用: 1]
[64]
SAMANIEGO M , DETERS R . Hosting virtual IoT resources on edge-hosts with blockchain[C]// IEEE International Conference on Computer & Information Technology. IEEE, 2016: 116-119.
[本文引用: 1]
[65]
STANCIU A , . Blockchain based distributed control system for edge computing[C]// International Conference on Control Systems &Computer Science. IEEE, 2017: 667-671.
[本文引用: 1]
[66]
ZIEGLER M H , GROMANN M , KRIEGER U R . Integration of fog computing and blockchain technology using the plasma framework[C]// 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC). IEEE, 2019: 120-123.
[本文引用: 1]
[67]
KIM H , PARK J , BENNIS M ,et al. Blockchained on-device federated learning[J]. arXiv Preprint,arXiv:1808.03949, 2018.
[本文引用: 1]
[68]
BRAVO-MARQUEZ F , REEVES S , UGARTE M . Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions[C]// 2019 IEEE International Conference on Decentralized Applications and Infrastructures. IEEE, 2019: 119-124.
[本文引用: 1]
[69]
刘江, 霍如, 李诚成 ,等. 基于命名数据网络的区块链信息传输机制[J]. 通信学报, 2018,39(1), 24-33.
[本文引用: 1]
LIU J , HUO R , LI C C ,et al. Information transmission mechanism of Blockchain technology based on named-data networking[J]. Journal on Communications, 2018,39(1): 24-33.
[本文引用: 1]
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链技术发展现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
企业级区块链技术综述
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
A survey on blockchain-based internet service architecture:requirements,challenges,trends,and future
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
区块链安全问题:研究现状与展望
1
2016
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Applications of blockchains in the Internet of things:a comprehensive survey
1
2019
... 区块链涵盖多种技术,相关概念易混淆,且应用场景繁多,为此,已有相关综述主要从技术体系结构、技术挑战和应用场景等角度来梳理区块链的最新进展、技术差异和联系,总结技术形态和应用价值.袁勇等[1]给出了区块链基本模型,以比特币为例将非许可链分为数据层、网络层、共识层、激励层、合约层和应用层;邵奇峰等[2]结合开源项目细节,对比了多种企业级区块链(许可链)的技术特点;Yang等[3]总结了基于区块链的网络服务架构的特点、挑战和发展趋势;韩璇等[4]系统性归纳了区块链安全问题的研究现状;Ali等[5]总结了区块链在物联网方面的应用研究进展、趋势.上述文献虽然归纳得较为完整,但是都没有从许可链与非许可链共性技术的角度进行通用的层次结构分析,没有体现出区块链技术与组网路由、数据结构、同步机制等已有技术的关联性,且缺少对区块链项目的差异分析.本文则对有关概念进行区分,探讨了通用的层次化技术结构及其与已有技术的关联性,并针对该结构横向分析相关学术研究进展;根据分层结构对比部分区块链项目的技术选型;最后以智慧城市场景、边缘计算和人工智能技术为代表介绍区块链应用研究现状,给出区块链技术挑战与研究展望. ...
Blind signature system
1
1984
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
How to make a mint:the cryptography of anonymous electronic cash
1
1997
... 加密货币的概念起源于一种基于盲签名(blind signature)的匿名交易技术[6],最早的加密货币交易模型“electronic cash”[7]如图1所示. ...
Proofs of work and bread pudding protocols
1
1999
... 最早的加密货币构想将银行作为构建信任的基础,呈现中心化特点.此后,加密货币朝着去中心化方向发展,并试图用工作量证明(PoW,poof of work)[8]或其改进方法定义价值.比特币在此基础上,采用新型分布式账本技术保证被所有节点维护的数据不可篡改,从而成功构建信任基础,成为真正意义上的去中心化加密货币.区块链从去中心化加密货币发展而来,随着区块链的进一步发展,去中心化加密货币已经成为区块链的主要应用之一. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
P2P 关键技术研究综述
1
2010
... 对等网络的体系架构可分为无结构对等网络、结构化对等网络和混合式对等网络[9],根据节点的逻辑拓扑关系,区块链网络的组网结构也可以划分为上述3种,如图3所示. ...
Epidemic algorithms for replicated database maintenance
1
1988
... 传播层实现对等节点间数据的基本传输,包括2 种数据传播方式:单点传播和多点传播.单点传播是指数据在2个已知节点间直接进行传输而不经过其他节点转发的传播方式;多点传播是指接收数据的节点通过广播向邻近节点进行数据转发的传播方式,区块链网络普遍基于Gossip协议[10]实现洪泛传播.连接层用于获取节点信息,监测和改变节点间连通状态,确保节点间链路的可用性(availability).具体而言,连接层协议帮助新加入节点获取路由表数据,通过定时心跳监测为节点保持稳定连接,在邻居节点失效等情况下为节点关闭连接等.交互逻辑层是区块链网络的核心,从主要流程上看,该层协议承载对等节点间账本数据的同步、交易和区块数据的传输、数据校验结果的反馈等信息交互逻辑,除此之外,还为节点选举、共识算法实施等复杂操作和扩展应用提供消息通路. ...
Information propagation in the bitcoin network
1
2013
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
Locality based approach to improve propagation delay on the bitcoin peer-to-peer network
1
2017
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
DHT clustering for load balancing considering blockchain data size
1
2018
... 随着近年来区块链网络的爆炸式发展以及开源特点,学术界开始关注大型公有链项目的网络状况,监测并研究它们的特点,研究对象主要为比特币网络.Decker等[11]设计和实现测量工具,分析传播时延数据、协议数据和地址数据,建模分析影响比特币网络性能的网络层因素,基于此提出各自的优化方法.Fadhil等[12]提出基于事件仿真的比特币网络仿真模型,利用真实测量数据验证模型的有效性,最后提出优化机制 BCBSN,旨在设立超级节点降低网络波动.Kaneko 等[13]将区块链节点分为共识节点和验证节点,其中共识节点采用无结构组网方式,验证节点采用结构化组网方式,利用不同组网方式的优点实现网络负载的均衡. ...
An analysis of anonymity in bitcoin using P2P network traffic
2014
Deanonymisation of clients in bitcoin P2P network
2014
Dandelion:redesigning the bitcoin network for anonymity
1
2017
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Dandelion++:lightweight cryptocurrency networking with formal anonymity guarantees
1
2018
... 匿名性是加密货币的重要特性之一,但从网络层视角看,区块链的匿名性并不能有效保证,因为攻击者可以利用监听并追踪 IP 地址的方式推测出交易之间、交易与公钥地址之间的关系,通过匿名隐私研究可以主动发掘安全隐患,规避潜在危害.Koshy 等[16,17]从网络拓扑、传播层协议和作恶模型3个方面对比特币网络进行建模,通过理论分析和仿真实验证明了比特币网络协议在树形组网结构下仅具备弱匿名性,在此基础上提出 Dandelion 网络策略以较低的网络开销优化匿名性,随后又提出 Dandelion++原理,以最优信息理论保证来抵抗大规模去匿名攻击. ...
Eclipse attacks on Bitcoin’s peer-to-peer network
1
2015
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
Hijacking bitcoin:routing attacks on cryptocurrencies
2
2017
... 区块链重点关注其数据层和共识层面机制,并基于普通网络构建开放的互联环境,该方式极易遭受攻击.为提高区块链网络的安全性,学术界展开研究并给出了相应的解决方案.Heilman 等[18]对比特币和以太坊网络实施日蚀攻击(eclipse attack)——通过屏蔽正确节点从而完全控制特定节点的信息来源,证实了该攻击的可行性.Apostolaki等[19]提出针对比特币网络的 BGP(border gateway protocal)劫持攻击,通过操纵自治域间路由或拦截域间流量来制造节点通信阻塞,表明针对关键数据的沿路攻击可以大大降低区块传播性能. ...
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
Improving authenticated dynamic dictionaries,with applications to cryptocurrencies
1
2017
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
GEM^2-tree:a gas-efficient structure for authenticated range queries in blockchain
1
2019
... 高效验证的学术问题源于验证数据结构(ADS,authenticated data structure),即利用特定数据结构快速验证数据的完整性,实际上 MKT 也是其中的一种.为了适应区块链数据的动态性(dynamical)并保持良好性能,学术界展开了研究.Reyzin等[20]基于AVL树形结构提出AVL+,并通过平衡验证路径、缺省堆栈交易集等机制,简化轻量级节点的区块头验证过程.Zhang等[21]提出GEM2-tree结构,并对其进行优化提出 GEM2כ-tree 结构,通过分解单树结构、动态调整节点计算速度、扩展数据索引等机制降低以太坊节点计算开销. ...
An analysis of anonymity in the bitcoin system
1
2011
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
A fistful of bitcoins:characterizing payments among men with no names
1
2013
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Blockchain transaction analysis using dominant sets
1
2017
... 区块数据直接承载业务信息,因此区块数据的匿名关联性分析更为直接.Reid等[22]将区块数据建模为事务网络和用户网络,利用多交易数据的用户指向性分析成功降低网络复杂度.Meiklejohn等[23]利用启发式聚类方法分析交易数据的流动特性并对用户进行分组,通过与这些服务的互动来识别主要机构的比特币地址.Awan 等[24]使用优势集(dominant set)方法对区块链交易进行自动分类,从而提高分析准确率. ...
Increasing anonymity in bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocoin:anonymous distributed e-cash from bitcoin
1
2013
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
Zerocash:decentralized anonymous payments from bitcoin
1
2014
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
A anti-quantum transaction authentication approach in blockchain
1
2018
... 隐私保护方面,Saxena等[25]提出复合签名技术削弱数据的关联性,基于双线性映射中的Diffie-Hellman假设保证计算困难性,从而保护用户隐私.Miers 等[26]和 Sasson 等[27]提出 Zerocoin 和Zerocash,在不添加可信方的情况下断开交易间的联系,最早利用零知识证明(zero-knowledge proof)技术隐藏交易的输入、输出和金额信息,提高比特币的匿名性.非对称加密是区块链数据安全的核心,但在量子计算面前却显得“捉襟见肘”,为此Yin等[28]利用盆景树模型(bonsai tree)改进晶格签名技术(lattice-based signature),以保证公私钥的随机性和安全性,使反量子加密技术适用于区块链用户地址的生成. ...
The sybil attack
1
2002
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Double-spending fast payments in bitcoin
1
2012
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
The byzantine generals problem
1
1982
... 区块链网络中每个节点必须维护完全相同的账本数据,然而各节点产生数据的时间不同、获取数据的来源未知,存在节点故意广播错误数据的可能性,这将导致女巫攻击[29]、双花攻击[30]等安全风险;除此之外,节点故障、网络拥塞带来的数据异常也无法预测.因此,如何在不可信的环境下实现账本数据的全网统一是共识层解决的关键问题.实际上,上述错误是拜占庭将军问题(the Byzantine generals problem)[31]在区块链中的具体表现,即拜占庭错误——相互独立的组件可以做出任意或恶意的行为,并可能与其他错误组件产生协作,此类错误在可信分布式计算领域被广泛研究. ...
Consensus in the age of blockchains
1
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
Consensus in the presence of partial synchrony
2
1988
... 状态机复制(state-machine replication)是解决分布式系统容错问题的常用理论.其基本思想为:任何计算都表示为状态机,通过接收消息来更改其状态.假设一组副本以相同的初始状态开始,并且能够就一组公共消息的顺序达成一致,那么它们可以独立进行状态的演化计算,从而正确维护各自副本之间的一致性.同样,区块链也使用状态机复制理论解决拜占庭容错问题,如果把每个节点的数据视为账本数据的副本,那么节点接收到的交易、区块即为引起副本状态变化的消息.状态机复制理论实现和维持副本的一致性主要包含2个要素:正确执行计算逻辑的确定性状态机和传播相同序列消息的共识协议.其中,共识协议是影响容错效果、吞吐量和复杂度的关键,不同安全性、可扩展性要求的系统需要的共识协议各有不同.学术界普遍根据通信模型和容错类型对共识协议进行区分[32],因此严格地说,区块链使用的共识协议需要解决的是部分同步(partial synchrony)模型[33]下的拜占庭容错问题. ...
... 比特币在网络层采用非结构化方式组网,路由表呈现随机性.节点间则采用多点传播方式传递数据,曾基于Gossip协议实现,为提高网络的抗匿名分析能力改为基于Diffusion协议实现[33].节点利用一系列控制协议确保链路的可用性,包括版本获取(Vetsion/Verack)、地址获取(Addr/GetAddr)、心跳信息(PING/PONG)等.新节点入网时,首先向硬编码 DNS 节点(种子节点)请求初始节点列表;然后向初始节点随机请求它们路由表中的节点信息,以此生成自己的路由表;最后节点通过控制协议与这些节点建立连接,并根据信息交互的频率更新路由表中节点时间戳,从而保证路由表中的节点都是活动的.交互逻辑层为建立共识交互通道,提供了区块获取(GetBlock)、交易验证(MerkleBlock)、主链选择(CmpctBlock)等协议;轻节点只需要进行简单的区块头验证,因此通过头验证(GetHeader/Header)协议和连接层中的过滤设置协议指定需要验证的区块头即可建立简单验证通路.在安全机制方面,比特币网络可选择利用匿名通信网络Tor作为数据传输承载,通过沿路径的层层数据加密机制来保护对端身份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 区块链网络中主要包含PoX(poof of X)[34]、BFT(byzantine-fault tolerant)和 CFT(crash-fault tolerant)类基础共识协议.PoX 类协议是以 PoW (proof of work)为代表的基于奖惩机制驱动的新型共识协议,为了适应数据吞吐量、资源利用率和安全性的需求,人们又提出PoS(proof of stake)、PoST (proof of space-time)等改进协议.它们的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.BFT类协议是指解决拜占庭容错问题的传统共识协议及其改良协议,包括PBFT、BFT-SMaRt、Tendermint等.CFT类协议用于实现崩溃容错,通过身份证明等手段规避节点作恶的情况,仅考虑节点或网络的崩溃(crash)故障,主要包括Raft、Paxos、Kafka等协议. ...
Blockchains consensus protocols in the wild
1
2017
... 非许可链和许可链的开放程度和容错需求存在差异,共识层面技术在两者之间产生了较大区别.具体而言,非许可链完全开放,需要抵御严重的拜占庭风险,多采用PoX、BFT类协议并配合奖惩机制实现共识.许可链拥有准入机制,网络中节点身份可知,一定程度降低了拜占庭风险,因此可采用BFT类协议、CFT类协议构建相同的信任模型[35]. ...
Practical byzantine fault tolerance and proactive recovery
1
2002
... PBFT是 BFT经典共识协议,其主要流程如图8 所示.PBFT将节点分为主节点和副节点,其中主节点负责将交易打包成区块,副节点参与验证和转发,假设作恶节点数量为f.PBFT共识主要分为预准备、准备和接受3个阶段,主节点首先收集交易后排序并提出合法区块提案;其余节点先验证提案的合法性,然后根据区块内交易顺序依次执行并将结果摘要组播;各节点收到2f个与自身相同的摘要后便组播接受投票;当节点收到超过2f+1个投票时便存储区块及其产生的新状态[36]. ...
In search of an understandable consensus algorithm
1
2015
... Raft[37]是典型的崩溃容错共识协议,以可用性强著称.Raft将节点分为跟随节点、候选节点和领导节点,领导节点负责将交易打包成区块,追随节点响应领导节点的同步指令,候选节点完成领导节点的选举工作.当网络运行稳定时,只存在领导节点和追随节点,领导节点向追随节点推送区块数据从而实现同步.节点均设置生存时间决定角色变化周期,领导节点的心跳信息不断重置追随节点的生存时间,当领导节点发生崩溃时,追随节点自动转化为候选节点并进入选举流程,实现网络自恢复. ...
Proofs of useful work
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Comparative analysis of blockchain consensus algorithms
1
2018
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Ouroboros:a provably secure proof-of-stake blockchain protocol
1
2017
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
Tight proofs of space and replication
1
... 如前文所述,PoX类协议的基本特点在于设计证明依据,使诚实节点可以证明其合法性,从而实现拜占庭容错.uPoW[38]通过计算有意义的正交向量问题证明节点合法性,使算力不被浪费.PoI (proof-of-importance)[39]利用图论原理为每个节点赋予重要性权重,权重越高的节点将越有可能算出区块.PoS(poof-of-stake)为节点定义“币龄”,拥有更高币龄的节点将被分配更多的股份(stake),而股份被作为证明依据用于成块节点的选举.Ouroboros[40]通过引入多方掷币协议增大了选举随机性,引入近乎纳什均衡的激励机制进一步提高PoS 的安全性.PoRep(proof-of-replication)[41]应用于去中心化存储网络,利用证明依据作为贡献存储空间的奖励,促进存储资源再利用. ...
A vademecum on blockchain technologies:when,which,and how
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
A survey on consensus mechanisms and mining strategy management in blockchain networks
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Formal modeling and verification of a federated byzantine agreement algorithm for blockchain platforms
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
An overview of blockchain technology:architecture,consensus,and future trends
1
2017
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
HotStuff:BFT consensus in the lens of blockchain
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Libra critique towards global decentralized financial system
1
2019
... BFT协议有较长的发展史,在区块链研究中被赋予了新的活力.SCP[42]和Ripple[43]基于联邦拜占庭共识[44]——存在交集的多池(确定规模的联邦)共识,分别允许节点自主选择或与指定的节点构成共识联邦,通过联邦交集达成全网共识.Tendermint[45]使用Gossip通信协议基本实现异步拜占庭共识,不仅简化了流程而且提高了可用性.HotStuff[46]将BFT与链式结构数据相结合,使主节点能够以实际网络时延及 O(n)通信复杂度推动协议达成一致.LibraBFT[47]在HotStuff的基础上加入奖惩机制及节点替换机制,从而优化了性能. ...
Proof of activity:extending bitcoin’s proof of work via proof of stake
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin meets strong consistency
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Enhancing bitcoin security and performance with strong consistency via collective signing
1
2016
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Casper the friendly finality gadget
1
... Hybrid 类协议是研究趋势之一.PoA[48]利用PoW产生空区块头,利用PoS决定由哪些节点进行记账和背书,其奖励由背书节点和出块节点共享.PeerCensus[49]由节点团体进行拜占庭协议实现共识,而节点必须基于比特币网络,通过 PoW 产出区块后才能获得投票权力.ByzCoin[50]利用PoW的算力特性构建动态成员关系,并引入联合签名方案来减小PBFT的轮次通信开销,提高交易吞吐量,降低确认时延.Casper[51]则通过PoS的股份决定节点构成团体并进行BFT共识,且节点可投票数取决于股份. ...
Bitcoin and beyond:a technical survey on decentralized digital currencies
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Non-interactive proofs of proof-of-work
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A secure sharding protocol for open blockchains
1
2016
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
OmniLedger:a secure,scale-out,decentralized ledger via sharding
1
2018
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
PolyShard:coded sharding achieves linearly scaling efficiency and security simultaneously
1
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
A survey on the scalability of blockchain systems
1
2019
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Scalable funding of bitcoin micropayment channel networks
1
2017
... 侧链(side-chain)在比特币主链外构建新的分类资产链,并使比特币和其他分类资产在多个区块链之间转移,从而分散了单一链的负荷.Tschorsch等[52]利用Two-way Peg机制实现交互式跨链资产转换,防止该过程中出现双花.Kiayias 等[53]利用NIPoPoW机制实现非交互式的跨链工作证明,并降低了跨链带来的区块冗余.分片(sharding)是指不同节点子集处理区块链的不同部分,从而减少每个节点的负载.ELASTICO[54]将交易集划分为不同分片,每个分片由不同的节点集合进行并行验证.OmniLedger[55]在前者的基础上优化节点随机选择及跨切片事务提交协议,从而提高了切片共识的安全性与正确性.区别于 OmniLedger,PolyShard[56]利用拉格朗日多项式编码分片为分片交互过程加入计算冗余,同时实现了可扩展性优化与安全保障.上述研究可视为链上处理模型在加密货币场景下的可扩展性优化方案.实际上,链下处理模型本身就是一种扩展性优化思路,闪电网络[57]通过状态通道对交易最终结果进行链上确认,从而在交易过程中实现高频次的链外支付.Plasma[58]在链下对区块链进行树形分支拓展,树形分支中的父节点完成子节点业务的确认,直到根节点与区块链进行最终确认. ...
Making smart contracts smarter
1
2016
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Vandal:a scalable security analysis framework for smart contracts
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
ContractFuzzer:fuzzing smart contracts for vulnerability detection
1
2018
... 一方面,沙盒环境承载了区块链节点运行条件,针对虚拟机展开的攻击更为直接;另一方面,智能合约直接对账本进行操作,其漏洞更易影响业务运行,因此控制层的安全防护研究成为热点.Luu等[59]分析了运行于EVM中的智能合约安全性,指出底层平台的分布式语义差异带来的安全问题.Brent 等[60]提出智能合约安全分析框架 Vandal,将EVM 字节码转换为语义逻辑关,为分析合约安全漏洞提供便利.Jiang 等[61]预先定义用于安全漏洞的特征,然后模拟执行大规模交易,通过分析日志中的合约行为实现漏洞检测. ...
Decentralized user-centric access control using pubsub over blockchain
1
2017
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Pseudonym management through blockchain:cost-efficient privacy preservation on intelligent transportation systems
1
2019
... 智慧城市是指利用 ICT 优化公共资源利用效果、提高居民生活质量、丰富设施信息化能力的研究领域,该领域包括个人信息管理、智慧医疗、智慧交通、供应链管理等具体场景.智慧城市强调居民、设施等各类数据的采集、分析与使能,数据可靠性、管理透明化、共享可激励等需求为智慧城市带来了许多技术挑战.区块链去中心化的交互方式避免了单点故障、提升管理公平性,公开透明的账本保证数据可靠及可追溯性,多种匿名机制利于居民隐私的保护,因此区块链有利于问题的解决.Hashemi等[62]将区块链用于权限数据存储,构建去中心化的个人数据接入控制模型;Bao等[63]利用区块链高效认证和管理用户标识,保护车主的身份、位置、车辆信息等个人数据. ...
Hosting virtual IoT resources on edge-hosts with blockchain
1
2016
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchain based distributed control system for edge computing
1
2017
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Integration of fog computing and blockchain technology using the plasma framework
1
2019
... 边缘计算是一种将计算、存储、网络资源从云平台迁移到网络边缘的分布式信息服务架构,试图将传统移动通信网、互联网和物联网等业务进行深度融合,减少业务交付的端到端时延,提升用户体验.安全问题是边缘计算面临的一大技术挑战,一方面,边缘计算的层次结构中利用大量异构终端设备提供用户服务,这些设备可能产生恶意行为;另一方面,服务迁移过程中的数据完整性和真实性需要得到保障.区块链在这种复杂的工作环境和开放的服务架构中能起到较大作用.首先,区块链能够在边缘计算底层松散的设备网络中构建不可篡改的账本,提供设备身份和服务数据验证的依据.其次,设备能在智能合约的帮助下实现高度自治,为边缘计算提供设备可信互操作基础.Samaniego等[64]提出了一种基于区块链的虚拟物联网资源迁移架构,通过区块链共享资源数据从而保障安全性.Stanciu[65]结合软件定义网络(SDN)、雾计算和区块链技术提出分布式安全云架构,解决雾节点中SDN控制器流表策略的安全分发问题.Ziegler等[66]基于 Plasma 框架提出雾计算场景下的区块链可扩展应用方案,提升雾计算网关的安全性. ...
Blockchained on-device federated learning
1
2018
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
Proof-of- learning:a blockchain consensus mechanism based on machine learning competitions
1
2019
... 人工智能是一类智能代理的研究,使机器感知环境/信息,然后进行正确的行为决策,正确是指达成人类预定的某些目标.人工智能的关键在于算法,而大部分机器学习和深度学习算法建立于体积庞大的数据集和中心化的训练模型之上,该方式易受攻击或恶意操作使数据遭到篡改,其后果为模型的不可信与算力的浪费.此外,数据采集过程中无法确保下游设备的安全性,无法保证数据来源的真实性与完整性,其后果将在自动驾驶等场景中被放大.区块链不可篡改的特性可以实现感知和训练过程的可信.另外,去中心化和合约自治特性为人工智能训练工作的分解和下放奠定了基础,保障安全的基础上提高计算效率.Kim等[67]利用区块链验证联合学习框架下的分发模型的完整性,并根据计算成本提供相应的激励,优化整体学习效果.Bravo-Marquez 等[68]提出共识机制“学习证明”以减轻PoX类共识的计算浪费,构建公共可验证的学习模型和实验数据库. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
基于命名数据网络的区块链信息传输机制
1
2018
... 网络层主要缺陷在于安全性,可拓展性则有待优化.如何防御以 BGP 劫持为代表的网络攻击将成为区块链底层网络的安全研究方向[19].信息中心网络将重塑区块链基础传输网络,通过请求聚合和数据缓存减少网内冗余流量并加速通信传输[69].相比于数据层和共识层,区块链网络的关注度较低,但却是影响安全性、可拓展性的基本因素. ...
/
〈
〉
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层 邮编:100079
电话:010-53878169、53859522、53878236 电子邮件:xuebao@ptpress.com.cn; txxb@bjxintong.com.cn
期刊网站版权所有 © 2021 《通信学报》编辑部
地址:北京市丰台区东铁匠营街道顺八条1号院B座“北阳晨光大厦”2层
邮编:100079 电话:010-53878169、53859522、53878236
电子邮件:txxb@bjxintong.com.cn
什么是区块链技术? - IBM Blockchain
什么是区块链技术? - IBM Blockchain
什么是区块链技术?
区块链是一种不可篡改的共享账本,用于记录交易、跟踪资产和建立信任
区块链的优点
区块链成功从这里开始
IBM《区块链傻瓜书》现已发行第 3 版,已向超过 6.8 万名读者介绍了区块链。
内容:
区块链基础
区块链如何运作
区块链的实践应用:用例
由 Linux 基金会主导的 Hyperledger 项目
第一次区块链应用的十个步骤
区块链技术概述
区块链定义:区块链是一个共享的、不可篡改的账本,旨在促进业务网络中的交易记录和资产跟踪流程。 资产可以是有形的(如房屋、汽车、现金、土地),也可以是无形的(如知识产权、专利、版权、品牌)。几乎任何有价值的东西都可以在区块链网络上跟踪和交易,从而降低各方面的风险和成本。
为什么区块链很重要:业务运营依靠信息。信息接收速度越快,内容越准确,越有利于业务运营。区块链是用于传递这些信息的理想之选,因为它可提供即时、共享和完全透明的信息,这些信息存储在不可篡改的账本上,只能由获得许可的网络成员访问。区块链网络可跟踪订单、付款、帐户、生产等信息。由于成员之间共享单一可信视图,因此,您可采取端到端方式查看交易的所有细节,从而增强信心,提高效率并获得更多的新机会。
区块链的关键元素
分布式账本技术
所有网络参与者都有权访问分布式账本及其不可篡改的交易记录。 借助这个共享账本,交易只需记录一次,从而消除了传统业务网络中典型的重复工作。
不可篡改的记录
当交易被记录到共享账本之后,任何参与者都不能更改或篡改相关信息。 如果交易记录中有错误,则必须添加新交易才能撤消错误,这两个交易随后都是可视的。
智能合约
为了加快交易速度,区块链上存储了一系列自动执行的规则,称为 "智能合约" 。 智能合约可以定义企业债券转让的条件,包括有关要支付的旅行保险的条款等等。
区块链如何运作
每个交易发生时,都会被记录为一个数据“区块”
这些交易表明资产的流动情况,资产可以是有形的(如产品),也可以是无形的(如知识产权)。 数据区块可以记录您选择的信息:人、事、时、地、数甚至条件(例如食品运输温度)。
每个区块都与其前后的区块连接
随着资产从一地移至另一地或所有权的变更,这些数据区块形成了数据链。 数据区块可以确认交易的确切时间和顺序,通过将数据区块安全地链接在一起,可以防止任何数据区块被篡改或在两个现有数据区块之间插入其他数据区块。
交易以区块形式组合成不可逆的链:区块链
每添加一个数据区块都会增强对前一个区块的验证,从而也增强对整条区块链的验证。 因此,篡改区块链很容易就会被发现,这也是不可篡改性的关键优势所在。 这不但消除了恶意人员进行篡改的可能性,还建立了您和其他网络成员可以信任的交易账本。
区块链技术的优点
需要改变的方面:运营人员常常在保留重复记录和执行第三方验证等方面浪费精力。 记录保存系统容易受到欺诈和网络攻击的威胁。 有限的透明度会延缓数据验证速度。 随着物联网的到来,交易量呈爆炸式激增。 所有这些因素都会影响开展业务的速度并侵蚀利润,因此我们需要更好的方法。 于是区块链闪亮登场。
更高的信任度
通过使用区块链技术,作为会员制网络中的一员,您可以确信自己收到准确、及时的数据,并且您的机密区块链记录只能与您特别授予访问权限的网络成员共享。
更高的安全性
所有的网络成员都需要就数据准确性达成共识,并且所有经过验证的交易都将永久记录在案,不可篡改。 没有人可以删除交易,即便是系统管理员也不例外。
更高的效率
通过在网络成员之间共享分布式账本,可避免在记录对账方面浪费时间。 为了加快交易速度,区块链上存储了一系列自动执行的规则,称为“智能合约”。
区块链基础知识五分钟简介
1
深入了解区块链技术的基础知识:数据块中如何包含代表任何有价值事物的数据,它们如何在不可篡改的数据链中按时间顺序连接在一起,以及区块链与比特币等加密货币之间有何差异。
2
了解区块链的分散性质如何使其有别于传统的记录保存,探索许可区块链在商业交易中的价值,以及区块链如何使信任和透明度达到新的水平。
3
食品行业只是通过区块链技术实现转型的行业之一。 了解如何在保护网络参与者数据的前提下,追溯食品的种植、收获、运输和加工的时间、地点和方式。
4
区块链之所以能建立信任,是因为它代表了真实的共享记录。每个人都能相信的数据将有助于推动其他新技术的发展,从而能大幅提高效率、透明度和置信度。
区块链网络的类型
可采用多种方式建立区块链网络。 它们可以是公有、私有、许可式区块链网络,或由联盟建立。
公有区块链网络
公有区块链是任何人都可以加入和参与的区块链,如比特币。 缺点可能包括需要大量计算能力,交易的私密性极低或根本没有私密性可言,以及安全性较弱。 而这些都是区块链的企业用例的重要考虑因素。
私有区块链网络
私有区块链网络与公有区块链网络相似,也是分散的点对点网络。 但是,在私有区块链网络中,由一个组织负责管理网络,控制谁获准参与网络,并执行共识协议,维护共享账本。 这有助于显著提高参与者之间的信任和信心,具体取决于用例。 私有区块链可在企业防火墙后运行,甚至可在企业内部托管。
许可式区块链网络
建立私有区块链的企业通常也会建立许可式区块链网络。 需要注意的是,公有区块链网络也可以成为许可式网络。 这种模式对获准参与网络和执行特定交易的人员施加限制。 参与者需要获得邀请或许可才能加入。
联盟区块链
多个组织可以分担维护区块链的责任。 这些预先挑选的组织决定谁可以提交交易或访问数据。 如果所有参与者都必须获得许可才能参与,并且对区块链共担责任,那么对于企业而言,联盟区块链是理想之选。
区块链安全性
区块链网络的风险管理系统
在构建企业区块链应用时,必须制定全面的安全战略,通过使用网络安全框架、保证服务以及最佳实践,缓解攻击和欺诈带来的风险。
了解有关区块链安全性的更多信息
区块链用例和应用
IBM Food Trust 通过从海洋一直到超市和餐馆全程跟踪捕捞的每一批海鲜,帮助 Raw Seafoods 增强整个食品供应链的信任度。
INBLOCK 发行了基于 Hyperledger Fabric 的 Metacoin 加密货币,旨在更迅速、更方便、更安全地开展数字资产交易。
利用区块链技术,实现变革性的医疗成果
IBM Blockchain Platform 帮助生态系统改变确保信任、数据来源和效率的方式,从而改善患者治疗和组织盈利能力。
阅读:实现变革性的医疗成果 (PDF, 188 KB)
了解 Golden State Foods 如何利用区块链的不可篡改性,跟踪供应链中的货物,帮助保障食品质量。
Vertrax 和 Chateau Software 推出了第一个基于 IBM Blockchain Platform 的多云区块链解决方案,旨在帮助防止大宗石油和天然气分销的供应链中断。
Home Depot 采用 IBM Blockchain 技术,获取有关发货和收货的共享可信信息,从而减少供应商争议并加速解决争议。
行业区块链
行业领军企业使用 IBM Blockchain 消除摩擦,建立信任,实现新的价值。 选择细分行业以了解详细信息。
供应链
医疗保健
政府
零售
媒体和广告
石油和天然气
电信
制造
保险
金融服务
旅游和交通运输 (PDF, 340 KB)
区块链常见问题解答
区块链和比特币有何区别?
比特币是一种不受监管的数字货币。 比特币使用区块链技术作为其交易账本。
这段视频说明了两者之间的差异。
IBM Blockchain Platform 与 Hyperledger 有何关系?
IBM Blockchain Platform 由 Hyperledger 技术提供支持。
这种区块链解决方案可以帮助任何开发人员顺利转变为区块链开发人员。
请访问 Hyperledger 网站以了解详细信息。
了解有关 Hyperledger 的更多信息
我可以在自己期望的任何云上进行部署吗?
IBM Blockchain Platform 软件经过优化处理,可以部署在 Red Hat 最先进的企业级 Kubernetes 平台 Red Hat® OpenShift® 之上。
这意味着您可以更灵活地选择在何处部署区块链网络组件,无论是本地、公有云还是混合云架构。
信息图:在自己选择的云环境中进行部署
我需要更多详细信息。 可从哪里获得?
如需更详细地了解区块链网络的运作方式以及使用方法,请阅读《分布式账本简介》(Introduction to Distributed Ledgers)。
学习 IBM Developer 上的区块链教程,了解更多信息
探索 IBM Blockchain Platform 的功能,这是唯一完全集成的企业级区块链平台,旨在帮助您加速多机构业务网络的开发、治理和运营。
立即注册,下载 IBM Blockchain Platform 白皮书 (PDF, 616 KB)
获取有关 Hyperledger Fabric 的详细信息,了解其独到之处、为何对业务网络至关重要以及如何开始使用。
访问 IBM Developer 上的 Hyperledger 页面
这份开发人员快速入门指南解释了如何使用 IBM Blockchain Platform Starter Plan 构建入门级区块链网络并开始编写代码。
查看开发人员快速入门指南
区块链解决方案
IBM Blockchain 解决方案
IBM Blockchain Platform 属于领先的 Hyperledger Fabric 平台。区块链创新者可充分利用这一平台,通过 Red Hat® OpenShift® 在任何计算环境中构建、运营、管理和发展区块链解决方案。
了解有关 IBM Blockchain Platform 的信息
区块链咨询
作为顶级区块链服务提供商,IBM Blockchain Services 拥有丰富的专业知识,可帮助您基于最佳技术构建强大的解决方案。超过 1,600 名区块链专家使用来自 100 多个实时网络的洞察,帮助您构建和发展。
了解有关区块链咨询的信息
所有 IBM Blockchain 解决方案
采用 IBM Blockchain 解决方案是区块链取得成功的最佳捷径。 IBM 融合了各种网络,使您能够轻松让其他成员加入,共同推动食品供应、供应链、贸易融资、金融服务、保险以及媒体和广告等领域的转型。
查看我们快速发展的区块链解决方案
区块链技术资源
通过艺术诠释区块链技术
我们请来五位对区块链技术知之甚少的艺术家,创作有关区块链主要优点的艺术作品。查看他们的作品,然后在我们最新网络研讨会系列 Blockparty 中,从 IBM 客户和业务合作伙伴那里了解更多信息。
区块链技术博客
网络上有关区块链技术的内容并不缺乏。但对于 100 多万的读者来说,IBM Blockchain Pulse 博客是区块链思想领导力和洞察分析最值得信赖的来源之一。
区块链技术播客
戴上耳机,通过聆听区块链创新者的知识来充实自我。了解区块链技术如何帮助个人重新获得对身份的控制权限、消除全球贫困和减少污染等难题。
区块链技术用例
通过了解创新者如何使用区块链技术 IBM Blockchain Platform 变革业务来获得启发。您可以加入现有的区块链网络,也可以与我们合作创建您自己的区块链网络。
客户成功案例
了解我们的客户如何运用 IBM Blockchain 区块链技术,对组织进行革新,从而获得切实可行的业务成果。
区块链技术后续步骤
浏览我们的参考指南,更深入地了解区块链的各个方面,包括运作方式、使用方法以及实施注意事项。
区块链技术主题
区块链技术的优点
智能合约
面向企业的区块链
区块链安全性
社会公益区块链
区块链和物联网
Hyperledger
什么是区块链技术?- 区块链简介 - AWS
什么是区块链技术?- 区块链简介 - AWS
跳至主要内容
单击此处以返回 Amazon Web Services 主页
联系我们
支持
中文(简体)
我的账户
登录
创建 AWS 账户
re:Invent
产品
解决方案
定价
文档
了解
合作伙伴网络
AWS Marketplace
客户支持
活动
探索更多信息
关闭
عربي
Bahasa Indonesia
Deutsch
English
Español
Français
Italiano
Português
Tiếng Việt
Türkçe
Ρусский
ไทย
日本語
한국어
中文 (简体)
中文 (繁體)
关闭
我的配置文件
注销 AWS Builder ID
AWS 管理控制台
账户设置
账单与成本管理
安全证书
AWS Personal Health Dashboard
关闭
支持中心
专家帮助
知识中心
AWS Support 概述
AWS re:Post
单击此处以返回 Amazon Web Services 主页
免费试用
联系我们
re:Invent
产品
解决方案
定价
AWS 简介
入门
文档
培训和认证
开发人员中心
客户成功案例
合作伙伴网络
AWS Marketplace
支持
AWS re:Post
登录控制台
下载移动应用
什么是云计算?
云计算概念中心
Amazon Managed Blockchain
区块链
什么是区块链技术?
创建 AWS 账户
什么是区块链技术?
为什么区块链很重要?
不同行业如何使用区块链?
区块链技术具有哪些功能?
区块链技术包含哪些关键组件?
区块链的工作原理是什么?
区块链网络有哪些类型?
什么是区块链协议?
区块链技术是如何发展的?
区块链技术有哪些好处?
比特币与区块链之间有什么区别?
数据库与区块链之间有什么区别?
区块链与云有什么区别?
什么是区块链即服务?
什么是 AWS 区块链服务?
什么是区块链技术?
区块链技术是一种高级数据库机制,允许在企业网络中透明地共享信息。区块链数据库将数据存储在区块中,而数据库则一起链接到一个链条中。数据在时间上是一致的,因为在没有网络共识的情况下,您不能删除或修改链条。因此,您可以使用区块链技术创建不可改变的分类账,以便跟踪订单、付款、账户和其他交易。系统内置的机制可以阻止未经授权的交易条目并在这些交易的共享视图中创建一致性。
为什么区块链很重要?
传统数据库技术为记录金融交易带来了很多难题。例如,在房地产销售领域。在交换资金后,房地产的所有权将转移给买方。买卖双方中的任何一方均可记录货币交易,但任何一方的来源均不可信。即便卖方已收款,也可轻松声称他们未收款;同样,即便买方未付款,也可辩称他们已付款。
为了避免潜在的法律问题,需要一个可信的第三方负责监督和验证交易。这种中央机构的存在,不仅会使交易复杂化,还会造成单点漏洞。如果该中央数据口遭到入侵,双方都有可能蒙受损失。
区块链通过创建去中心化的防篡改系统来记录交易,可以缓解此类问题。在房地产交易场景中,区块链可分别为买方和卖方创建一个分类账。所有交易都必须获得双方批准,并将在双方的分类账中实时更新。历史交易中的任何损坏都会导致整个分类账损坏。区块链技术的这些属性以使其用于各个行业部类,包括比特币 (Bitcoin) 等数字货币的创造。
不同行业如何使用区块链?
区块链是一种新兴技术,很多行业都以创新方式采用了此技术。我们将在以下小节中介绍不同行业中的一些使用案例:
能源
多家能源公司使用区块链技术创建点对点能源交易平台,并简化可再生能源的获得。例如,考虑以下用途:
多家基于区块链的能源公司创建了交易平台,用于个人之间的电力销售。拥有太阳能电池板的业主使用此平台将其多余的太阳能销售给邻居。该流程大部分是自动化的:智能电表创建交易,区块链则记录交易。
借助基于区块链的众筹计划,用户可在缺乏能源获得途径的社区内赞助和拥有太阳能电池板。在太阳能电池板建好后,赞助商还可以向这些社区收取租金。
金融
传统金融系统(如银行和证券交易所)使用区块链服务来管理在线支付、账户和市场交易。例如,新加坡交易所(Singapore Exchange Limited)是一家在整个亚洲提供金融交易服务的投资控股公司,该公司使用区块链技术构建了更高效的跨行支付账户。通过采用区块链,该公司解决了多个难题,包括数千项金融交易的批处理和手动对账。
媒体和娱乐
多家媒体和娱乐公司使用区块链系统来管理版权数据。版权验证对于艺术家的公平补偿至关重要。需要多次交易才能记录版权内容的销售或转让。 日本索尼音乐娱乐公司(Sony Music Entertainment Japan)使用区块链服务使数字版权管理更加高效。该公司成功使用区块链策略提高了版权处理效率并降低了成本。
零售
多家零售公司使用区块链跟踪商品在供应商与买家之间的转移。例如,Amazon 零售为一套分布式分类账技术系统申请了专利,该系统使用区块链技术来验证并确保在该平台上销售的所有商品均为正品。Amazon 卖家可以通过允许参与者(如制造商、快递公司、分销商、最终用户和二级用户)向证书颁发机构注册后将事件添加到分类账,映射其全球供应链。
区块链技术具有哪些功能?
区块链技术具有以下主要功能:
去中心化
区块链中的去中心化是指将控制权和决策权从中心化实体(个人、组织或团体)转让给分布式网络。去中心化区块链网络使用透明度来减少对参与者之间取得信任的需要。这些网络还以削弱网络功能性的方式,阻止参与者彼此施加权力或控制。
不可变性
不可变性是指某些内容不能更改或改变。一旦某个参与者将交易记录到共享分类账中,则任何参与者均不能篡改该交易。如果某个交易记录包含错误,则您必须添加新交易以修正错误,并且整个网络均可看见这两个交易。
共识
区块链系统将建立关于参与者就记录交易达成共识的规则。仅当网络中的大部分参与者都同意时,才能记录新交易。
区块链技术包含哪些关键组件?
区块链架构包含以下主要组件:
分布式分类账
分布式分类账是区块链网络中用于存储交易的共享数据库,如团队中的每个人均可编辑的共享文件。在大多数共享文本编辑者中,任何拥有编辑权限的人员均可删除整个文件。但分布式分类账技术对于谁能编辑以及如何编辑具有严格规则。一旦条目已被记录,您就无法删除它们。
智能合约
很多公司使用智能合约来自行管理业务合约,而不需要第三方的帮助。智能合约是存储在区块链系统上的程序,这些程序将在符合预先确定的条件时自动运行。这些程序将运行条件语句检查,以便能够放心地完成交易。例如,某家物流公司可能拥有一份智能合约,约定一旦商品抵达港口将自动进行付款。
公钥加密
公钥加密是一种安全功能,用于唯一标识区块链网络中的参与者。此机制将为网络成员生成两组密钥。一组密钥是公钥,对于网络中的每个人都是公用的。另一组密钥是私钥,对于每个成员都是唯一的。私钥与公钥配合使用,解锁分类账中的数据。
例如,John 和 Jill 是网络中的两个成员。John 记录了一项交易,并用其私钥进行了加密。Jill 可以使用其公钥解密该交易。通过这种方式,Jill 可以确信 John 进行了该交易。如果 John 的私钥已被篡改,则 Jill 的公钥不会发挥作用。
区块链的工作原理是什么?
虽然区块链的底层机制非常复杂,我们将通过以下步骤提供简要概述。区块链软件可以自动执行以下大部分步骤:
第 1 步 – 记录交易
区块链交易显示实体资产或数字资产从区块链网络中的一方向另一方的转移。该交易以区块的形式记录,可能包括如下细节:
谁参与了该交易?
交易期间发生了什么情况?
交易是在何时进行的?
交易是在哪里进行的?
为什么进行该交易?
交换了多少资产?
交易期间符合多少前提条件?
第 2 步 – 达成共识
分布式区块链网络中的大多数参与者必须就已记录的交易是有效的达成一致。根据网络类型,达成协议的规则可能有所不同,但通常是在网络开始建立时就制定好的。
第 3 步 – 将区块链接起来
一旦参与者达成了共识,会将区块链中的交易写入区块,区块就相当于分类账账簿中的页面。连同交易一起,还会将一个加密哈希附加到新区块。该哈希作为将区块链接在一起的链条。如果有意或无意修改了区块的内容,则该哈希值也将更改,这将提供一种检测数据篡改的方式。
因此,区块将与链条安全地链接在一起,且您无法编辑它们。每增加一个区块,都会强化前一个区块的验证,因而也会强化整个区块链的验证。这就像是堆砌木块建塔一样。您只能在前一层木块之上堆叠木块,如果您从塔的中间取出一个木块,则整座塔将垮塌。
第 4 步 – 共享分类账
该系统会将中心分类账的最新副本分发给所有参与者。
区块链网络有哪些类型?
有四种主要类型的去中心化或分布式区块链网络:
公有区块链网络
公有区块链无需权限,任何人均可加入它们。此类区块链的所有成员享有读取、编辑和验证区块链的平等权限。人们主要将公有区块链用于交换和挖掘加密货币,如比特币、以太坊 (Ethereum) 和莱特币 (Litecoin)。
私有区块链网络
一个组织可以控制多个私有区块链,又称为托管式区块链。该机构决定谁能成为成员,以及他们在该网络中拥有哪些权限。私有区块链只是部分去中心化,因为它们具有访问限制。Ripple 就是一个私有区块链的示例,它是一个面向企业的数字货币交换网络。
混合区块链网络
混合区块链结合了私有网络和公有网络的元素。公司可随公有系统一起建立私有、基于权限的系统。通过这种方法,公司可以控制对区块链中存储的特定数据的访问,同时保持其余数据处于公开状态。公司使用智能合约允许公有成员检查私有交易是否已经完成。例如,混合区块链可以授予对数字货币的公有访问权限,同时保持银行拥有的货币处于私有状态。
联盟区块链网络
联盟区块链网络由一组组织负责监管。多家预先选择的组织共同承担维护区块链及确定数据访问权限的职责。对于其中很多组织拥有共同目标并可通过共担责任而获益的行业,通常更喜欢联盟区块链网络。例如,全球航运业务网络联盟 (Global Shipping Business Network Consortium) 是一个非营利性区块链联盟,该联盟致力于实现航运业数字化,以及加强海运业运营商之间的合作。
什么是区块链协议?
术语区块链协议一词是指可用于应用程序开发的不同类型的区块链平台。每种区块链协议都采用基本区块链原则来适应特定行业或应用需求。以下小节提供了一些区块链协议的示例:
Hyperledger Fabric
Hyperledger Fabric 是一个开源项目,包含一套工具和库。企业可以使用它来迅速有效地构建私有区块链应用程序。它是一种模块化通用框架,提供独特的身份管理和访问控制功能。这些功能使其非常适合各种应用,如供应链的跟踪和追踪、贸易金融、忠诚度和奖励,以及金融资产的清算结算。
以太坊
以太坊是一种去中心化开源区块链平台,人们可以将其用于构建公有区块链应用程序。企业以太坊 (Ethereum Enterprise) 专为企业使用案例而设计。
Corda
Corda 是一种专为企业而设计的开源区块链项目。借助 Corda,您可以构建可互操作的区块链网络,用于在严格保密的情况下进行交易。企业可以使用 Corda 的智能合约技术直接进行有价值的交易。其大部分用户是金融机构。
Quorum
Quorum 是一种源自以太坊的开源区块链协议。该协议专为在两种区块链网络中使用而设计:私有区块链网络,其中只有一个成员拥有所有节点;或者联盟区块链网络,其中包含多个成员,每个成员拥有该网络的一部分。
区块链技术是如何发展的?
区块链技术起源于 1970 年代末,当时一位名为 Ralph Merkle 的计算机科学家申请了哈希树(又名 Merkle 树)的专利。这些树是一种计算机科学结构,通过使用加密将区块链接起来,用于存储数据。在 1990 年代末,Stuart Haber 和 W. Scott Stornetta 使用 Merkle 树实现了无法篡改文档时间戳的系统。这是区块链历史上的首个实例。
该技术一直在不断发展,已经经过以下三代:
第一代 – 比特币和其他虚拟货币
2008 年,一个仅知道名字为中本聪 (Satoshi Nakamoto) 的匿名个人或团体,概述了区块链技术的现代形态。中本聪的比特币区块链理念将 1 MB 信息区块用于比特币交易。比特币区块链系统的很多功能,即便是今天也仍处于区块链技术的中心地位。
第二代 – 智能合约
在第一代加密货币出现后的几年,开发人员开始考虑加密货币以外的区块链应用。例如,以太坊的发明者们决定在资产转让交易中使用区块链技术。他们的重要贡献就是智能合约功能。
第三代 – 未来
随着众多公司发现和实现新应用,区块链技术也在不断发展和成长。很多公司正在解决规模和计算能力的限制,在正在进行的区块链革命中,潜在机会是无限的。
区块链技术有哪些好处?
区块链技术可为资产交易管理带来很多好处。我们将在以下小节中列出其中部分好处:
高级安全功能
区块链系统可以提供现代数字交易所需的高级安全和信任功能。对于有人会操纵底层软件为自己生成假币的恐惧始终存在。但区块链使用加密、去中心化和共识三项原则,创建了高度安全、几乎不可能篡改的底层软件系统。不会有单点故障,并且单个用户也无法更改交易记录。
更高的效率
企业间交易可能需要大量时间,还会造成运营瓶颈,尤其是在涉及合规和第三方监管机构时。区块链中的透明度和智能合约可使此类业务交易更快捷、更高效。
更快捷的审计
企业必须能以可审计的方式,安全地生成、交换、归档和重建电子交易。区块链记录按时间顺序不可变,这意味着所有记录均始终按时间顺序排列。这样的数据透明使得审计过程更加快捷。
比特币与区块链之间有什么区别?
比特币与区块链可以互换使用,但它们是两种不同的事物。由于比特币是区块链技术的早期应用,人们无意间开始使用比特币来指代区块链,因而造成了这种误用。但除比特币外,区块链技术还有很多应用。
比特币是一种在没有任何中心化控制的情况下运营的数字货币。最初创建比特币的目的在于在线进行金融交易,但现在已被视为可转换为任何其他全球货币(如美元或欧元)的数字资产。公有比特币区块链网络将创建和管理中心分类账。
比特币网络
公有分类账记录所有比特币交易,而世界各地的众多服务器则保存此分类账的副本。这些服务器就像银行。只是每个银行仅了解其客户兑换的资金,而比特币服务器则了解世界上的每一笔比特币交易。
任何拥有闲置计算机的人员均可搭建一台此类服务器,称为节点。这就像是开设您自己的比特币银行,而不是银行账户。
比特币挖矿
在公有比特币网络上,成员通过求解加密方程来创建新区块,以挖掘加密货币。该系统将向该网络公开广播每一笔新交易,并在各节点间共享这一信息。每十分钟左右,挖矿者会将这些交易收集到一个新区块中,再将这些新区块永久添加到区块链中,该区块链就像比特币的最终账簿。
由于软件进程的复杂性,因此挖矿需要大量计算资源,并且需要很长时间。作为交换,挖矿者可以赚取少量加密货币。挖矿者相当于记录交易并收取交易费用的现代职员。
该网络上的所有参与者都将使用区块链加密技术,就谁拥有哪些比特币达成共识。
数据库与区块链之间有什么区别?
区块链是一种特殊类型的数据库管理系统,拥有比常规数据库更多的功能。我们将在下面的列表中介绍传统数据库与区块链之间的一些重要区别:
区块链去中心化控制,而不会破坏现有数据中的信任。这在其他数据库系统中是不可能实现的。
参与交易的公司无法共享其整个数据库。但在区块链网络中,每家公司都拥有其分类账副本,并且该系统将自动维护两份分类账之间的一致性。
虽然在大多数数据库系统中,您都可以编辑或删除数据,但在区块链中,您只能插入数据。
区块链与云有什么区别?
术语云一词是指可以在线访问的计算服务。您可以通过云访问软件即服务 (SaaS)、产品即服务 (PaaS) 和基础设施即服务 (IaaS)。云提供商负责管理其硬件和基础设施,并为您提供通过互联网访问这些计算资源的权限。他们还会提供更多其他资源,而不只是数据库管理。如果您想加入公有区块链网络,则需提供您的硬件资源,用于存储您的分类账副本。您也可以将云上的服务器用于此目的。有些云提供商也在云上提供完整的区块链即服务 (BaaS)。
什么是区块链即服务?
区块链即服务 (BaaS) 是第三方在云上提供的一种托管式区块链服务。您可以开发区块链应用程序和数字服务,而云提供商则提供基础设施和区块链构建工具。您要做的就是自定义现有区块链技术,以便更快捷、更高效地采用区块链。
什么是 AWS 区块链服务?
AWS 区块链服务提供多种专门构建的工具,以满足您的要求。您可以使用这些服务构建从中心化分类账数据库(维护不可变的交易记录)到多方、完全托管式区块链网络(帮助消除中介机构)的一切。AWS 拥有众多来自合作伙伴的经过验证的区块链解决方案,可为所有主要区块链协议提供支持,包括 Hyperledger、Corda、以太坊、Quorum 等。因此,您可以借助 AWS 更轻松、更快捷、更高效地开发区块链和分类账应用程序。部分有用的 AWS 区块链服务如下:
Amazon Quantum Ledger Database(QLDB)是一种完全托管式分类账数据库,提供了一个透明、不可变、可以加密方式验证的交易日志。它包含一个内置日志,用于存储每个准确且已排序的数据更改条目。该日志为仅追加型,这意味着用户可以向该日志添加数据,但不能覆盖或删除数据。
Amazon Managed Blockchain 是一种完全托管式服务,让您可以使用 Hyperledger Fabric 和以太坊轻松加入公有网络或创建和管理可扩展的私有网络。立即创建 AWS 账户开始使用区块链。
“什么是 Amazon Managed Blockchain?”视频
什么是 AWS 上的区块链?
相关 AWS 产品
排序依据
服务名称
服务名称
产品类别
推出日期(由新到旧)
启动日期(先为最旧)
未找到任何结果
1
…
…
AWS 的后续步骤
查看其他与产品相关的资源
了解关于区块链服务的更多信息
注册免费账户
立即享受 AWS 免费套餐。
注册
开始在控制台中构建
在 AWS 管理控制台中开始构建。
登录
登录控制台
了解有关 AWS 的信息
什么是 AWS?
什么是云计算?
AWS 包容性、多样性和公平性
什么是 DevOps?
什么是容器?
什么是数据湖?
AWS 云安全性
最新资讯
博客
新闻稿
AWS 资源
入门
培训和认证
AWS 解决方案库
架构中心
产品和技术常见问题
分析报告
AWS 合作伙伴
AWS 上的开发人员
开发人员中心
软件开发工具包与工具
运行于 AWS 上的 .NET
运行于 AWS 上的 Python
运行于 AWS 上的 Java
运行于 AWS 上的 PHP
运行于 AWS 上的 JavaScript
帮助
联系我们
获取专家帮助
提交支持工单
AWS re:Post
Knowledge Center
AWS Support 概览
法律人员
亚马逊云科技诚聘英才
创建账户
Amazon 是一个倡导机会均等的雇主:
反对少数族裔、妇女、残疾人士、退伍军人、性别认同和性取向歧视。
语言
عربي
Bahasa Indonesia
Deutsch
English
Español
Français
Italiano
Português
Tiếng Việt
Türkçe
Ρусский
ไทย
日本語
한국어
中文 (简体)
中文 (繁體)
隐私
|
网站条款
|
Cookie 首选项
|
© 2023, Amazon Web Services, Inc. 或其联属公司。保留所有权利。
终止对 Internet Explorer 的支持
知道了
AWS 对 Internet Explorer 的支持将于 07/31/2022 结束。受支持的浏览器包括 Chrome、Firefox、Edge 和 Safari。
了解详情 »
知道了
区块链技术到底是什么? - 知乎
区块链技术到底是什么? - 知乎首页知乎知学堂发现等你来答切换模式登录/注册技术区块链(Blockchain)区块链技术到底是什么?区块链能应用在哪些方面?又能否实现?显示全部 关注者16被浏览77,270关注问题写回答邀请回答好问题1 条评论分享12 个回答默认排序华为云开发者联盟已认证账号 关注摘要:欢迎来到区块链的世界,跟着小链一起学习区块链。本文主要介绍区块链的基本概念,特点和应用场景,帮助您更好的了解区块链。区块链是什么顾名思义,区块(Block)+链(chain)=区块链(Blockchain)是由一个个记录着各种信息的小区块链接起来组成的一个链条,类似于我们将一块块砖头叠起来,而且叠起来后是没办法拆掉的,每个砖头上面还写着各种信息,包括:谁叠的,什么时候叠的,砖头用了什么材质等等,这些信息你也没办法修改。通俗的讲,区块链就是一种全民参与记账的方式,每个参与者都可以参与记账,不需要靠第三方平台,也就省去了中间的一些程序和费用(省时省力还省钱),但为了合作或交易的安全,系统会将每一个参与者的动作广播给所有参与者,保障了整个过程的安全、透明,解决了信任问题。简单总结来说,看图:区块链分布式记账使得网络中参与的计算机(节点)共享同一账本,当交易发生时,同步更改所有账本:区块链的发展最早关于区块链的描述出现在2008年由中本聪发表的一篇论文《比特币:一种点对点的电子现金系统》。这篇论文提出区块链是一种数据结构,是比特币的核心技术,用来记录比特币交易的账目历史。所以,从这个角度来看,比特币是区块链技术的第一个大获成功的应用。话不多说,看图:区块链的特点看到这里,相信大家都已经知道区块链其实就是一个共同记账的账本。看似简单的区块链,到底有什么魅力(特点),让各行各业的大佬朝思暮想,心驰神往。总结一下,看图:区块链的特点其实区块链技术是一个技术合集,它包含共享账本、共识算法、安全隐私和智能合约等技术组成,具有多中心化、共识可信、不可篡改、可追溯等特点。区块链的应用区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术,将可能彻底改变整个人类社会价值传递的方式,它提供了一种记录并传达价值的新方式,能够让价值传递变得更加透明、民主、高效、安全和去中心化,区块链甚至被预言将引领人类互联网第三次巨变。区块链技术逐渐应用到社会的各个领域,它将成为信息时代的重要基础设施,能解决很多当前令我们头疼的事儿。区块链的应用区块链作为一种新型计算机技术,经过不断的探索和实验,在供应链、金融资产的交易结算、医疗行业等领域具有广阔的应用前景。供应链物流应用:基于华为云区块链服务,同时结合物联网技术,构建由生产商、仓储、物流商和客户作为参与方组成的协作联盟,将货物从生产,仓储,干线物流,经销商,本地物流一直到客户全流程信息的可信记录,解决了信息孤岛,信息流转不畅,信息缺乏透明度等行业问题。医疗健康行业应用:基于华为云区块链服务为医疗健康构建由各医疗机构、第三方机构和监管部门作为参与方组成的协作联盟,通过不可篡改、隐私保护的电子病历打通医疗信息孤岛,帮助医患双方提高信任,让患者拥有全面的健康和医疗信息,为远程医疗和转诊医疗提供基础。华为云区块链服务(Blockchain Service简称BCS)是面向企业及开发者提供的区块链技术服务平台,它可以帮助您快速部署、管理、维护区块链网络,降低您使用区块链的门槛,让您专注于自身业务的开发与创新,实现业务快速上链。想了解更多请移步区块链服务介绍。本文分享自华为云社区《【云小课】应用平台第15课 到底什么是区块链?》,作者:阅识风云。点击关注,第一时间了解华为云新鲜技术~发布于 2021-08-28 17:35赞同 111 条评论分享收藏喜欢收起高承实解放军信息工程大学 密码学博士 关注一、区块链技术是什么? 只要接触区块链,我们就总会听到一些说法,比如说,区块链技术如何伟大,区块链技术如何先进。那么,区块链是一种技术吗?如果纯粹从技术发生和发展角度来讲,区块链本身并不存在自己独有的技术,区块链是几种技术的有机组合。只是因为这些技术被组合在一起,从而产生了新的功能。不谦虚地说,我有可能是国内第一批读到中本聪白皮书的人。作为密码学博士,又以信息安全领域的教学和研究为本职工作,因此,在2008年,我就读到了中本聪的白皮书。但当时只是以单一的技术视角来看待这份白皮书,因此也就不可能从这份划时代的白皮书中读到技术创造或技术创新以外的内容,因此当时也就没有觉得区块链是一个多么伟大的东西。我们现在常说,区块链是一种去中心化的技术架构,这个系统具有数据不可篡改性、数据可溯源可追踪、系统具有去第三方信任等一系列特点特征。那么区块链的这些特点特征又是通过哪些技术手段实现的?在我看来,区块链的底层架构是由以下4种原有技术组合而来,这4种技术分别是非对称密码、哈希函数、安全多方计算和对等网。也许不同的人从不同的角度会归纳总结出区块链不同的技术组合。比如,有些人就把脚本语言也作为区块链的底层技术,但我认为,脚本语言最多只是一种工具,而不能算是一种技术。那么,这4种底层技术又具体是什么,他们又是如何组合在一起实现了区块链那些特点特征呢?二、什么是非对称钥密码?非对称密码也被称为公钥密码,是相对于传统的对称密码而言的。在秘密通讯系统中,明文经过密码加密生成密文,密文再通过密码的逆运算还原为明文。传统上在这个系统当中,所有的密码都是相同的,也就是加密密码和解密密码是完全相同的,不能泄露,一旦泄露秘密将得不到保护。这种系统在应用时具有很高的效率,但他最大的麻烦在于,在进行保密通信之前,需要双方事先约定好密钥。这个事情在有些情况下是很困难的,甚至是不可能的。我们以前看过的一个电影叫《鸡毛信》,那么鸡毛信实际上是什么呢?鸡毛信实际上就是进行秘密通信之前约定的密钥。上个世纪70年代,美国两个数学家迪菲(Diffie)和赫尔曼(Hellman)发表了一篇论文叫《密码学的新方向》。这篇论文就提到,我们是否可以为每个人设计两个密码,一个公开,一个不公开,用其中一个加密,用另外一个解密?那么这种密码系统有什么优点呢?比如A和B要进行保密通信,在传统上需要事先就加解密算法和用的密钥进行沟通,但在这个系统中就不再需要事先进行密钥协商了。A给B发秘密信息,A只要用B的公开密钥进行加密。加密之后的信息虽然任何人都可以得到,但只有B可以用自己的不公开的密钥,也叫私钥进行解密,从而就得到了这个秘密。再比如还是A给B发信息,A如果用自己的不公开的密钥加密,那么任何人都可以得到这个消息,任何人也都可以用A的公开的密钥进行解密得到这个消息。那么这个事情说明了什么呢?这个事情说明这个消息确实是A发出的而不是其他人发出的,这个消息也只能是A发出的,除非说A的不公开的密钥被泄露了。这个过程在密码学上我们称为认证,有时也称为签名。非对称密码的安全保证来自于数学上的难题问题。非对称密码在理论上是不安全的,但是在实际上是安全的。这句话是什么意思呢?也就是说非对称密码在理论上是可以被破解的,但是破解过程需要大量的时间,也需要消耗大量的资源。当这个难题被破解的时候,这个秘密也就没有再作为秘密保管的必要了。现在用的最多的两个非对称密码系统,RSA来源于数学上的大数分解难题,椭圆曲线也就是ECC来自于数学上的离散对数问题。在区块链系统当中,数字身份证明、钱包地址,以及进行加密资产交易都需要用到非对称密码。非对称密码已经成为现代密码学的基石。三、什么是哈希函数?那么什么是哈希函数呢?我们都学过数学,数学函数的一般表示是y=f(x)。哈希函数是一类具有特殊性质的单向函数,也就是通过x可以很容易地计算出y, 但是由y不能倒推出x。此外,如果x上有一点小小的变动,y的值都会有明显的改变。 区块链通过哈希函数,实现了区块内数据的完整性和链条间数据传递可靠性。也就是一旦交易记录被改动,无论是改变的是区块内的数据,还是区块链之间的数据,都会立刻被发现。四、什么是安全多方计算?安全多方计算这个词听起来比较深奥,实际上要解决的是在一个互不信任的环境下,两个或多个用户怎样能够在不泄漏各自私有信息的情况下,协同合作以执行某项任务。安全多方计算最早是由华裔计算机科学家、图灵奖获得者姚启智教授于1982年通过百万富翁问题提出的。这个问题表述为,两个百万富翁想知道他们两个谁更富有,但他们都不想让对方知道自己财富的任何信息,在双方都不提供真实财富信息的情况下,如何比较两个人的财富,并给出可信证明。多方安全计算在区块链系统中相当重要。比如在公有链中。因为公有链对所有人开放,是非准许系统,那么我们不知道在这个系统当中有没有坏人,有多少坏人,因此就需要利用安全多方技术,假定在有坏人的情况下,怎么能够让系统照常运转。在联盟链中也需要用到安全多方计算。尽管联盟链是准许链,所有用户都是经批准才进入的,不存在坏分子。但在分布式的网络系统当中,我们不清楚哪一个节点有可能会发生故障,以及如何某个或某些节点发生故障,不能正常运转,怎么保证系统照常运转,也是需要考虑并且利用安全多方计算进行设计的。四、什么是对等网?对等网相比前几种技术就要好理解得多。我们大家都下载过电影,下载电影所用的电驴实就是一种对等网系统。在这种网络系统中,没有中心节点,会有地位很弱的中心节点,所有网络节点的地位都是相同的,系统数据的传输也不需要通过中间节点的存储转发,而是可以直接通过点到点协议进行传输的。 区块链中的数据全网一致性,就是使用对等网点到点协议实现的。在点到点对等网系统当中,整个系统的运行运转没有中心节点的参与,从这个角度也保证了系统的稳固和稳健。 五、区块链是如何通过技术组合,产生新的功能的?以上我们分析了区块链底层最基本的4种技术基础。每种技术都有它特定的应用场景、应用环境,也有他相应的独特作用。当我们把这4种技术,按照区块链的技术架构进行有机结合,就生成了去中心化、去第三方信任、数据不可篡改、可溯源、可追踪等特点的区块链系统。区块链利用点到点对等网协议实现了数据的全网一致性分发,同时也保证了系统的去中心化和稳健。通过哈希函数,实现了数据的不可篡改,以及区块到区块之间的链条,保证了数据的可溯源和可追踪。通过非对称密码,实现了数据的用户身份认证和数字签名。通过安全多方协议,在系统中存在坏人或个别节点不稳定的情况下,保证系统的正常运转。区块链正是通过技术的组合而生成了新的技术,新的技术因为有了新功能,而有了新的用武之地。因此,从这个角度,我经常说,区块链里面有技术问题,但区块链本质上不是技术问题,而是技术应用问题,即如何把区块链这种组合起来的技术及其新生成的功能,应用到更广阔的空间,结合更大更多的应用场景,创造更多的价值。发布于 2019-06-16 09:43赞同 171 条评论分享收藏喜欢
【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所-腾讯云开发者社区-腾讯云
技术综述】:区块链技术发展现状与展望-中科院自动化所-腾讯云开发者社区-腾讯云WZEARW【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所关注作者腾讯云开发者社区文档建议反馈控制台首页学习活动专区工具TVP最新优惠活动文章/答案/技术大牛搜索搜索关闭发布登录/注册首页学习活动专区工具TVP最新优惠活动返回腾讯云官网WZEARW首页学习活动专区工具TVP最新优惠活动返回腾讯云官网社区首页 >专栏 >【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所WZEARW关注发布于 2018-04-16 11:39:595.3K0发布于 2018-04-16 11:39:59举报文章被收录于专栏:专知专知本文为中国科学院自动化研究所复杂系统管理与控制国家重点实验室袁勇博士与王飞跃教授发表在 2016 年 4 月出版的在《自动化学报》上关于区块链技术的综述论文。文章通过解构区块链的核心要素,提出了区块链系统的基础架构模型,详细阐述了区块链及与之相关的比特币的基本原理、技术、方法与应用现状,讨论了智能合约的理念、应用和意义。区块链是以比特币为代表的数字加密货币体系的核心支撑技术。区块链技术的核心优势是去中心化,能够通过运用数据加密、时间戳、分布式共识和经济激励等手段,在节点无需互相信任的分布式系统中实现基于去中心化信用的点对点交易、协调与协作,从而为解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。随着比特币近年来的快速发展与普及,区块链技术的研究与应用也呈现出爆发式增长态势,被认为是继大型机、个人电脑、互联网、移动/社交网络之后计算范式的第五次颠覆式创新,是人类信用进化史上继血亲信用、贵金属信用、央行纸币信用之后的第四个里程碑 [1]。区块链技术是下一代云计算的雏形,有望像互联网一样彻底重塑人类社会活动形态,并实现从目前的信息互联网向价值互联网的转变。区块链技术的快速发展引起了政府部门、金融机构、科技企业和资本市场的广泛关注。2016 年 1 月,英国政府发布区块链专题研究报告 [2],积极推行区块链在金融和政府事务中的应用;中国人民银行召开数字货币研讨会探讨采用区块链技术发行虚拟货币的可行性,以提高金融活动的效率、便利性和透明度。美国纳斯达克于 2015 年 12 月率先推出基于区块链技术的证券交易平台 Linq,成为金融证券市场去中心化趋势的重要里程碑;德勤和安永等专业审计服务公司相继组建区块链研发团队,致力于提升其客户审计服务质量。截止到 2016 年初,资本市场已经相继投入 10 亿美元以加速区块链领域的发展。初创公司 R3CEV 基于微软云服务平台 Azure 推出的 BaaS(Blockchain as a Service,区块链即服务)服务,已与美国银行、花旗银行等全球 40 余家大型银行机构签署区块链合作项目,致力于制定银行业的区块链行业标准与协议。区块链技术起源于 2008 年由化名为「中本聪」(Satoshi Nakamoto)的学者在密码学邮件组发表的奠基性论文《比特币:一种点对点电子现金系统》[3],目前尚未形成行业公认的区块链定义:狭义来讲,区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账(Decentralized Shared Ledger),能够安全存储简单的、有先后关系的、能在系统内验证的数据。广义的区块链技术则是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码(智能合约)来编程和操作数据的一种全新的去中心化基础架构与分布式计算范式。区块链具有去中心化、时序数据、集体维护、可编程和安全可信等特点:首先是去中心化:区块链数据的验证、记账、存储、维护和传输等过程均是基于分布式系统结构,采用纯数学方法而不是中心机构来建立分布式节点间的信任关系,从而形成去中心化的可信任的分布式系统;其次是时序数据:区块链采用带有时间戳的链式区块结构存储数据,从而为数据增加了时间维度,具有极强的可验证性和可追溯性;第三是集体维护:区块链系统采用特定的经济激励机制来保证分布式系统中所有节点均可参与数据区块的验证过程(如比特币的「挖矿」过程),并通过共识算法来选择特定的节点将新区块添加到区块链;第四是可编程:区块链技术可提供灵活的脚本代码系统,支持用户创建高级的智能合约、货币或其他去中心化应用。例如,以太坊(Ethereum)平台即提供了图灵完备的脚本语言以供用户来构建任何可以精确定义的智能合约或交易类型 [4];最后是安全可信:区块链技术采用非对称密码学原理对数据进行加密,同时借助分布式系统各节点的工作量证明等共识算法形成的强大算力来抵御外部攻击、保证区块链数据不可篡改和不可伪造,因而具有较高的安全性。区块链技术是具有普适性的底层技术框架,可以为金融、经济、科技甚至政治等各领域带来深刻变革。按照目前区块链技术的发展脉络,区块链技术将会经历以可编程数字加密货币体系为主要特征的区块链 1.0 模式、以可编程金融系统为主要特征的区块链 2.0 模式和以可编程社会为主要特征的区块链 3.0 模式 [1]。目前,一般认为区块链技术正处于 2.0 模式的初期,股权众筹和 P2P 借贷等各类基于区块链技术的互联网金融应用相继涌现。然而,上述模式实际上是平行而非演进式发展的,区块链 1.0 模式的数字加密货币体系仍然远未成熟,距离其全球货币一体化的愿景实际上更远、更困难。目前,区块链领域已经呈现出明显的技术和产业创新驱动的发展态势,相关学术研究严重滞后、亟待跟进。截止到 2016 年 2 月,以万方数据知识服务平台为中文数据源、以 Web of Science 和 EI Village 为英文数据源的文献检索显示,目前篇名包含关键词「区块链/blockchain」的仅有 2 篇中文 [5,6] 和 9 篇英文文献 [6~14]。本文系统性地梳理了区块链的基本原理、核心技术、典型应用和现存问题,以期为未来研究提供有益的启发与借鉴。本文组织结构为:第 1 节概述区块链与比特币的发展史及二者的关系;第 2 节阐述区块链的基础架构模型及其关键技术;第 3 节和第 4 节分别概要总结了区块链技术的应用场景与现存的问题;第 5 节介绍智能合约及其在区块链领域的应用现状;第 6 节展望了区块链驱动的平行社会发展趋势;第 7 节总结本文内容。1. 比特币与区块链概述比特币是迄今为止最为成功的区块链应用场景。据区块链实时监控网站 Blockchain.info 统计显示,平均每天有约 7500 万美元的 120000 笔交易被写入比特币区块链,目前已生成超过 40万个区块 [15]。加密货币市值统计网站 coinmarketcap.com 显示,截止到 2016 年 2 月,全球共有 675 种加密货币,总市值超过 67 亿美元,其中比特币市值约占 86%,瑞波币和以太币分别居二、三位 [16]。目前比特币供应量(即已经挖出的比特币数量)已经超过 1500 万枚,按照每枚比特币 389.50 美元的现行价格估算其总市值已超过 59 亿美元,在世界各国 2015 年 GDP 排名中占据第 144 位(略低于欧洲的摩尔多瓦)。换言之,在没有政府和中央银行信用背书的情况下,去中心化的比特币已经依靠算法信用创造出与欧洲小国体量相当的全球性经济体【注:近日比特币价格突破 5800 美元/枚,流通的比特币总价值达到 967 亿美元】。预计到 2027 年,全球 10% 的 GDP 将会通过区块链技术存储 [17]。比特币区块链的第一个区块(称为创世区块)诞生于 2009 年 1 月 4 日,由创始人中本聪持有。一周后,中本聪发送了 10 个比特币给密码学专家哈尔芬尼,形成了比特币史上第一次交易;2010 年 5 月,佛罗里达程序员用 1 万比特币购买价值为 25 美元的披萨优惠券,从而诞生了比特币的第一个公允汇率。此后,比特币价格快速上涨,并在 2013 年 11 月创下每枚比特币兑换 1242 美元的历史高值,超过同期每盎司 1241.98 美元的黄金价格。据 CoinDesk 估算,目前全球约有 6 万商家接受比特币交易,其中中国是比特币交易增长最为迅速的国家 [18]。比特币本质上是由分布式网络系统生成的数字货币,其发行过程不依赖特定的中心化机构,而是依赖于分布式网络节点共同参与一种称为工作量证明(Proof of Work,PoW)的共识过程以完成比特币交易的验证与记录。PoW 共识过程(俗称挖矿,每个节点称为矿工)通常是各节点贡献自己的计算资源来竞争解决一个难度可动态调整的数学问题,成功解决该数学问题的矿工将获得区块的记账权,并将当前时间段的所有比特币交易打包记入一个新的区块、按照时间顺序链接到比特币主链上。比特币系统同时会发行一定数量的比特币以奖励该矿工,并激励其他矿工继续贡献算力。比特币的流通过程依靠密码学方法保障安全。每一次比特币交易都会经过特殊算法处理和全体矿工验证后记入区块链,同时可以附带具有一定灵活性的脚本代码(智能合约)以实现可编程的自动化货币流通。由此可见,比特币和区块链系统一般具备如下五个关键要素,即公共的区块链账本、分布式的点对点网络系统、去中心化的共识算法、适度的经济激励机制以及可编程的脚本代码。区块链技术为比特币系统解决了数字加密货币领域长期以来所必需面对的两个重要问题,即双重支付问题和拜占庭将军问题 [19]:双重支付问题又称为「双花」,即利用货币的数字特性两次或多次使用「同一笔钱」完成支付。传统金融和货币体系中,现金(法币)因是物理实体,能够自然地避免双重支付;其他数字形式的货币则需要可信的第三方中心机构(如银行)来保证。区块链技术的贡献是在没有第三方机构的情况下,通过分布式节点的验证和共识机制解决了去中心化系统的双重支付问题,在信息传输的过程同时完成了价值转移。拜占庭将军问题是分布式系统交互过程普遍面临的难题,即在缺少可信任的中央节点的情况下,分布式节点如何达成共识和建立互信 [20]。区块链通过数字加密技术和分布式共识算法,实现了在无需信任单个节点的情况下构建一个去中心化的可信任系统。与传统中心机构(如中央银行)的信用背书机制不同的是,比特币区块链形成的是软件定义的信用,这标志着中心化的国家信用向去中心化的算法信用的根本性变革。图 1 比特币生态圈比特币凭借其先发优势,目前已经形成体系完备的涵盖发行、流通和金融衍生市场的生态圈与产业链(如图1所示),这也是其长期占据绝大多数数字加密货币市场份额的主要原因。比特币的开源特性吸引了大量开发者持续性地贡献其创新技术、方法和机制;比特币各网络节点(矿工)提供算力以保证比特币的稳定共识和安全性,其算力大多来自于设备商销售的专门用于 PoW 共识算法的专业设备(矿机)。比特币网络为每个新发现的区块发行一定数量的比特币以奖励矿工,部分矿工可能会相互合作建立收益共享的矿池,以便汇集算力来提高获得比特币的概率。比特币经发行进入流通环节后,持币人可以通过特定的软件平台(如比特币钱包)向商家支付比特币来购买商品或服务,这体现了比特币的货币属性;同时由于比特币价格的涨跌机制使其完全具备金融衍生品的所有属性,因此出现了比特币交易平台以方便持币人投资或者投机比特币。在流通环节和金融市场中,每一笔比特币交易都会由比特币网络的全体矿工验证并记入区块链。比特币是区块链技术赋能的第一个「杀手级」应用,迄今为止区块链的核心技术和人才资源仍大多在比特币研发领域。然而,区块链作为未来新一代的底层基础技术,其应用范畴势必会超越数字加密货币而延伸到金融、经济、科技和政治等其他领域。比特币的现有技术、模式和机制,将会对区块链在新应用领域的发展提供有益的借鉴,而新领域的区块链创新也势必反过来促进解决比特币系统现存的问题。因此,比特币和区块链技术存在着协同进化、和谐共生而非相互竞争的良性反馈关系。2. 区块链的基础模型与关键技术本节将结合比特币系统的技术与应用现状,阐述区块链技术的基础模型、基本原理和关键技术,以及区块链在比特币系统之外的若干创新模式。现存的其他区块链应用大多都与比特币类似,仅在某些特定的环节或多或少地采用比特币模式的变种。图 2 区块链基础架构模型区块链技术的基础架构模型如图 2 所示。一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。2.1 数据层狭义的区块链即是去中心化系统各节点共享的数据账本。每个分布式节点都可以通过特定的哈希算法和 Merkle 树数据结构,将一段时间内接收到的交易数据和代码封装到一个带有时间戳的数据区块中,并链接到当前最长的主区块链上,形成最新的区块。该过程涉及区块、链式结构、哈希算法、 Merkle 树和时间戳等技术要素。数据区块图 3 区块结构如图 3 所示,每个数据区块一般包含区块头(Header)和区块体(Body)两部分。区块头封装了当前版本号(Version)、前一区块地址(Prev-block)、当前区块的目标哈希值(Bits)、当前区块 PoW 共识过程的解随机数(Nonce)、Merkle 根(Merkle-root)以及时间戳(Timestamp)等信息 [21]。比特币网络可以动态调整 PoW 共识过程的难度值,最先找到正确的解随机数 Nonce 并经过全体矿工验证的矿工将会获得当前区块的记账权。区块体则包括当前区块的交易数量以及经过验证的、区块创建过程中生成的所有交易记录。这些记录通过 Merkle 树的哈希过程生成唯一的 Merkle 根并记入区块头。链式结构取得记账权的矿工将当前区块链接到前一区块,形成最新的区块主链。各个区块依次环环相接,形成从创世区块到当前区块的一条最长主链,从而记录了区块链数据的完整历史,能够提供区块链数据的溯源和定位功能,任意数据都可以通过此链式结构顺藤摸瓜、追本溯源。
需要说明的是,如果短时间内有两个矿工同时「挖出」两个新的区块加以链接的话,区块主链可能会出现暂时的「分叉」现象,其解决方法是约定矿工总是选择延长累计工作量证明最大的区块链。因此,当主链分叉后,后续区块的矿工将通过计算和比较,将其区块链接到当前累计工作量证明最大化的备选链上,形成更长的新主链,从而解决分叉问题 [19]。时间戳区块链技术要求获得记账权的节点必须在当前数据区块头中加盖时间戳,表明区块数据的写入时间。因此,主链上各区块是按照时间顺序依次排列的。时间戳技术本身并不复杂,但其在区块链技术中的应用是具有重要意义的创新。时间戳可以作为区块数据的存在性证明(Proof of Existence),有助于形成不可篡改和不可伪造的区块链数据库,从而为区块链应用于公证、知识产权注册等时间敏感的领域奠定了基础。更为重要的是,时间戳为未来基于区块链的互联网和大数据增加了时间维度,使得通过区块数据和时间戳来重现历史成为可能。哈希函数区块链通常并不直接保存原始数据或交易记录,而是保存其哈希函数值,即将原始数据编码为特定长度的由数字和字母组成的字符串后记入区块链。哈希函数(也称散列函数)具有诸多优良特点,因而特别适合用于存储区块链数据。例如,通过哈希输出几乎不能反推输入值(单向性),不同长度输入的哈希过程消耗大约相同的时间(定时性)且产生固定长度的输出(定长性),即使输入仅相差一个字节也会产生显著不同的输出值(随机性)等。比特币区块链通常采用双 SHA256 哈希函数,即将任意长度的原始数据经过两次 SHA256 哈希运算后转换为长度为 256 位(32字节)的二进制数字来统一存储和识别。除上述特点外,SHA256 算法还具有巨大的散列空间(2256)和抗碰撞(避免不同输入值产生相同哈希值)等特性,可满足比特币的任何相关标记需要而不会出现冲突。Merkle 树Merkle 树是区块链的重要数据结构,其作用是快速归纳和校验区块数据的存在性和完整性。如图 3 所示,Merkle 树通常包含区块体的底层(交易)数据库,区块头的根哈希值(即Merkle 根)以及所有沿底层区块数据到根哈希的分支。Merkle 树运算过程一般是将区块体的数据进行分组哈希,并将生成的新哈希值插入到 Merkle 树中,如此递归直到只剩最后一个根哈希值并记为区块头的 Merkle 根。最常见的 Merkle 树是比特币采用的二叉 Merkle 树,其每个哈希节点总是包含两个相邻的数据块或其哈希值 [22],其他变种则包括以太坊的 Merkle Patricia Tree等 [4]。Merkle 树有诸多优点:首先是极大地提高了区块链的运行效率和可扩展性,使得区块头只需包含根哈希值而不必封装所有底层数据,这使得哈希运算可以高效地运行在智能手机甚至物联网设备上;其次是 Merkle 树可支持「简化支付验证」协议,即在不运行完整区块链网络节点的情况下,也能够对(交易)数据进行检验 [3]。例如,为验证图 3 中交易 6,一个没有下载完整区块链数据的客户端可以通过向其他节点索要包括从交易 6 哈希值沿 Merkle 树上溯至区块头根哈希处的哈希序列(即哈希节点6,5,56,78,5678,1234)来快速确认交易的存在性和正确性。一般说来,在 N 个交易组成的区块体中确认任一交易的算法复杂度仅为 log_2 N 。这将极大地降低区块链运行所需的带宽和验证时间,并使得仅保存部分相关区块链数据的轻量级客户端成为可能。非对称加密非对称加密是为满足安全性需求和所有权验证需求而集成到区块链中的加密技术,常见算法包括 RSA、Elgamal、Rabin、D-H、ECC(即椭圆曲线加密算法)等。非对称加密通常在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。非对称密钥对具有两个特点:
首先是用其中一个密钥(公钥或私钥)加密信息后,只有另一个对应的密钥才能解开;其次是公钥可向其他人公开、私钥则保密,其他人无法通过该公钥推算出相应的私钥。非对称加密技术在区块链的应用场景主要包括信息加密、数字签名和登录认证等,其中:信息加密场景主要是由信息发送者(记为 A)使用接受者(记为 B)的公钥对信息加密后再发送给 B,B 利用自己的私钥对信息解密。比特币交易的加密即属于此场景;数字签名场景则是由发送者 A 采用自己的私钥加密信息后发送给 B,B 使用 A 的公钥对信息解密、从而可确保信息是由 A 发送的;登录认证场景则是由客户端使用私钥加密登录信息后发送给服务器,后者接收后采用该客户端的公钥解密并认证登录信息。图 4 比特币非对称加密机制以比特币系统为例,其非对称加密机制如图 4 所示:比特币系统一般通过调用操作系统底层的随机数生成器来生成 256 位随机数作为私钥。比特币私钥的总量可达 2256,极难通过遍历全部私钥空间来获得存有比特币的私钥,因而是密码学安全的。为便于识别,256 位二进制形式的比特币私钥将通过 SHA256 哈希算法和 Base58 转换,形成 50 个字符长度的易识别和书写的私钥提供给用户;比特币的公钥是由私钥首先经过 Secp256k1 椭圆曲线算法生成 65 字节长度的随机数。该公钥可用于产生比特币交易时使用的地址,其生成过程为首先将公钥进行 SHA256 和 RIPEMD160 双哈希运算并生成20字节长度的摘要结果(即 hash160 结果),再经过 SHA256 哈希算法和 Base58 转换形成 33 字符长度的比特币地址 [19]。公钥生成过程是不可逆的,即不能通过公钥反推出私钥。比特币的公钥和私钥通常保存于比特币钱包文件,其中私钥最为重要。丢失私钥就意味着丢失了对应地址的全部比特币资产。现有的比特币和区块链系统中,根据实际应用需求已经衍生出多私钥加密技术,以满足多重签名等更为灵活和复杂的场景。2.2 网络层网络层封装了区块链系统的组网方式、消息传播协议和数据验证机制等要素。结合实际应用需求,通过设计特定的传播协议和数据验证机制,可使得区块链系统中每一个节点都能参与区块数据的校验和记账过程,仅当区块数据通过全网大部分节点验证后,才能记入区块链。组网方式区块链系统的节点一般具有分布式、自治性、开放可自由进出等特性,因而一般采用对等式网络(Peer-to-Peer Network,P2P 网络)来组织散布全球的参与数据验证和记账的节点。P2P 网络中的每个节点均地位对等且以扁平式拓扑结构相互连通和交互,不存在任何中心化的特殊节点和层级结构,每个节点均会承担网络路由、验证区块数据、传播区块数据、发现新节点等功能。按照节点存储数据量的不同,可以分为全节点和轻量级节点。前者保存有从创世区块到当前最新区块为止的完整区块链数据,并通过实时参与区块数据的校验和记账来动态更新主链。全节点的优势在于不依赖任何其他节点而能够独立地实现任意区块数据的校验、查询和更新,劣势则是维护全节点的空间成本较高。以比特币为例,截止到 2016 年 2 月,创世区块至当前区块的数据量已经超过 60 GB。与之相比,轻量级节点则仅保存一部分区块链数据,并通过第 2.1 节提到的简易支付验证方式向其相邻节点请求所需的数据来完成数据校验。数据传播协议任一区块数据生成后,将由生成该数据的节点广播到全网其他所有的节点来加以验证。现有的区块链系统一般根据实际应用需求设计比特币传播协议的变种,例如以太坊区块链集成了所谓的「幽灵协议」以解决因区块数据确认速度快而导致的高区块作废率和随之而来的安全性风险 [4]。根据中本聪的设计,比特币系统的交易数据传播协议包括如下步骤 [3]:1) 比特币交易节点将新生成的交易数据向全网所有节点进行广播;2) 每个节点都将收集到的交易数据存储到一个区块中;3) 每个节点基于自身算力在区块中找到一个具有足够难度的工作量证明;4) 当节点找到区块的工作量证明后,就向全网所有节点广播此区块;5) 仅当包含在区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性;6) 其他节点接受该数据区块,并在该区块的末尾制造新的区块以延长该链条,而将被接受区块的随机哈希值视为先于新区块的随机哈希值。需要说明的是,如果交易节点是与其他节点无连接的新节点,比特币系统通常会将一组长期稳定运行的「种子节点」推荐给新节点建立连接,或者推荐至少一个节点连接到新节点。此外,交易数据广播时,并不需要全部节点均接收到,而是只要足够多的节点做出响应即可整合进入区块账本中。未接收到特定交易数据的节点则可向邻近节点请求下载该缺失的交易数据 [19]。数据验证机制P2P 网络中的每个节点都时刻监听比特币网络中广播的数据与新区块。节点接收到邻近节点发来的数据后,将首先验证该数据的有效性:如果数据有效,则按照接收顺序为新数据建立存储池以暂存尚未记入区块的有效数据,同时继续向邻近节点转发;如果数据无效,则立即废弃该数据,从而保证无效数据不会在区块链网络继续传播。以比特币为例,比特币的矿工节点会收集和验证 P2P 网络中广播的尚未确认的交易数据,并对照预定义的标准清单,从数据结构、语法规范性、输入输出和数字签名等各方面校验交易数据的有效性,并将有效交易数据整合到当前区块中。同理,当某矿工「挖」到新区块后,其他矿工节点也会按照预定义标准来校验该区块是否包含足够工作量证明,时间戳是否有效等。如确认有效,其他矿工节点会将该区块链接到主区块链上,并开始竞争下一个新区块。由网络层设计机理可见,区块链是典型的分布式大数据技术。全网数据同时存储于去中心化系统的所有节点上,即使部分节点失效,只要仍存在一个正常运行的节点,区块链主链数据就可完全恢复而不会影响后续区块数据的记录与更新。这种高度分散化的区块存储模式与云存储模式的区别在于,后者是基于中心化结构基础上的多重存储和多重数据备份模式,即「多中心化」模式,而前者则是完全「去中心化」的存储模式,具有更高的数据安全性。2.3 共识层如何在分布式系统中高效地达成共识是分布式计算领域的重要研究问题。正如社会系统中「民主」和「集中」的对立关系相似,决策权越分散的系统达成共识的效率越低、但系统稳定性和满意度越高;而决策权越集中的系统更易达成共识,但同时更易出现专制和独裁。区块链技术的核心优势之一就是能够在决策权高度分散的去中心化系统中使得各节点高效地针对区块数据的有效性达成共识。早期的比特币区块链采用高度依赖节点算力的工作量证明(Proof of Work,PoW)机制来保证比特币网络分布式记账的一致性。随着区块链技术的发展和各种竞争币的相继涌现,研究者提出多种不依赖算力而能够达成共识的机制,例如点点币首创的权益证明(Proof of Stake,PoS)共识 [23] 和比特股首创的授权股份证明机制(Delegated Proof of Stake,DPoS)共识机制 [24] 等。区块链共识层即封装了这些共识机制。PoW 共识中本聪在其比特币奠基性论文中设计了 PoW 共识机制,其核心思想是通过引入分布式节点的算力竞争来保证数据一致性和共识的安全性。比特币系统中,各节点(即矿工)基于各自的计算机算力相互竞争来共同解决一个求解复杂但验证容易的 SHA256 数学难题(即挖矿),最快解决该难题的节点将获得区块记账权和系统自动生成的比特币奖励。该数学难题可表述为:根据当前难度值,通过搜索求解一个合适的随机数(Nonce)使得图 3 中区块头各元数据的双 SHA256 哈希值小于或等于目标哈希值。比特币系统通过灵活调整随机数搜索的难度值来控制区块的平均生成时间为 10 分钟左右。一般说来,PoW 共识的随机数搜索过程如下(参照图3区块结构) [19]:步骤 1:搜集当前时间段的全网未确认交易,并增加一个用于发行新比特币奖励的 Coinbase 交易,形成当前区块体的交易集合;步骤 2:计算区块体交易集合的 Merkle 根记入区块头,并填写区块头的其他元数据,其中随机数 Nonce 置零;步骤 3:随机数 Nonce 加 1;计算当前区块头的双 SHA256 哈希值,如果小于或等于目标哈希值,则成功搜索到合适的随机数并获得该区块的记账权;否则继续步骤 3 直到任一节点搜索到合适的随机数为止;步骤 4:如果一定时间内未成功,则更新时间戳和未确认交易集合、重新计算 Merkle 根后继续搜索。符合要求的区块头哈希值通常由多个前导零构成,目标哈希值越小,区块头哈希值的前导零越多,成功找到合适的随机数并「挖」出新区块的难度越大。据区块链实时监测网站 Blockchain.info 显示,截止到 2016 年 2 月,符合要求的区块头哈希值一般有 17 个前导零,例如第 398346 号区块哈希值为「0000000000000000077f754f22f21629a7975cf…」。按照概率计算,每 16 次随机数搜索将会有找到一个含有一个前导零的区块哈希值,因而比特币目前 17 位前导零哈希值要求 1617 次随机数搜索才能找到一个合适的随机数并生成一个新的区块。由此可见,比特币区块链系统的安全性和不可篡改性是由 PoW 共识机制的强大算力所保证的,任何对于区块数据的攻击或篡改都必须重新计算该区块以及其后所有区块的 SHA256 难题,并且计算速度必须使得伪造链长度超过主链,这种攻击难度导致的成本将远超其收益。据估计,截止到 2016 年 1 月,比特币区块链的算力已经达到 800000000 Gh/s,即每秒进行8×10^18 次运算,超过全球 Top 500 超级计算机的算力总和。PoW 共识机制是具有重要意义的创新,其近乎完美地整合了比特币系统的货币发行、交易支付和验证等功能,并通过算力竞争保障系统的安全性和去中心性。PoW 共识机制同时存在着显著的缺陷,其强大算力造成的资源浪费(如电力)历来为研究者所诟病,而且长达 10 分钟的交易确认时间使其相对不适合小额交易的商业应用。PoS 共识机制PoS 共识是为解决 PoW 共识机制的资源浪费和安全性缺陷而提出的替代方案。限于篇幅,本文主要聚焦于 PoS 相对于 PoW 的创新之处。PoS 共识本质上是采用权益证明来代替 PoW 中的基于哈希算力的工作量证明,是由系统中具有最高权益而非最高算力的节点获得区块记账权。权益体现为节点对特定数量货币的所有权,称为币龄或币天数(Coin Days)。币龄是特定数量的币与其最后一次交易的时间长度的乘积,每次交易都将会消耗掉特定数量的币龄。例如,某人在一笔交易中收到 10 个币后并持有 10 天,则获得 100 币龄;而后其花掉 5 个币后,则消耗掉 50 币龄。显然,采用 PoS 共识机制的系统在特定时间点上的币龄总数是有限的,长期持币者更倾向于拥有更多币龄,因此币龄可视为其在 PoS 系统中的权益。此外,PoW 共识过程中各节点挖矿难度相同,而 PoS 共识过程中的难度与交易输入的币龄成反比,消耗币龄越多则挖矿难度越低。节点判断主链的标准也由 PoW 共识的最高累计难度转变为最高消耗币龄,每个区块的交易都会将其消耗的币龄提交给该区块,累计消耗币龄最高的区块将被链接到主链。由此可见,PoS 共识过程仅依靠内部币龄和权益而不需要消耗外部算力和资源,从根本上解决了 PoW 共识算力浪费的问题,并且能够在一定程度上缩短达成共识的时间,因而比特币之后的许多竞争币均采用 PoS 共识机制。DPoS 共识机制DPoS 共识机制的基本思路类似于「董事会决策」,即系统中每个股东节点可以将其持有的股份权益作为选票授予一个代表,获得票数最多且愿意成为代表的前 101 个节点将进入「董事会」,按照既定的时间表轮流对交易进行打包结算并且签署(即生产)一个新区块。每个区块被签署之前,必须先验证前一个区块已经被受信任的代表节点所签署。「董事会」的授权代表节点可以从每笔交易的手续费中获得收入,同时要成为授权代表节点必须缴纳一定量的保证金,其金额相当于生产一个区块收入的 100 倍。授权代表节点必须对其他股东节点负责,如果其错过签署相对应的区块,则股东将会收回选票从而将该节点「投出」董事会。因此,授权代表节点通常必须保证 99% 以上的在线时间以实现盈利目标 [24]。显然,与 PoW 共识机制必须信任最高算力节点和 PoS 共识机制必须信任最高权益节点不同的是,DPoS 共识机制中每个节点都能够自主决定其信任的授权节点且由这些节点轮流记账生成新区块,因而大幅减少了参与验证和记账的节点数量,可以实现快速共识验证。除上述三种主流共识机制外,实际区块链应用中也衍生出了 PoW + PoS、行动证明(Proof of Activity)等多个变种机制。这些共识机制各有优劣势,比特币的 PoW 共识机制依靠其先发优势已经形成成熟的挖矿产业链,支持者众多,而 PoS 和 DPoS 等新兴机制则更为安全、环保和高效,从而使得共识机制的选择问题成为区块链系统研究者最不易达成共识的问题。2.4 激励层区块链共识过程通过汇聚大规模共识节点的算力资源来实现共享区块链账本的数据验证和记账工作,因而其本质上是一种共识节点间的任务众包过程。去中心化系统中的共识节点本身是自利的,最大化自身收益是其参与数据验证和记账的根本目标。因此,必须设计激励相容的合理众包机制,使得共识节点最大化自身收益的个体理性行为与保障去中心化区块链系统的安全和有效性的整体目标相吻合。区块链系统通过设计适度的经济激励机制并与共识过程相集成,从而汇聚大规模的节点参与并形成了对区块链历史的稳定共识。以比特币为例,比特币 PoW 共识中的经济激励由新发行比特币奖励和交易流通过程中的手续费两部分组成,奖励给 PoW 共识过程中成功搜索到该区块的随机数并记录该区块的节点。因此,只有当各节点通过合作共同构建共享和可信的区块链历史记录、并维护比特币系统的有效性,其获得的比特币奖励和交易手续费才会有价值。比特币已经形成成熟的挖矿生态圈,大量配备专业矿机设备的矿工积极参与基于挖矿的 PoW 共识过程,其根本目的就是通过获取比特币奖励并转换为相应法币来实现盈利。发行机制比特币系统中每个区块发行比特币的数量是随着时间阶梯性递减的。创世区块起的每个区块将发行 50 个比特币奖励给该区块的记账者,此后每隔约 4 年(21万个区块)每区块发行比特币的数量降低一半,依此类推,一直到比特币的数量稳定在上限 2100 万为止 [19]。比特币交易过程中会产生手续费,目前默认手续费是万分之一个比特币,这部分费用也会记入区块并奖励给记账者。这两部分费用将会封装在每个区块的第一个交易(称为 Coinbase 交易)中。虽然现在每个区块的总手续费相对于新发行比特币来说规模很小(通常不会超过 1 个比特币),但随着未来比特币发行数量的逐步减少甚至停止发行,手续费将逐渐成为驱动节点共识和记账的主要动力。同时,手续费还可以防止大量微额交易对比特币网络发起的「粉尘」攻击,起到保障安全的作用。分配机制比特币系统中,大量的小算力节点通常会选择加入矿池,通过相互合作汇集算力来提高「挖」到新区块的概率,并共享该区块的比特币和手续费奖励。据 Bitcoinmining.com 统计,目前已经存在 13 种不同的分配机制 [25]。主流矿池通常采用 PPLNS(Pay Per Last N Shares)、PPS(Pay Per Share)和 PROP(PROPortionately)等机制。矿池将各节点贡献的算力按比例划分成不同的股份(Share),其中:PPLNS 机制是指发现区块后,各合作节点根据其在最后 N 个股份内贡献的实际股份比例来分配区块中的比特币;PPS 则直接根据股份比例为各节点估算和支付一个固定的理论收益,采用此方式的矿池将会适度收取手续费来弥补其为各节点承担的收益不确定性风险;PROP 机制则根据节点贡献的股份按比例地分配比特币。矿池的出现是对比特币和区块链去中心化趋势的潜在威胁,如何设计合理的分配机制引导各节点合理地合作、避免出现因算力过度集中而导致的安全性问题是亟待解决的研究问题。2.5 合约层合约层封装区块链系统的各类脚本代码、算法以及由此生成的更为复杂的智能合约。如果说数据、网络和共识三个层次作为区块链底层「虚拟机」分别承担数据表示、数据传播和数据验证功能的话,合约层则是建立在区块链虚拟机之上的商业逻辑和算法,是实现区块链系统灵活编程和操作数据的基础。包括比特币在内的数字加密货币大多采用非图灵完备的简单脚本代码来编程控制交易过程,这也是智能合约的雏形。随着技术的发展,目前已经出现以太坊等图灵完备的可实现更为复杂和灵活的智能合约的脚本语言,使得区块链能够支持宏观金融和社会系统的诸多应用。本节将以比特币脚本为例,从技术角度简述合约层的基本技术和方法,关于智能合约的延伸内容将在第 5 节讨论。比特币采用一种简单的、基于堆栈的、从左向右处理的脚本语言,而一个脚本本质上是附着在比特币交易上的一组指令的列表。比特币交易依赖于两类脚本来加以验证,即锁定脚本和解锁脚本,二者的不同组合可在比特币交易中衍生出无限数量的控制条件。其中,锁定脚本是附着在交易输出值上的「障碍」,规定以后花费这笔交易输出的条件;解锁脚本则是满足被锁定脚本在一个输出上设定的花费条件的脚本,同时它将允许输出被消费。举例来说,大多数比特币交易均是采用接受者的公钥加密和私钥解密,因而其对应的P2PKH(Pay to Public Key Hash)标准交易脚本中的锁定脚本即是使用接受者的公钥实现阻止输出功能,而使用私钥对应的数字签名来加以解锁 [19]。比特币脚本系统可以实现灵活的交易控制,例如:通过规定某个时间段(如一周)作为解锁条件,可以实现延时支付;通过规定接受者和担保人必须共同私钥签名才能支配一笔比特币,可以实现担保交易;通过设计一种可根据外部信息源核查某概率事件是否发生的规则并作为解锁脚本附着在一定数量的比特币交易上,即可实现博彩和预测市场等类型的应用;通过设定 N 个私钥集合中至少提供 M 个私钥才可解锁,可实现 M - N 型多重签名,即 N个潜在接受者中至少有 M 个同意签名才可实现支付。多重签名可广泛应用于公司决策、财务监督、中介担保甚至遗产分配等场景。比特币脚本是智能合约的雏形,催生了人类历史上第一种可编程的全球性货币。然而,比特币脚本系统是非图灵完备的,其中不存在复杂循环和流控制,这在损失一定灵活性的同时能够极大地降低复杂性和不确定性,并能够避免因无限循环等逻辑炸弹而造成拒绝服务等类型的安全性攻击。为提高脚本系统的灵活性和可扩展性,研究者已经尝试在比特币协议之上叠加新的协议,以满足在区块链上构建更为复杂的智能合约的需求。以太坊已经研发出一套图灵完备的脚本语言,用户可基于以太坊构建任意复杂和精确定义的智能合约与去中心化应用,从而为基于区块链构建可编程的金融与社会系统奠定了基础 [4]。3. 区块链的应用场景由区块链独特的技术设计可见,区块链系统具有分布式高冗余存储、时序数据且不可篡改及伪造、去中心化信用、自动执行的智能合约、安全和隐私保护等显著的特点,这使得区块链技术不仅可以成功应用于数字加密货币领域,同时在经济、金融和社会系统中也存在广泛的应用场景。根据区块链技术应用的现状,本文将区块链目前的主要应用笼统地归纳为数字货币、数据存储、数据鉴证、金融交易、资产管理和选举投票共六个场景,并概述除数字货币外的五大应用场景以及区块链的三种应用模式。数据存储区块链的高冗余存储(每个节点存储一份数据)、去中心化、高安全性和隐私保护等特点使其特别适合存储和保护重要隐私数据,以避免因中心化机构遭受攻击或权限管理不当而造成的大规模数据丢失或泄露。与比特币交易数据类似地,任意数据均可通过哈希运算生成相应的 Merkle 树并打包记入区块链,通过系统内共识节点的算力和非对称加密技术来保证安全性。区块链的多重签名技术可以灵活配置数据访问的权限,例如必须获得指定 5 个人中 3 个人的私钥授权才可获得访问权限。目前,利用区块链来存储个人健康数据(如电子病历、基因数据等)是极具前景的应用领域,此外存储各类重要电子文件(视频、图片、文本等)乃至人类思想和意识等也有一定应用空间 [7]。数据鉴证区块链数据带有时间戳、由共识节点共同验证和记录、不可篡改和伪造,这些特点使得区块链可广泛应用于各类数据公证和审计场景。例如,区块链可以永久地安全存储由政府机构核发的各类许可证、登记表、执照、证明、认证和记录等,并可在任意时间点方便地证明某项数据的存在性和一定程度上的真实性。包括德勤在内的多家专业审计公司已经部署区块链技术来帮助其审计师实现低成本和高效地实时审计,Factom 公司则基于区块链设计了一套准确的、可核查的和不可更改的审计公证流程与方法 [26]。金融交易区块链技术与金融市场应用有非常高的契合度。区块链可以在去中心化系统中自发地产生信用,能够建立无中心机构信用背书的金融市场,从而在很大程度上实现了「金融脱媒」,这对第三方支付、资金托管等存在中介机构的商业模式来说是颠覆性的变革。在互联网金融领域,区块链特别适合或者已经应用于股权众筹、P2P 网络借贷和互联网保险等商业模式。证券和银行业务也是区块链的重要应用领域,传统证券交易需要经过中央结算机构、银行、证券公司和交易所等中心机构的多重协调,而利用区块链自动化智能合约和可编程的特点,能够极大地降低成本和提高效率,避免繁琐的中心化清算交割过程,实现方便快捷的金融产品交易。同时,区块链和比特币的即时到帐的特点可使得银行实现比 SWIFT 代码体系更为快捷、经济和安全的跨境转账,这也是目前 R3CEV 和纳斯达克等各大银行、证券商和金融机构相继投入区块链技术研发的重要原因。资产管理区块链在资产管理领域的应用具有广泛前景,能够实现有形和无形资产的确权、授权和实时监控。对于无形资产来说,基于时间戳技术和不可篡改等特点,可以将区块链技术应用于知识产权保护、域名管理、积分管理等领域。而对有形资产来说,通过结合物联网技术为资产设计唯一标识并部署到区块链上,能够形成「数字智能资产」,实现基于区块链的分布式资产授权和控制。例如,通过对房屋、车辆等实物资产的区块链密钥授权,可以基于特定权限来发放和回收资产的使用权,有助于 Airbnb 等房屋租赁或车辆租赁等商业模式实现自动化的资产交接。通过结合物联网的资产标记和识别技术,还可以利用区块链实现灵活的供应链管理和产品溯源等功能。选举投票投票是区块链技术在政治事务中的代表性应用。基于区块链的分布式共识验证、不可篡改等特点,可以低成本高效地实现政治选举、企业股东投票等应用。同时,区块链也支持用户个体对特定议题的投票。例如,通过记录用户对特定事件是否发生的投票,可以将区块链应用于博彩和预测市场等场景 [27]。通过记录用户对特定产品的投票评分与建议,可以实现大规模用户众包设计产品的「社会制造」模式等。根据实际应用场景和需求,区块链技术已经演化出三种应用模式,即公共链(Public Blockchain)、联盟链(Consortium Blockchain)和私有链(Private Blockchain):公共链是完全去中心化的区块链,分布式系统的任何节点均可参与链上数据的读写、验证和共识过程,并根据其 PoW 或 PoS 贡献获得相应的经济激励。比特币是公共链的典型代表。联盟链则是部分去中心化(或称多中心化)的区块链,适用于多个实体构成的组织或联盟,其共识过程受到预定义的一组节点控制,例如生成区块需要获得 10 个预选的共识节点中的 5 个节点确认。私有链则是完全中心化的区块链,适用于特定机构的内部数据管理与审计等,其写入权限由中心机构控制,而读取权限可视需求有选择性地对外开放。需要说明的是,由于去中心化程度不同,联盟链和私有链可能不完全符合第 2 节提出的区块链模型,例如,中心化程度较高的区块链可能不需要设计激励层中的经济激励等。4. 区块链的现存问题作为近年来兴起并快速发展的新技术,区块链必然会面临各种制约其发展的问题和障碍。本节将从安全、效率、资源和博弈四方面概述区块链技术有待解决的问题。4.1 安全问题安全性威胁是区块链迄今为止所面临的最重要的问题。其中,基于 PoW 共识过程的区块链主要面临的是 51% 攻击问题,即节点通过掌握全网超过 51% 的算力就有能力成功篡改和伪造区块链数据。以比特币为例,据统计中国大型矿池的算力已占全网总算力的 60% 以上,理论上这些矿池可以通过合作实施 51% 攻击,从而实现比特币的双重支付 [1]。虽然实际系统中为掌握全网 51% 算力所需的成本投入远超成功实施攻击后的收益,但 51% 攻击的安全性威胁始终存在。基于 PoS 共识过程在一定程度上解决了51%攻击问题,但同时也引入了区块分叉时的N@S(Nothing at Stake)攻击问题。研究者已经提出通过构造同时依赖高算力和高内存的 PoW 共识算法来部分解决 51% 攻击问题 [4],更为安全和有效的共识机制尚有待于更加深入的研究和设计。区块链的非对称加密机制也将随着数学、密码学和计算技术的发展而变的越来越脆弱。据估计,以目前天河二号的算力来说,产生比特币 SHA256 哈希算法的一个哈希碰撞大约需要 248 年,但随着量子计算机等新计算技术的发展,未来非对称加密算法具有一定的破解可能性,这也是区块链技术面临的潜在安全威胁。区块链的隐私保护也存在安全性风险。区块链系统内各节点并非完全匿名,而是通过类似电子邮件地址的地址标识(例如比特币公钥地址)来实现数据传输。虽然地址标识并未直接与真实世界的人物身份相关联,但区块链数据是完全公开透明的,随着各类反匿名身份甄别技术的发展,实现部分重点目标的定位和识别仍是有可能的。4.2 效率问题区块链效率也是制约其应用的重要因素。首先是区块膨胀问题:区块链要求系统内每个节点保存一份数据备份,这对于日益增长的海量数据存储来说是极为困难的。以比特币为例,完全同步自创世区块至今的区块数据需要约 60 GB 存储空间,虽然轻量级节点可部分解决此问题,但适用于更大规模的工业级解决方案仍有待研发 [28]。其次是交易效率问题:比特币区块链目前每秒仅能处理 7 笔交易,这极大地限制了区块链在大多数金融系统高频交易场景中的应用(例如 VISA 信用卡每秒最多可处理 10000 笔交易)[1]。最后是交易确认时间问题:比特币区块生成时间为 10 分钟,因而交易确认时间一般为 10 分钟,这在一定程度上限制了比特币在小额交易和时间敏感交易中的应用。4.3 资源问题PoW 共识过程高度依赖区块链网络节点贡献的算力,这些算力主要用于解决 SHA256 哈希和随机数搜索,除此之外并不产生任何实际社会价值,因而一般意义上认为这些算力资源是被「浪费」掉了,同时被浪费掉的还有大量的电力资源。随着比特币的日益普及和专业挖矿设备的出现,比特币生态圈已经在资本和设备方面呈现出明显的军备竞赛态势,逐渐成为高耗能的资本密集型行业,进一步凸显了资源消耗问题的重要性。因此,如何能有效汇集分布式节点的网络算力来解决实际问题,是区块链技术需要解决的重要问题。研究者目前已经开始尝试解决此问题,例如 Primecoin(质数币)要求各节点在共识过程中找到素数的最长链条(坎宁安链和双向双链)而非无意义的 SHA256 哈希值 [29]。未来的潜在发展趋势是设计行之有效的交互机制来汇聚和利用分布式共识节点的群体智能,以辅助解决大规模的实际问题。4.4 博弈问题区块链网络作为去中心化的分布式系统,其各节点在交互过程中不可避免地会存在相互竞争与合作的博弈关系,这在比特币挖矿过程中尤为明显。通常来说,比特币矿池间可以通过相互合作保持各自稳定的收益。然而,矿池可以通过称为区块截留攻击(Block with Holding Attacks)的方式、通过伪装为对手矿池的矿工、享受对手矿池的收益但不实际贡献完整工作量证明来攻击其他矿池,从而降低对手矿池的收益。如果矿池相互攻击,则双方获得的收益均少于不攻击对方的收益。当矿池收益函数满足特定条件时,这种攻击和竞争将会造成「囚徒困境」博弈结局 [30]。如何设计合理的惩罚函数来抑制非理性竞争、使得合作成为重复性矿池博弈的稳定均衡解,尚需进一步深入研究。此外,正如前文提到的,区块链共识过程本质上是众包过程,如何设计激励相容的共识机制,使得去中心化系统中的自利节点能够自发地实施区块数据的验证和记账工作,并提高系统内非理性行为的成本以抑制安全性攻击和威胁,是区块链有待解决的重要科学问题。5. 基于区块链的智能合约智能合约概念最早在 1994 年由学者 Nick Szabo 提出,最初被定义为一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议,其设计初衷是希望通过将智能合约内置到物理实体来创造各种灵活可控的智能资产。由于计算手段的落后和应用场景的缺失,智能合约并未受到研究者的广泛关注。区块链技术的出现重新定义了智能合约。智能合约是区块链的核心构成要素(合约层),是由事件驱动的、具有状态的、运行在可复制的共享区块链数据账本上的计算机程序,能够实现主动或被动的处理数据,接受、储存和发送价值,以及控制和管理各类链上智能资产等功能。智能合约作为一种嵌入式程序化合约,可以内置在任何区块链数据、交易、有形或无形资产上,形成可编程控制的软件定义的系统、市场和资产。智能合约不仅为传统金融资产的发行、交易、创造和管理提供了创新性的解决方案,同时能够在社会系统中的资产管理、合同管理、监管执法等事务中发挥重要作用。具体说来,智能合约是一组情景-应对型的程序化规则和逻辑,是部署在区块链上的去中心化、可信共享的程序代码。智能合约同样具有区块链数据的一般特征,如分布式记录、存储和验证,不可篡改和伪造等。签署合约的各参与方就合约内容、违约条件、违约责任和外部核查数据源达成一致,必要时检查和测试合约代码以确保无误后,以智能合约的形式部署在区块链上,即可不依赖任何中心机构地自动化代表各签署方执行合约。智能合约的可编程特性使得签署方可以增加任意复杂的条款。图 5 智能合约的运作机理智能合约的运作机理如图 5 所示:通常情况下,智能合约经各方签署后,以程序代码的形式附着在区块链数据(例如一笔比特币交易)上,经 P2P 网络传播和节点验证后记入区块链的特定区块中。智能合约封装了预定义的若干状态及转换规则、触发合约执行的情景(如到达特定时间或发生特定事件等)、特定情景下的应对行动等。区块链可实时监控智能合约的状态,并通过核查外部数据源、确认满足特定触发条件后激活并执行合约。区块链和智能合约有极为广阔的应用场景。例如,互联网金融领域的股权众筹或 P2P 网络借贷等商业模式可以通过区块链和智能合约加以实现。传统方式是通过股权众筹或 P2P 借贷的交易所或网络平台作为中心机构完成资金募集、管理和投资,实际操作过程中容易出现因中心机构的信用缺失而导致的资金风险。利用智能合约,这些功能均可以封装在去中心化可信的区块链上自动执行。区块链可记录每一笔融资,当成功达到特定融资额度时计算每个投资人的股权份额,或在一段时间内未达到融资额度时自动将资金退还给投资人。再如,通过将房屋和车辆等实体资产进行非对称加密,并嵌入含有特定访问控制规则的智能合约后部署在区块链上,使用者符合特定的访问权限或执行特定操作(如付款)后就可使用这些资产,这能够有效解决房屋或车辆租赁商业模式中资产交接和使用许可方面的痛点。智能合约具有自治、自足和去中心化等特征:自治表示合约一旦启动就会自动运行,而不需要其他签署方进行任何干预;自足则意味着合约能够通过提供服务或发行资产来获取资金,并在需要时使用这些资金;去中心化则意味着智能合约是由去中心化存储和验证的程序代码而非中心化实体来保障执行的合约,能在很大程度上保证合约的公平和公正性 [1]。智能合约对于区块链技术来说具有重要的意义:一方面,智能合约是区块链的激活器,为静态的底层区块链数据赋予了灵活可编程的机制和算法,并为构建区块链 2.0 和 3.0 时代的可编程金融系统与社会系统奠定了基础;另一方面,智能合约的自动化和可编程特性使其可封装分布式区块链系统中各节点的复杂行为,成为区块链构成的虚拟世界中的软件代理机器人,这有助于促进区块链技术在各类分布式人工智能系统中的应用,使得基于区块链技术构建各类去中心化应用(Decentralized Application,Dapp)、去中心化自治组织(Decentralized Autonomous Organization,DAO)、去中心化自治公司(Decentralized Autonomous Corporation,DAC)甚至去中心化自治社会(Decentralized Autonomous Society,DAS)成为可能。就现状而言,区块链和智能合约技术的主要发展趋势是由自动化向智能化方向演化。现存的各类智能合约及其应用的本质逻辑大多仍是根据预定义场景的「IF-THEN」类型的条件响应规则,能够满足目前自动化交易和数据处理的需求。未来的智能合约应具备根据未知场景的「WHAT - IF」推演、计算实验和一定程度上的自主决策功能,从而实现由目前「自动化」合约向真正的「智能」合约的飞跃 [31-32]。6. 区块链驱动的平行社会互联网近年来的迅猛发展及其与物理世界的深度耦合与强力反馈,已经根本性地改变了现代社会的生产、生活与管理决策模式,形成了现实物理世界-虚拟网络空间紧密耦合、虚实互动和协同演化的平行社会空间,催生了「互联网+」和工业 4.0 等一系列国家战略。未来社会的发展趋势则必将从物理 + 网络的 CPS 实际世界(Cyber-Physical Systems,CPS)走向精神层面的人工世界,形成物理 + 网络 + 人工的人-机-物一体化的三元耦合系统,称为社会物理信息系统(Cyber-Physical-Social Systems,CPSS)。目前,基于 CPSS 的平行社会已现端倪,其核心和本质特征是虚实互动与平行演化 [33]。区块链是实现 CPSS 平行社会的基础架构之一,其主要贡献是为分布式社会系统和分布式人工智能研究提供了一套行之有效的去中心化的数据结构、交互机制和计算模式,并为实现平行社会奠定了坚实的数据基础和信用基础:就数据基础而言,管理学家爱德华戴明曾说过:除了上帝,所有人必须以数据说话。然而在中心化社会系统中,数据通常掌握在政府和大型企业等「少数人」手中,为少数人「说话」,其公正性、权威性甚至安全性可能都无法保证。区块链数据则通过高度冗余的分布式节点存储,掌握在「所有人」手中,能够做到真正的「数据民主」。就信用基础而言,中心化社会系统因其高度工程复杂性和社会复杂性而不可避免地会存在「默顿系统」的特性,即不确定性、多样性和复杂性,社会系统中的中心机构和规则制定者可能会因个体利益而出现失信行为。区块链技术有助于实现软件定义的社会系统,其基本理念就是剔除中心化机构、将不可预测的行为以智能合约的程序化代码形式提前部署和固化在区块链数据中,事后不可伪造和篡改并自动化执行,从而在一定程度上能够将「默顿」社会系统转化为可全面观察、可主动控制、可精确预测的「牛顿」社会系统 [34]。ACP(人工社会 Artiflcial Societies、计算实验 Computational Experiments 和平行执行 Parallel Execution)方法是迄今为止平行社会管理领域唯一成体系化的、完整的研究框架,是复杂性科学在新时代平行社会环境下的逻辑延展和创新[35]。ACP 方法可以自然地与区块链技术相结合,实现区块链驱动的平行社会管理:首先,区块链的 P2P 组网、分布式共识协作和基于贡献的经济激励等机制本身就是分布式社会系统的自然建模,其中每个节点都将作为分布式系统中的一个自主和自治的智能体(Agent)。随着区块链生态体系的完善,区块链各共识节点和日益复杂与自治的智能合约将通过参与各种形式的 Dapp,形成特定组织形式的 DAC 和 DAO,最终形成 DAS,即 ACP 中的人工社会 [36]。其次,智能合约的可编程特性使得区块链可进行各种「WHAT - IF」类型的虚拟实验设计、场景推演和结果评估,通过这种计算实验过程获得并自动或半自动地执行最优决策。最后,区块链与物联网等相结合形成的智能资产使得联通现实物理世界和虚拟网络空间成为可能,并可通过真实和人工社会系统的虚实互动和平行调谐实现社会管理和决策的协同优化。不难预见,未来现实物理世界的实体资产都登记为链上智能资产的时候,就是区块链驱动的平行社会到来之时。7. 结束语随着以比特币为代表的数字加密货币的强势崛起,新兴的区块链技术逐渐成为学术界和产业界的热点研究课题。区块链技术的去中心化信用、不可篡改和可编程等特点,使其在数字加密货币、金融和社会系统中有广泛的应用前景。然而,与蓬勃发展的区块链商业应用相比,区块链的基础理论和技术研究仍处于起步阶段,许多更为本质性的、对区块链产业发展至关重要的科学问题亟待研究跟进。本文系统地梳理了区块链技术的基本原理、技术、方法与应用,以期为未来研究提供有益的启发与借鉴。参考文献作者简介袁勇博士,中国科学院自动化研究所复杂系统管理与控制国家重点实验室副研究员。2008 年于山东科技大学获得计算机软件与理论专业博士学位。主要研究方向为商务智能与计算广告学。
王飞跃教授,中国科学院自动化研究所复杂系统管理与控制国家重点实验室研究员,国防科技大学军事计算实验与平行系统技术中心教授。主要研究方向为智能系统和复杂系统的建模、分析与控制。
来源:自动化学报本文参与 腾讯云自媒体分享计划,分享自微信公众号。原始发表:2018-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除区块链人工智能分布式本文分享自 专知 微信公众号,前往查看如有侵权,请联系 cloudcommunity@tencent.com 删除。本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!区块链人工智能分布式评论登录后参与评论0 条评论热度最新登录 后参与评论推荐阅读LV.关注文章0获赞0相关产品与服务区块链云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。产品介绍2024新春采购节领券社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于社区规范免责声明联系我们友情链接腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档Copyright © 2013 - 2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有登录 后参与评论00