2019年1月,国家互联网信息办公室发布《区块链信息服务管理规定》。2019年10月,在中共中央政治局第十八次集体学习时,习近平总书记强调,“把区块链作为核心技术自主创新的重要突破口”“加快推动区块链技术和产业创新发展”。“区块链”快速走进普通民众视野,成为全社会的关注焦点。2019年12月,“区块链”入选《咬文嚼字》杂志2019年十大流行语。
一项专门技术成为中共中央政治局讨论的专门议题,史所罕见。可以看出,这项技术一定是关系到国计民生和社会发展的重大技术。那么,区块链技术到底是一项什么样的技术?
1.区块链技术的定义
2008年,化名为“中本聪”(Satoshi nakamoto)的个人或团体学者发表了论文《Bitcoin:A Peer-to-Peer Electronic Cash System》(《比特币:一种点对点电子现金系统》),这一论述被公认为是区块链技术的奠基性文献。
像许多新兴的互联网技术一样,区块链技术尚没有统一的、标准的定义,各行各业的专家都有自己的理解和认识。比较有参考价值的是维基百科给出的定义:区块链由包含一系列加盖了时间戳的有效交易的区块组成。每个区块都包含了前一个区块的哈希(Hash)值,这样就把区块连接在了一起。连接在一起的区块形成区块链,并且每一个随后的区块都是对之前一个区块的增强,因此给它取了一个数据库类型的名字。
2.区块链技术的特征
区块链技术是一项新兴的计算技术,采用了一种全新的去中心化的分布式基础架构和分布式计算模式,利用加密的链式区块结构进行数据验证并存储数据,利用分布式节点共识算法来生成和更新数据,利用智能合约(自动化脚本代码)来编程和操作数据。这些特点为区块链创造了去中心化、时序数据、集体维护、可编程和安全可信等主要特征,如图4.25所示。
图4.25 区块链技术的五大特征
(1)去中心化特征。完全分布式的基础架构打造了区块链内部去中心化这一主要特点。
(2)时序数据特征。带有时间戳的链式区块结构存储时序数据,为数据增加了时间属性,从而具有了极强的可验证性和可追溯性。
(3)集体维护特征。体现在提供激励机制来保证分布式系统中所有节点均可参与数据区块的验证过程,并通过共识算法来选定节点将新区块添加到区块链,系统的规则和机制依赖所有参与者集体维护。例如,比特币的“挖矿”过程就充分体现了这一特点。
(4)可编程特征。灵活的脚本代码系统可以支持用户创建高级的智能合约、货币,可以根据需要开展其他去中心化应用。
(5)安全可信特征。去中心化基础架构和分布式计算模式建立起了分布式节点间的信任关系,从而形成可信任的分布式系统,使区块链技术具有强大的安全性和可信性。
3.区块链和区块
从本质上来说,区块链就是一种供参与方共享的电子记账簿,把从一开始到目前发生的全部交易信息或事件,按照时间顺序和记账规则记录下来。其中一个区块就是账簿的一页,从第一页逐页“链接”,直到最新一页。每一页的记账内容(每一个区块)一旦被确认,进行修改操作的难度和代价很大,这一特点是保证其安全可信性的重要支撑。每个区块包含了对应这一段时间内的所有交易信息和区块元数据。
区块链分为三类,即公有、私有及行业区块链。公有区块链是指任何个体或者团体都能共用的区块链,这类区块链最先出现,应用也最为广泛,被认为是“完全去中心化”的;私有区块链指一个公司或个人仅仅使用区块链这一技术进行记账操作,不对外公开,目前金融巨头都在探索自己的私有区块链,既应用到区块链的特性,又能保证安全,这类区块链被认为是“完全中心化”的;行业区块链介于公有链的完全开放和私有链的高度封闭之间,在行业集体内部首先指定多个预选节点为记账人,共识过程由这些预选节点控制,这类区块链被认为是“部分去中心化”的。
区块链技术的基础架构模型如图4.26所示。完全去中心化的区块链,系统一般由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
作为一个各节点共享的数据账本,每个分布式节点都可以通过特定的哈希算法和Merkle树数据结构将一段时间内接收到的交易数据和代码封装到一个带有时间戳的数据区块中,形成最新的区块,并链接到当前最长的主区块链上,就生成了最新的区块链。
图4.26 区块链技术的基础架构模型
数据区块是区块链的核心要素,其内部结构如图4.27所示。每个数据区块一般包含区块头(Header)和区块体(Body)两部分。区块头封装了当前版本号(Version)、前一区块地址(Prev-block)、当前区块的目标哈希值(Bits)、当前区块PoW共识过程的解随机数(Nonce)、Merkle根(Merkle-root)以及时间戳(Timestamp)等信息。在比特币网络中,每个节点俗称矿工,最先找到正确的解随机数Nonce并经过全体矿工验证的矿工将会获得当前区块的记账权。区块体则包括当前区块的交易数量以及经过验证的、区块创建过程中生成的所有交易记录。这些记录通过Merkle树的哈希过程生成唯一的Merkle根并记入区块头。
哈希算法由哈希函数(也称散列函数)实现。区块链通常并不直接保存原始数据或交易记录,而是保存其哈希函数值。哈希函数值是先将原始数据编码为特定长度的字符串,然后记入区块链,该字符串由数字和字母组成。
Merkle树是区块链的重要数据结构,其作用是快速归纳、校验区块数据的存在性和完整性。如图4.27所示,Merkle树通常包含区块体的底层(交易)数据库、区块头的根哈希值(即Merkle根)以及所有沿底层区块数据到根哈希的分支。Merkle树运算过程一般是将区块体的数据进行分组哈希,并将生成的新哈希值插入Merkle树中,如此递归直到只剩最后一个根哈希值并记为区块头的Merkle根。(www.daowen.com)
图4.27 区块的内部结构
PoW(proof of work,工作量证明)共识机制是由中本聪在其比特币奠基性论文中设计的,主要目的是保证数据一致性和共识的安全性,核心思想是通过分布式节点的算力竞争来实现。在比特币系统中,很重要的一件事情就是“挖矿”,挖矿的过程就是依靠矿工(即各节点)的计算机算力相互竞争,来一起解决一个求解过程复杂但验证容易的数学难题,哪个矿工先解决了该难题,该节点就可以获得区块记账权,系统自动生成比特币给予奖励。
4.区块链技术的发展趋势
中心化机构普遍存在的高成本、低效率和数据存储不安全等一系列问题,区块链技术为此提供了有效的解决方案。比特币的快速发展,推动了区块链技术的研究与应用呈现出爆发态势,被认为是计算领域在大型机、个人计算机、互联网、移动/社交网络之后的第五次颠覆式创新,是人类信用进化史上继血亲信用、贵金属信用、央行纸币信用之后的第四个里程碑。
区块链技术的底层技术框架具有普适性,可以在金融、经济、科技甚至政治等各社会领域发挥作用,并可能带来深刻变革。一般认为,区块链技术的发展将出现三种模式:
(1)区块链1.0模式。区块链技术以可编程数字加密货币体系为主要特征,如比特币已经打造出一个生态圈,如图4.28所示。
(2)区块链2.0模式。区块链技术以可编程金融系统为主要特征,如基于区块链技术的股权众筹和P2P借贷等各类互联网金融应用。
图4.28 比特币打造的生态圈
(3)区块链3.0模式。区块链技术以可编程社会为主要特征,如基于区块链技术的社会治理、教育培训、选举制度等各类社会应用。
然而,上述模式实际上并非在演进式发展,而是在平行推进,各种模式在同步发展。
区块链1.0模式的数字加密货币体系发展得很热,除了比特币之外,涌现出许多种虚拟货币,有的还抱着实现全球货币一体化的宏伟目标,但恐怕只能是一个虚无缥缈的愿景了。
2019年6月,美国公司Facebook发布了加密数字货币项目Libra的白皮书,希望可以借助其平台27亿用户,在全球范围内创建一个低成本的支付系统,为Facebook在电商、游戏、新闻等应用场景中的价值变现创造可能性。甚至期待能够锚定多国法币组成“一篮子货币”,来建立一个“无国界国币”。这一设想引起国际社会各界的关注。
中国政府高度重视区块链技术在电子货币领域的应用。DCEP(digital currency electronic payment,数字货币和电子支付工具)是中国版电子货币项目,是中国人民银行尚未正式发行的法定数字货币。经过几年的准备,央行已经基本完成顶层设计、标准制定、功能研发、联调测试等工作。在遵循稳步、安全、可控原则下,从2019年年底开始在深圳、雄安、成都、苏州进行内部封闭试点测试。DCEP首批试点机构包括四家国有大行(中国工商银行、中国农业银行、中国银行、中国建设银行)和三大电信运营商(中国移动、中国电信、中国联通),试点场景包括交通、教育、医疗、消费等多种领域。图4.29描述了普通人使用DCEP的支付流程。后续将稳妥推进DCEP不断出台更多应用。数字货币作为数字经济基础设施的重大意义将逐步体现出来。
图4.29 DCEP支付流程
除了电子货币领域、金融领域外,区块链技术已经在开始构建各类去中心化应用(decentralized application,Dapp)、去中心化自治组织(decentralized autonomous organization,DAO)、去中心化自治公司(decentralized autonomous corporation,DAC),甚至存在着在一定范围内构建去中心化自治社会(decentralized autonomous society,DAS)的可能性。区块链技术可以为分布式社会系统提供一套行之有效的去中心化的数据结构、交互机制和计算模式,并可以为实现去中心化自治社会奠定坚实的数据基础和信用基础。但在人类社会如此复杂的局面下,建立去中心化的自治社会并不只是个技术问题,没有切实可行的自治社会理论和模式作支撑,恐怕都只能是空想。
5.区块链技术存在的问题
作为一项技术,区块链技术固然有着许多不可比拟的优势,但同时也有着效率低下、浪费资源、安全风险等需要解决的问题。PoW共识过程高度依赖区块链网络节点贡献的算力,这些算力除了求解无意义的哈希值和随机数搜索之外,并不产生任何实际社会价值,是一种算力资源的“浪费”,同时还有大量的电力资源被浪费掉。比特币热络催生了专业挖矿设备的出现,让比特币生态圈逐渐成为高耗能的资本密集型行业,这与建设绿色地球的理念不相容。
区块链技术快速发展之后,各种竞争的不同币种相继出现,已有其他研究者提出不依赖算力而能够达成共识的新机制,比如点点币的PoS(proof of stake,权益证明)共识机制、比特股的DPOS(delegated proof of stake,授权股份证明)共识机制等。这些共识机制都已封装进了区块链共识层,但是由于后发劣势,占比还相当低。虽然这些技术为虚拟货币的发展创造了新机会,但是虚拟货币与主权货币有着天然的冲突,因此可能成为潜在的金融隐患。
当然,如果应用好区块链技术的优势,则能够大大降低金融系统的风险并增强反腐败的能力。另外,如何设计一套行之有效的交互机制,来汇聚和利用分布式共识节点的群体智能,为解决大规模实际问题创造可能性,是一个极具价值的研究方向。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。