随着比特币近年来的快速发展与普及,区块链技术的研究与应用也呈现出爆发式增长态势,被认为是继大型机、个人电脑、互联网、移动/社交网络之后计算范式的第五次颠覆式创新,是人类信用进化史上继血亲信用、贵金属信用、央行纸币信用之后的第四个里程碑[1]。区块链技术是下一代云计算的雏形,有望像互联网一样彻底重塑人类社会活动形态,并实现从目前的信息互联网向价值互联网的转变。
区块链技术起源于2008年由化名为「中本聪」(SatoshiNakamoto)的学者在密码学邮件组发表的奠基性论文《比特币:一种点对点电子现金系统》[3],目前尚未形成行业公认的区块链定义:
区块链具有去中心化、时序数据、集体维护、可编程和安全可信等特点:
区块链技术是具有普适性的底层技术框架,可以为金融、经济、科技甚至政治等各领域带来深刻变革。按照目前区块链技术的发展脉络,区块链技术将会经历以可编程数字加密货币体系为主要特征的区块链1.0模式、以可编程金融系统为主要特征的区块链2.0模式和以可编程社会为主要特征的区块链3.0模式[1]。
目前,一般认为区块链技术正处于2.0模式的初期,股权众筹和P2P借贷等各类基于区块链技术的互联网金融应用相继涌现。然而,上述模式实际上是平行而非演进式发展的,区块链1.0模式的数字加密货币体系仍然远未成熟,距离其全球货币一体化的愿景实际上更远、更困难。
本文系统性地梳理了区块链的基本原理、核心技术、典型应用和现存问题,以期为未来研究提供有益的启发与借鉴。本文组织结构为:
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]。
比特币系统同时会发行一定数量的比特币以奖励该矿工,并激励其他矿工继续贡献算力。比特币的流通过程依靠密码学方法保障安全。每一次比特币交易都会经过特殊算法处理和全体矿工验证后记入区块链,同时可以附带具有一定灵活性的脚本代码(智能合约)以实现可编程的自动化货币流通。由此可见,比特币和区块链系统一般具备如下五个关键要素,即公共的区块链账本、分布式的点对点网络系统、去中心化的共识算法、适度的经济激励机制以及可编程的脚本代码。
区块链技术为比特币系统解决了数字加密货币领域长期以来所必需面对的两个重要问题,即双重支付问题和拜占庭将军问题[19]:
图1比特币生态圈
比特币凭借其先发优势,目前已经形成体系完备的涵盖发行、流通和金融衍生市场的生态圈与产业链(如图1所示),这也是其长期占据绝大多数数字加密货币市场份额的主要原因。比特币的开源特性吸引了大量开发者持续性地贡献其创新技术、方法和机制;比特币各网络节点(矿工)提供算力以保证比特币的稳定共识和安全性,其算力大多来自于设备商销售的专门用于PoW共识算法的专业设备(矿机)。比特币网络为每个新发现的区块发行一定数量的比特币以奖励矿工,部分矿工可能会相互合作建立收益共享的矿池,以便汇集算力来提高获得比特币的概率。
比特币经发行进入流通环节后,持币人可以通过特定的软件平台(如比特币钱包)向商家支付比特币来购买商品或服务,这体现了比特币的货币属性;同时由于比特币价格的涨跌机制使其完全具备金融衍生品的所有属性,因此出现了比特币交易平台以方便持币人投资或者投机比特币。在流通环节和金融市场中,每一笔比特币交易都会由比特币网络的全体矿工验证并记入区块链。
比特币是区块链技术赋能的第一个「杀手级」应用,迄今为止区块链的核心技术和人才资源仍大多在比特币研发领域。然而,区块链作为未来新一代的底层基础技术,其应用范畴势必会超越数字加密货币而延伸到金融、经济、科技和政治等其他领域。比特币的现有技术、模式和机制,将会对区块链在新应用领域的发展提供有益的借鉴,而新领域的区块链创新也势必反过来促进解决比特币系统现存的问题。因此,比特币和区块链技术存在着协同进化、和谐共生而非相互竞争的良性反馈关系。
2.区块链的基础模型与关键技术
本节将结合比特币系统的技术与应用现状,阐述区块链技术的基础模型、基本原理和关键技术,以及区块链在比特币系统之外的若干创新模式。现存的其他区块链应用大多都与比特币类似,仅在某些特定的环节或多或少地采用比特币模式的变种。
图2区块链基础架构模型
区块链技术的基础架构模型如图2所示。一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,
2.1数据层
图3区块结构
比特币网络可以动态调整PoW共识过程的难度值,最先找到正确的解随机数Nonce并经过全体矿工验证的矿工将会获得当前区块的记账权。区块体则包括当前区块的交易数量以及经过验证的、区块创建过程中生成的所有交易记录。这些记录通过Merkle树的哈希过程生成唯一的Merkle根并记入区块头。
取得记账权的矿工将当前区块链接到前一区块,形成最新的区块主链。各个区块依次环环相接,形成从创世区块到当前区块的一条最长主链,从而记录了区块链数据的完整历史,能够提供区块链数据的溯源和定位功能,任意数据都可以通过此链式结构顺藤摸瓜、追本溯源。
Merkle树是区块链的重要数据结构,其作用是快速归纳和校验区块数据的存在性和完整性。如图3所示,Merkle树通常包含区块体的底层(交易)数据库,区块头的根哈希值(即Merkle根)以及所有沿底层区块数据到根哈希的分支。
Merkle树运算过程一般是将区块体的数据进行分组哈希,并将生成的新哈希值插入到Merkle树中,如此递归直到只剩最后一个根哈希值并记为区块头的Merkle根。最常见的Merkle树是比特币采用的二叉Merkle树,其每个哈希节点总是包含两个相邻的数据块或其哈希值[22],其他变种则包括以太坊的MerklePatriciaTree等[4]。
Merkle树有诸多优点:
非对称加密是为满足安全性需求和所有权验证需求而集成到区块链中的加密技术,常见算法包括RSA、Elgamal、Rabin、D-H、ECC(即椭圆曲线加密算法)等。非对称加密通常在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。非对称密钥对具有两个特点:
以比特币系统为例,其非对称加密机制如图4所示:
比特币的公钥和私钥通常保存于比特币钱包文件,其中私钥最为重要。丢失私钥就意味着丢失了对应地址的全部比特币资产。现有的比特币和区块链系统中,根据实际应用需求已经衍生出多私钥加密技术,以满足多重签名等更为灵活和复杂的场景。
2.2网络层
网络层封装了区块链系统的组网方式、消息传播协议和数据验证机制等要素。结合实际应用需求,通过设计特定的传播协议和数据验证机制,可使得区块链系统中每一个节点都能参与区块数据的校验和记账过程,仅当区块数据通过全网大部分节点验证后,才能记入区块链。
区块链系统的节点一般具有分布式、自治性、开放可自由进出等特性,因而一般采用对等式网络(Peer-to-PeerNetwork,P2P网络)来组织散布全球的参与数据验证和记账的节点。P2P网络中的每个节点均地位对等且以扁平式拓扑结构相互连通和交互,不存在任何中心化的特殊节点和层级结构,每个节点均会承担网络路由、验证区块数据、传播区块数据、发现新节点等功能。
按照节点存储数据量的不同,可以分为全节点和轻量级节点。
前者保存有从创世区块到当前最新区块为止的完整区块链数据,并通过实时参与区块数据的校验和记账来动态更新主链。全节点的优势在于不依赖任何其他节点而能够独立地实现任意区块数据的校验、查询和更新,劣势则是维护全节点的空间成本较高。以比特币为例,截止到2016年2月,创世区块至当前区块的数据量已经超过60GB。
与之相比,轻量级节点则仅保存一部分区块链数据,并通过第2.1节提到的简易支付验证方式向其相邻节点请求所需的数据来完成数据校验。
任一区块数据生成后,将由生成该数据的节点广播到全网其他所有的节点来加以验证。现有的区块链系统一般根据实际应用需求设计比特币传播协议的变种,例如以太坊区块链集成了所谓的「幽灵协议」以解决因区块数据确认速度快而导致的高区块作废率和随之而来的安全性风险[4]。根据中本聪的设计,比特币系统的交易数据传播协议包括如下步骤[3]:
需要说明的是,如果交易节点是与其他节点无连接的新节点,比特币系统通常会将一组长期稳定运行的「种子节点」推荐给新节点建立连接,或者推荐至少一个节点连接到新节点。此外,交易数据广播时,并不需要全部节点均接收到,而是只要足够多的节点做出响应即可整合进入区块账本中。未接收到特定交易数据的节点则可向邻近节点请求下载该缺失的交易数据[19]。
P2P网络中的每个节点都时刻监听比特币网络中广播的数据与新区块。节点接收到邻近节点发来的数据后,将首先验证该数据的有效性:
以比特币为例,比特币的矿工节点会收集和验证P2P网络中广播的尚未确认的交易数据,并对照预定义的标准清单,从数据结构、语法规范性、输入输出和数字签名等各方面校验交易数据的有效性,并将有效交易数据整合到当前区块中。
由网络层设计机理可见,区块链是典型的分布式大数据技术。全网数据同时存储于去中心化系统的所有节点上,即使部分节点失效,只要仍存在一个正常运行的节点,区块链主链数据就可完全恢复而不会影响后续区块数据的记录与更新。
这种高度分散化的区块存储模式与云存储模式的区别在于,后者是基于中心化结构基础上的多重存储和多重数据备份模式,即「多中心化」模式,而前者则是完全「去中心化」的存储模式,具有更高的数据安全性。
2.3共识层
如何在分布式系统中高效地达成共识是分布式计算领域的重要研究问题。正如社会系统中「民主」和「集中」的对立关系相似,决策权越分散的系统达成共识的效率越低、但系统稳定性和满意度越高;而决策权越集中的系统更易达成共识,但同时更易出现专制和独裁。区块链技术的核心优势之一就是能够在决策权高度分散的去中心化系统中使得各节点高效地针对区块数据的有效性达成共识。
中本聪在其比特币奠基性论文中设计了PoW共识机制,其核心思想是通过引入分布式节点的算力竞争来保证数据一致性和共识的安全性。
比特币系统中,各节点(即矿工)基于各自的计算机算力相互竞争来共同解决一个求解复杂但验证容易的SHA256数学难题(即挖矿),最快解决该难题的节点将获得区块记账权和系统自动生成的比特币奖励。
符合要求的区块头哈希值通常由多个前导零构成,目标哈希值越小,区块头哈希值的前导零越多,成功找到合适的随机数并「挖」出新区块的难度越大。据区块链实时监测网站Blockchain.info显示,截止到2016年2月,符合要求的区块头哈希值一般有17个前导零,例如第398346号区块哈希值为「0000000000000000077f754f22f21629a7975cf…」。按照概率计算,每16次随机数搜索将会有找到一个含有一个前导零的区块哈希值,因而比特币目前17位前导零哈希值要求1617次随机数搜索才能找到一个合适的随机数并生成一个新的区块。
由此可见,比特币区块链系统的安全性和不可篡改性是由PoW共识机制的强大算力所保证的,任何对于区块数据的攻击或篡改都必须重新计算该区块以及其后所有区块的SHA256难题,并且计算速度必须使得伪造链长度超过主链,这种攻击难度导致的成本将远超其收益。据估计,截止到2016年1月,比特币区块链的算力已经达到800000000Gh/s,即每秒进行8×10^18次运算,超过全球Top500超级计算机的算力总和。
PoS共识是为解决PoW共识机制的资源浪费和安全性缺陷而提出的替代方案。限于篇幅,本文主要聚焦于PoS相对于PoW的创新之处。PoS共识本质上是采用权益证明来代替PoW中的基于哈希算力的工作量证明,是由系统中具有最高权益而非最高算力的节点获得区块记账权。
此外,PoW共识过程中各节点挖矿难度相同,而PoS共识过程中的难度与交易输入的币龄成反比,消耗币龄越多则挖矿难度越低。节点判断主链的标准也由PoW共识的最高累计难度转变为最高消耗币龄,每个区块的交易都会将其消耗的币龄提交给该区块,累计消耗币龄最高的区块将被链接到主链。
除上述三种主流共识机制外,实际区块链应用中也衍生出了PoW+PoS、行动证明(ProofofActivity)等多个变种机制。这些共识机制各有优劣势,比特币的PoW共识机制依靠其先发优势已经形成成熟的挖矿产业链,支持者众多,而PoS和DPoS等新兴机制则更为安全、环保和高效,从而使得共识机制的选择问题成为区块链系统研究者最不易达成共识的问题。
2.4激励层
区块链共识过程通过汇聚大规模共识节点的算力资源来实现共享区块链账本的数据验证和记账工作,因而其本质上是一种共识节点间的任务众包过程。去中心化系统中的共识节点本身是自利的,最大化自身收益是其参与数据验证和记账的根本目标。因此,必须设计激励相容的合理众包机制,使得共识节点最大化自身收益的个体理性行为与保障去中心化区块链系统的安全和有效性的整体目标相吻合。区块链系统通过设计适度的经济激励机制并与共识过程相集成,从而汇聚大规模的节点参与并形成了对区块链历史的稳定共识。
以比特币为例,比特币PoW共识中的经济激励由新发行比特币奖励和交易流通过程中的手续费两部分组成,奖励给PoW共识过程中成功搜索到该区块的随机数并记录该区块的节点。因此,只有当各节点通过合作共同构建共享和可信的区块链历史记录、并维护比特币系统的有效性,其获得的比特币奖励和交易手续费才会有价值。比特币已经形成成熟的挖矿生态圈,大量配备专业矿机设备的矿工积极参与基于挖矿的PoW共识过程,其根本目的就是通过获取比特币奖励并转换为相应法币来实现盈利。
比特币交易过程中会产生手续费,目前默认手续费是万分之一个比特币,这部分费用也会记入区块并奖励给记账者。
这两部分费用将会封装在每个区块的第一个交易(称为Coinbase交易)中。虽然现在每个区块的总手续费相对于新发行比特币来说规模很小(通常不会超过1个比特币),但随着未来比特币发行数量的逐步减少甚至停止发行,手续费将逐渐成为驱动节点共识和记账的主要动力。同时,手续费还可以防止大量微额交易对比特币网络发起的「粉尘」攻击,起到保障安全的作用。
比特币系统中,大量的小算力节点通常会选择加入矿池,通过相互合作汇集算力来提高「挖」到新区块的概率,并共享该区块的比特币和手续费奖励。据Bitcoinmining.com统计,目前已经存在13种不同的分配机制[25]。主流矿池通常采用PPLNS(PayPerLastNShares)、PPS(PayPerShare)和PROP(PROPortionately)等机制。矿池将各节点贡献的算力按比例划分成不同的股份(Share),其中:
矿池的出现是对比特币和区块链去中心化趋势的潜在威胁,如何设计合理的分配机制引导各节点合理地合作、避免出现因算力过度集中而导致的安全性问题是亟待解决的研究问题。
2.5合约层
合约层封装区块链系统的各类脚本代码、算法以及由此生成的更为复杂的智能合约。如果说数据、网络和共识三个层次作为区块链底层「虚拟机」分别承担数据表示、数据传播和数据验证功能的话,合约层则是建立在区块链虚拟机之上的商业逻辑和算法,是实现区块链系统灵活编程和操作数据的基础。包括比特币在内的数字加密货币大多采用非图灵完备的简单脚本代码来编程控制交易过程,这也是智能合约的雏形。
随着技术的发展,目前已经出现以太坊等图灵完备的可实现更为复杂和灵活的智能合约的脚本语言,使得区块链能够支持宏观金融和社会系统的诸多应用。本节将以比特币脚本为例,从技术角度简述合约层的基本技术和方法,关于智能合约的延伸内容将在第5节讨论。
比特币采用一种简单的、基于堆栈的、从左向右处理的脚本语言,而一个脚本本质上是附着在比特币交易上的一组指令的列表。比特币交易依赖于两类脚本来加以验证,即锁定脚本和解锁脚本,二者的不同组合可在比特币交易中衍生出无限数量的控制条件。其中,
举例来说,大多数比特币交易均是采用接受者的公钥加密和私钥解密,因而其对应的P2PKH(PaytoPublicKeyHash)标准交易脚本中的锁定脚本即是使用接受者的公钥实现阻止输出功能,而使用私钥对应的数字签名来加以解锁[19]。
比特币脚本系统可以实现灵活的交易控制,例如:
比特币脚本是智能合约的雏形,催生了人类历史上第一种可编程的全球性货币。然而,比特币脚本系统是非图灵完备的,其中不存在复杂循环和流控制,这在损失一定灵活性的同时能够极大地降低复杂性和不确定性,并能够避免因无限循环等逻辑炸弹而造成拒绝服务等类型的安全性攻击。
为提高脚本系统的灵活性和可扩展性,研究者已经尝试在比特币协议之上叠加新的协议,以满足在区块链上构建更为复杂的智能合约的需求。以太坊已经研发出一套图灵完备的脚本语言,用户可基于以太坊构建任意复杂和精确定义的智能合约与去中心化应用,从而为基于区块链构建可编程的金融与社会系统奠定了基础[4]。
3.区块链的应用场景
由区块链独特的技术设计可见,区块链系统具有分布式高冗余存储、时序数据且不可篡改及伪造、去中心化信用、自动执行的智能合约、安全和隐私保护等显著的特点,这使得区块链技术不仅可以成功应用于数字加密货币领域,同时在经济、金融和社会系统中也存在广泛的应用场景。根据区块链技术应用的现状,本文将区块链目前的主要应用笼统地归纳为数字货币、数据存储、数据鉴证、金融交易、资产管理和选举投票共六个场景,并概述除数字货币外的五大应用场景以及区块链的三种应用模式。
数据存储
区块链的高冗余存储(每个节点存储一份数据)、去中心化、高安全性和隐私保护等特点使其特别适合存储和保护重要隐私数据,以避免因中心化机构遭受攻击或权限管理不当而造成的大规模数据丢失或泄露。
目前,利用区块链来存储个人健康数据(如电子病历、基因数据等)是极具前景的应用领域,此外存储各类重要电子文件(视频、图片、文本等)乃至人类思想和意识等也有一定应用空间[7]。
数据鉴证
包括德勤在内的多家专业审计公司已经部署区块链技术来帮助其审计师实现低成本和高效地实时审计,Factom公司则基于区块链设计了一套准确的、可核查的和不可更改的审计公证流程与方法[26]。
金融交易
区块链技术与金融市场应用有非常高的契合度。区块链可以在去中心化系统中自发地产生信用,能够建立无中心机构信用背书的金融市场,从而在很大程度上实现了「金融脱媒」,这对第三方支付、资金托管等存在中介机构的商业模式来说是颠覆性的变革。
在互联网金融领域,区块链特别适合或者已经应用于股权众筹、P2P网络借贷和互联网保险等商业模式。证券和银行业务也是区块链的重要应用领域,传统证券交易需要经过中央结算机构、银行、证券公司和交易所等中心机构的多重协调,而利用区块链自动化智能合约和可编程的特点,能够极大地降低成本和提高效率,避免繁琐的中心化清算交割过程,实现方便快捷的金融产品交易。
同时,区块链和比特币的即时到帐的特点可使得银行实现比SWIFT代码体系更为快捷、经济和安全的跨境转账,这也是目前R3CEV和纳斯达克等各大银行、证券商和金融机构相继投入区块链技术研发的重要原因。
资产管理
选举投票
投票是区块链技术在政治事务中的代表性应用。基于区块链的分布式共识验证、不可篡改等特点,可以低成本高效地实现政治选举、企业股东投票等应用。同时,区块链也支持用户个体对特定议题的投票。
例如,通过记录用户对特定事件是否发生的投票,可以将区块链应用于博彩和预测市场等场景[27]。通过记录用户对特定产品的投票评分与建议,可以实现大规模用户众包设计产品的「社会制造」模式等。
根据实际应用场景和需求,区块链技术已经演化出三种应用模式,即公共链(PublicBlockchain)、联盟链(ConsortiumBlockchain)和私有链(PrivateBlockchain):
需要说明的是,由于去中心化程度不同,联盟链和私有链可能不完全符合第2节提出的区块链模型,例如,中心化程度较高的区块链可能不需要设计激励层中的经济激励等。
4.区块链的现存问题
作为近年来兴起并快速发展的新技术,区块链必然会面临各种制约其发展的问题和障碍。本节将从安全、效率、资源和博弈四方面概述区块链技术有待解决的问题。
4.1安全问题
安全性威胁是区块链迄今为止所面临的最重要的问题。其中,基于PoW共识过程的区块链主要面临的是51%攻击问题,即节点通过掌握全网超过51%的算力就有能力成功篡改和伪造区块链数据。
以比特币为例,据统计中国大型矿池的算力已占全网总算力的60%以上,理论上这些矿池可以通过合作实施51%攻击,从而实现比特币的双重支付[1]。虽然实际系统中为掌握全网51%算力所需的成本投入远超成功实施攻击后的收益,但51%攻击的安全性威胁始终存在。
基于PoS共识过程在一定程度上解决了51%攻击问题,但同时也引入了区块分叉时的N@S(NothingatStake)攻击问题。研究者已经提出通过构造同时依赖高算力和高内存的PoW共识算法来部分解决51%攻击问题[4],更为安全和有效的共识机制尚有待于更加深入的研究和设计。
区块链的非对称加密机制也将随着数学、密码学和计算技术的发展而变的越来越脆弱。据估计,以目前天河二号的算力来说,产生比特币SHA256哈希算法的一个哈希碰撞大约需要248年,但随着量子计算机等新计算技术的发展,未来非对称加密算法具有一定的破解可能性,这也是区块链技术面临的潜在安全威胁。
4.2效率问题
区块链效率也是制约其应用的重要因素。
首先是区块膨胀问题:区块链要求系统内每个节点保存一份数据备份,这对于日益增长的海量数据存储来说是极为困难的。以比特币为例,完全同步自创世区块至今的区块数据需要约60GB存储空间,虽然轻量级节点可部分解决此问题,但适用于更大规模的工业级解决方案仍有待研发[28]。
其次是交易效率问题:比特币区块链目前每秒仅能处理7笔交易,这极大地限制了区块链在大多数金融系统高频交易场景中的应用(例如VISA信用卡每秒最多可处理10000笔交易)[1]。
4.3资源问题
PoW共识过程高度依赖区块链网络节点贡献的算力,这些算力主要用于解决SHA256哈希和随机数搜索,除此之外并不产生任何实际社会价值,因而一般意义上认为这些算力资源是被「浪费」掉了,同时被浪费掉的还有大量的电力资源。
随着比特币的日益普及和专业挖矿设备的出现,比特币生态圈已经在资本和设备方面呈现出明显的军备竞赛态势,逐渐成为高耗能的资本密集型行业,进一步凸显了资源消耗问题的重要性。因此,如何能有效汇集分布式节点的网络算力来解决实际问题,是区块链技术需要解决的重要问题。
研究者目前已经开始尝试解决此问题,例如Primecoin(质数币)要求各节点在共识过程中找到素数的最长链条(坎宁安链和双向双链)而非无意义的SHA256哈希值[29]。未来的潜在发展趋势是设计行之有效的交互机制来汇聚和利用分布式共识节点的群体智能,以辅助解决大规模的实际问题。
4.4博弈问题
区块链网络作为去中心化的分布式系统,其各节点在交互过程中不可避免地会存在相互竞争与合作的博弈关系,这在比特币挖矿过程中尤为明显。
通常来说,比特币矿池间可以通过相互合作保持各自稳定的收益。然而,矿池可以通过称为区块截留攻击(BlockwithHoldingAttacks)的方式、通过伪装为对手矿池的矿工、享受对手矿池的收益但不实际贡献完整工作量证明来攻击其他矿池,从而降低对手矿池的收益。
如果矿池相互攻击,则双方获得的收益均少于不攻击对方的收益。当矿池收益函数满足特定条件时,这种攻击和竞争将会造成「囚徒困境」博弈结局[30]。如何设计合理的惩罚函数来抑制非理性竞争、使得合作成为重复性矿池博弈的稳定均衡解,尚需进一步深入研究。
此外,正如前文提到的,区块链共识过程本质上是众包过程,如何设计激励相容的共识机制,使得去中心化系统中的自利节点能够自发地实施区块数据的验证和记账工作,并提高系统内非理性行为的成本以抑制安全性攻击和威胁,是区块链有待解决的重要科学问题。
5.基于区块链的智能合约
区块链技术的出现重新定义了智能合约。智能合约是区块链的核心构成要素(合约层),是由事件驱动的、具有状态的、运行在可复制的共享区块链数据账本上的计算机程序,能够实现主动或被动的处理数据,接受、储存和发送价值,以及控制和管理各类链上智能资产等功能。智能合约作为一种嵌入式程序化合约,可以内置在任何区块链数据、交易、有形或无形资产上,形成可编程控制的软件定义的系统、市场和资产。智能合约不仅为传统金融资产的发行、交易、创造和管理提供了创新性的解决方案,同时能够在社会系统中的资产管理、合同管理、监管执法等事务中发挥重要作用。
具体说来,智能合约是一组情景-应对型的程序化规则和逻辑,是部署在区块链上的去中心化、可信共享的程序代码。智能合约同样具有区块链数据的一般特征,如分布式记录、存储和验证,不可篡改和伪造等。签署合约的各参与方就合约内容、违约条件、违约责任和外部核查数据源达成一致,必要时检查和测试合约代码以确保无误后,以智能合约的形式部署在区块链上,即可不依赖任何中心机构地自动化代表各签署方执行合约。智能合约的可编程特性使得签署方可以增加任意复杂的条款。
图5智能合约的运作机理
再如,通过将房屋和车辆等实体资产进行非对称加密,并嵌入含有特定访问控制规则的智能合约后部署在区块链上,使用者符合特定的访问权限或执行特定操作(如付款)后就可使用这些资产,这能够有效解决房屋或车辆租赁商业模式中资产交接和使用许可方面的痛点。
智能合约具有自治、自足和去中心化等特征:
智能合约对于区块链技术来说具有重要的意义:
就现状而言,区块链和智能合约技术的主要发展趋势是由自动化向智能化方向演化。现存的各类智能合约及其应用的本质逻辑大多仍是根据预定义场景的「IF-THEN」类型的条件响应规则,能够满足目前自动化交易和数据处理的需求。未来的智能合约应具备根据未知场景的「WHAT-IF」推演、计算实验和一定程度上的自主决策功能,从而实现由目前「自动化」合约向真正的「智能」合约的飞跃[31-32]。
6.区块链驱动的平行社会
互联网近年来的迅猛发展及其与物理世界的深度耦合与强力反馈,已经根本性地改变了现代社会的生产、生活与管理决策模式,形成了现实物理世界-虚拟网络空间紧密耦合、虚实互动和协同演化的平行社会空间,催生了「互联网+」和工业4.0等一系列国家战略。未来社会的发展趋势则必将从物理+网络的CPS实际世界(Cyber-PhysicalSystems,CPS)走向精神层面的人工世界,形成物理+网络+人工的人-机-物一体化的三元耦合系统,称为社会物理信息系统(Cyber-Physical-SocialSystems,CPSS)。目前,基于CPSS的平行社会已现端倪,其核心和本质特征是虚实互动与平行演化[33]。
区块链是实现CPSS平行社会的基础架构之一,其主要贡献是为分布式社会系统和分布式人工智能研究提供了一套行之有效的去中心化的数据结构、交互机制和计算模式,并为实现平行社会奠定了坚实的数据基础和信用基础:
区块链技术有助于实现软件定义的社会系统,其基本理念就是剔除中心化机构、将不可预测的行为以智能合约的程序化代码形式提前部署和固化在区块链数据中,事后不可伪造和篡改并自动化执行,从而在一定程度上能够将「默顿」社会系统转化为可全面观察、可主动控制、可精确预测的「牛顿」社会系统[34]。
ACP(人工社会ArtiflcialSocieties、计算实验ComputationalExperiments和平行执行ParallelExecution)方法是迄今为止平行社会管理领域唯一成体系化的、完整的研究框架,是复杂性科学在新时代平行社会环境下的逻辑延展和创新[35]。ACP方法可以自然地与区块链技术相结合,实现区块链驱动的平行社会管理:
不难预见,未来现实物理世界的实体资产都登记为链上智能资产的时候,就是区块链驱动的平行社会到来之时。
7.结束语
随着以比特币为代表的数字加密货币的强势崛起,新兴的区块链技术逐渐成为学术界和产业界的热点研究课题。区块链技术的去中心化信用、不可篡改和可编程等特点,使其在数字加密货币、金融和社会系统中有广泛的应用前景。
然而,与蓬勃发展的区块链商业应用相比,区块链的基础理论和技术研究仍处于起步阶段,许多更为本质性的、对区块链产业发展至关重要的科学问题亟待研究跟进。
本文系统地梳理了区块链技术的基本原理、技术、方法与应用,以期为未来研究提供有益的启发与借鉴。