区块链技术十周年——回眸与前瞻
今年是中本聪的经典论文《Bitcoin:APeer-to-PeerElectronicCashSystem》发表10周年。10年来,从一开始小范围的极客追捧,到今日风靡全球,比特币及其背后的区块链技术现已成为大家最为关注的科技热点。
10年间,我们曾因去中心化技术带来的自由开放,而激动人心,也曾因比特币的性能缓慢,而感到莫名失落;我们曾见证比特币的价格一路冲天,直逼2万美元,也曾目睹数字货币泡沫的破灭,一地鸡毛。
10年间世人对数字货币的评价也日趋多元,有人奉其为自由货币的象征,寄予自由主义的乌托邦梦想;亦有人指责其仅是逃避监管、犯罪交易和洗钱的工具,是暗黑世界的通票。
但无论如何,时至今日,我们依然对这一技术的未来满怀憧憬,有人相信这是一个即将改变人类社会的现代科技。10周年,最好的纪念方式是继往开来。
本文从现代密码学的演进脉络追溯数字货币的发展,回顾区块链技术的缘起,提出理解区块链技术的六个维度,并剖析区块链技术的优秀品质与不足之处,最后对其未来发展方向作前瞻思考。
一、现代密码学演进
罗马非一日建成。要想准确理解区块链技术的缘起,我们需要回到四十多年前,研究现代密码学的发展历史。
现代密码学的一个革命性的突破是解决对称密码算法无法在大规模的信息加密传输中普及的问题。对称密码算法是指加密和解密共用一个密码,也称单钥密码算法。它的最大缺陷是,信息发送方必须和每个接受方约定好对称密钥,那么在密钥的大规模分发过程中,无法有效防止密钥被窃取或者被人攻击,也不太容易去管理那么多的密钥。
对此,1976年,Diffie(迪菲)和Hellman(赫尔曼)提出了新的思路,他们将原来的一个密钥一分为二,成一对密钥,一个密钥用于加密,一个密钥用于解密。加密密钥公开,称为公钥。解密密钥不能公开,唯独本人秘密持有,不能给别人知道,称为私钥。
如果别人想给我发信息,他要用我的公钥对信息进行加密,而只有我的私钥才能解开,其他任何人都解不开。同样,我想给别人发消息,要用对方公开的加密密钥进行加密,而只有他手上有的那把私钥才能解开加密后的信息。
这样的思路就很好地解决了单密钥体系下的密钥大规模分发的问題。这就是非对称密码机制的思想。1978年,Rivest(李维斯特)、Shamir(萨莫尔)和Adleman(阿德曼)提出著名的RSA密码算法,首次实现了非对称密码算法。
非对称密码算法除了解决开放系统中密钥大规模分发的问题,还带来原来对称密码体制不具备的功能,那就是非常独特的认证功能。
比如,如果我想给别人发信息,我不仅用别人的公钥对报文进行加密,同时我还可用我的私钥进行签名,这样别人就可以用我的公钥进行验签,判定报文是不是从我这发送。
认证功能的出现使信息加密传输形式发生革命性的变化:信息既可以加密,也可以签名,就像支票一样,让信息的加密传输有了主人的感觉。所以说,非对称密码机制的实现是密码学的一次重大革命,密码学的应用因此从军事领域走向民用领域。
哈希算法是现代密码学的又一个飞跃。它也叫“安全散列函数”,最早的SHA哈希算法由美国国家安全局设计,于1993年发布。2010年,中国国家密码管理局公布中国商用密码哈希算法标准:SM3密码哈希算法。
哈希算法的优点是,它可以用非常简单的摘要信息描述原始信息集;且计算不可逆,给定输入很容易得到输出,迅速收敛,但是从输出计算回输入不可行;还有一个有意思的特性是,只要输入信息发生稍微变化,输出就变得完全不一样。
基于这样优秀的特性,哈希函数得到广泛的应用,我们习以为常的人民币冠字号码即是由哈希算法产生的。在数字货币领域,哈希算法常常被当做数字货币交易挖矿、交易区块链接以及钱包地址压缩生成的工具,更是得到广泛的应用。
二、数字货币的中心化到去中心化:区块链技术的缘起
一直以来,密码学家有个想法,既然邮件能够加密、签名发送出去,那么手里的现金能不能像邮件一样,加个数字信封,进行加密和签名后,从一端发送到另外一端?这就是最早的数字现金思想的由来。随着现代密码学的发展,数字现金的技术实现逐渐成为可能,引起许多密码学家们的广泛兴趣。
1982年,DavidChaum(大卫·乔姆)在顶级密码学术会议--美密会上发表了一篇论文《用于不可追踪的支付系统的盲签名》。论文中提出了一种基于RSA算法的新型密码协议--盲签名。利用盲签名构建一个具备匿名性、不可追踪性的电子现金系统,这是最早的数字货币理论,也是最早能够落地的试验系统,得到了学术界的高度认可。
但Chaum当时建立的模型还是传统的“银行、个人、商家”中心化模式。每个使用过的E-Cash序列号都会被存储在银行数据库中,且每次交易系统都要验证E-Cash序列号的唯一性,因此系统会维持一个已交易序列号的数据库。随着交易量的上升,该数据库就会变得越来越庞大,验证过程也会越来越困难。
面对中心化数字货币模式的缺陷,2008年,中本聪发表了经典论文《比特币:一种点对点的电子现金系统》,提出了一种全新的去中心化的电子现金系统,其核心思想之一就是将已花费的数字货币序列号数据库转变成了未花费的数字货币序列号数据库,并打上时间标记,纵贯相连。这一底层支撑技术就是我们今天热议的区块链技术的由来。
当然,也有人提出早在1990年到1991年期间,W.ScottStornetta和StuartHaber就提出了区块链的想法。为解决数字文档的精确性,他们二人认为如果不去信任某个人或者机构,“那就去信任每一个人,也就是说,让世界上的每一个人都是数字文档记录的见证者。”就理念而言,这一思想确实与比特币区块链的思路一脉相通:
去中心化的本质就是多中心化--既然没有了权威中心,那么大家都成了中心,但各个中心既须自律亦须他律,相互制衡,非此不能立足。
所以中本聪的区块链技术不仅仅只是“分布式”和“共享”的简单理念,它综合采用了密码学、分布式数据库(大规模数据存储与处理)、点对点通信(P2P网络)、共识机制(分布式一致性)等技术进行组合创新。
狭义的区块链技术是一种按照时间顺序将数据区块以链表的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账,能够安全存储简单的、有先后关系的、能在系统内验证的数据。
广义的区块链技术则是指利用加密技术来验证与存储数据、利用分布式共识算法来新增和更新数据、利用运行在区块链上的代码,即智能合约,来保证业务逻辑的自动强制执行的一种全新的多中心化基础架构与分布式计算范式。
三、理解区块链技术的六个维度
1.从信息系统看
区块链技术是一种全新的数据库技术,多方共同维护一个不断增长的分布式数据记录,这些数据通过密码学技术保护内容和时序,使得任何一方难以篡改、抵赖和造假。它记录的是高价值的数据,与我们平常所说的数据库存储理念完全不同。
2.从会计学角度看
它是一种全新的分布式账本技术,采用了全新的记帐方法:每个人都可以参加,只要按照要求,达到游戏规则的设定目标,就可以获得记账权,成为新区块的记帐人,所有人共有、共享账本信息,都能检测、验证账本信息。
3.从账户角度看
它是全新的账户体系,传统上我们所有的金融业务都是围绕着商业银行的帐户开展的,而现在,私钥本地生成,非常隐秘,从中导出公钥,再变换出钱包地址,自己给自己开帐户,不需要中介,这在金融史上是一个非常重大的变化。
4.从资产交易角度看
它是一种全新的价值交换技术,既可采用UTXO模式,通过构造包含解锁脚本和锁定脚本的交易输入和交易输出,完成“未花费交易输出”的转移,也可采用传统的Account模式。
UTXO模式和Account模式可相互转化,通过聚合归纳(Reduce),UTXO可转化为账户余额,而对账户余额进行拆分则可得到UTXO的结果。基于这一价值交换技术,我们可以创造一种全新的金融市场模式:去中心化资产交易。
5.从组织行为学角度看
它是一种新型的去组织化的分布式协同生产活动,它通过激励相容的算法规则和契约安排,明确了各方的经济利益,充分调动了各方的积极性,使有效的分布式协同生产真正成为可能,出现了新型的组织形态:自治去中心化组织(DAO)。
6.从经济学角度看
它开创了一种新型的算法经济模式。建立在区块链技术的算法经济以去中心化、开放为特征,强调和尊重市场交易的自愿原则,发挥市场价格的统筹协调机制,在经济自由度上,兼具计划和市场两种机制的优点,是一种更加接近自由市场的经济模式。
四、区块链技术的优异品质与不足之处
1.优异品质
(1)难以篡改
以比特币为例,除非掌握了50%以上的全网算力,才有可能篡改链上的数据。目前比特币的全节点有数千个,遍布世界各地,在一定程度上保障了系统的不间断连续运行。
(2)自由开放
任何人都可以竞争记帐权或者加入到某个矿池参与挖矿,只要挖矿成功,谁都可以获得奖励。这在传统的相对封闭的信息系统,几乎不可能,比如某人买了一台计算能力很强的服务器,想为腾讯服务,可能吗?不可能,一般机构绝对不可能让其他人随便加入系统,参与它的运行。
作为自由开放的体系,比特币欢迎任何人带着算力参与记账权竞争。从技术演进角度看,这是一个重大的进步。
(3)数据高度可信任
数据的难以篡改带来了数据的可信,可信的结果是我们可以基于这些可信数据,进行多方面的应用和交易。比如智能合约。实际上,智能合约是区块链数据上的应用小程序,在不能保障数据可信的情况下,这些应用小程序是无法运转的。应该说,区块链技术的出现使智能合约的应用真正变成可能。
(4)容错性强
区块链技术通过共识算法保持各节点数据的高度一致,每一个全节点都会维护一个完整的数据副本,如果某个节点遇到网络问题、硬件故障、软件错误或者被黑客控制,均不会影响系统以及其他参与节点。
问题节点在排除故障并完成数据同步之后,便可以随时再加入到系统中继续工作。由于整个系统的正常运转不依赖于个别节点,所以每个节点可以有选择地下线,进行系统例行维护,同时还能保证整个系统的7x24小时不间断工作。
2.不足之处
(1)性能问题
区块链技术的理念之一是分布式共享,但假设近万个节点都要共享数据的时候,速度自然就慢下来,效率不高。目前比特币的成交至少要等10分钟,有时候要等1个小时以上,这是许多人不能容忍的。
(2)隐私保护
比特币的整个帐本是公开的,但如果有些人/机构不愿意自己的资金交易被全网看到,尤其是大额交易,那么该如何处理?隐私保护成为了区块链技术的一个研究热点,一些解决方案已经出现,比如零币。
(3)安全问题
目前,智能合约还处于初级阶段,一旦有漏洞,就会被人攻击,出现重大的风险。比如TheDAO被黑事件,黑客利用TheDAO智能合约的安全漏洞,从合约管理的ETH中划走360万个ETH。
(4)治理缺失
当社区面临重大决策事件时,如何让社区参与进来,以某种机制形成社区意见,最终在区块链上表达出来。这些决策可能是不同的技术升级提案,也可能是TheDAO这样的突发事件处理,或者是该区块链某些基础规则的调整。如果缺乏治理机制,只能通过软分叉或者硬分叉解决问題,最终将导致混乱和分裂。
(5)互操作性问题
互联网有通用的TCP/IP协议作为基础来实现互联互通,而区块链作为新一代价值互联网并没有通用的协议,目前都还是社区自组织模式,跨链互操作没有统一的规范,很大程度上限制了应用创新。
五、区块链技术前瞻:八大方向
1.共识机制与性能
共识协议用于在分布式系统中实现可用性与一致性,是区块链的关键技术,其核心指标包括:
共识协议的强壮性(容错、容恶意节点的能力)
高效性(收敛速度,也即系统达成一致性或“稳态”的速度)
安全性(协议抽象理论模型的安全界)
代表性协议包括PBFT为代表的BFT类共识、PoW/PoS为代表的中本聪共识(NakamotoConsensus)、新型混合共识等。目前来看,共识协议最大的难题在于如何实现安全性与高效性的平衡。在保障安全性的前提下,大概有四种提高效能的思路:(1)硬件和算力的改进,从CPU、GPU、FPGA到ASIC,挖矿设备不断升级,同时计算机整体算力水平也在快速发展,根据OpenAl的分析,自2012年以来,人工智能训练任务中使用的算力正呈指数级增长,其目前速度为每3.5个月翻一倍(相比之下,摩尔定律是每18个月翻倍)。倘若算力突破一定临界点,目前区块链的性能问题可能就不再是问题;(2)不改变共识协议的系统改进,代表性方法有缩短区块的产生间隔、增加区块大小、采用双层链结构、引入闪电网络、改变区块+链的基本结构、修剪区块中的数据以及改进算法;(3)新型数据结构,比如采用有向无环图(DAG)数据结构,典型项目有10TA和ByteBall;(4)新型共识协议,比如研究者们提出PoW机制的Thunderella算法、PoS机制的Algorand协议和Ouroboros算法、基于SleepyModel的PoS共识、空间证明机制(ProofofSpace)等新型算法。
2.跨链
现在有各种链:公链、联盟链和私有链。公链为大众服务,联盟链局限于一个联盟,私有链仅服务于某一个私人机构。从私有链、联盟链到公链是去中心化的过程,而从公链、联盟链到私有链,则是中心化的过程。
在这些转变过程中,会出现不同的为私有链、联盟链、公链服务的各种区块链产品。那么,当不同机构之间业务发生交互时,不同的链与链之间怎么交互,则成为很大的难题。目前有三种跨链技术:
公证人机制(NotarySchemes)
侧链/中继(Sidechains/Relays)
哈希锁定(Hash-locking)技术
跨链技术是下一步区块链技术发展的重点。 此外,目前私有链存在谁加入谁的博弈难题,彼此都希望对方加入到自己的区块链系统。虽然BaaS(Backend as a Service,后端即服务)能够复用底层的技术平台,但关键的是不同业务系统数据和用户的打通,以及业务系统之间的协同工作。倘若不同系统之间没有联通,就无法复用客户、资产、数据等基础资源。解决的思路可能有两种:
(1)政府或标准化组织推动区块链技术的标准化和规范化,增强不同系统间的互操作性;
(2)政府建设公共服务平台,比如香港金管局推动的HKTFP即为典型,此类模式的优点在于,基于公共利益而建设的平台可以较好解决建设主体和治理机制的纷争,打通用户、场景和公共服务,实现资源整合,而且也便于政府监管,提升监管效率。
3.治理机制由于区块链本身即是一种天然投票系统,包含了更改验证程序集或更新其自身规则所需的一切逻辑,而且投票结果可自动进行,链上投票机制自然就成为了区块链生态系统的首选治理机制目前有不少链上投票机制探索,比如EOS、NEO、Lisk等系统中的委任权益证明(DPOS)机制,通过链上投票来决定运行网络的超级节点由谁操作;或者对协议参数进行表决,来决定以太坊的Gas上限;或者用来表决协议升级,如Teos。
目前链上投票机制存在的不足是:(1)投票参与度低,这就导致两个问题。一是投票的结果只反映少部分人意见,难以得到普遍认可;二是攻击者只需少量的成本就可左右投票。
(2)可能会出现财阀式的少数人链上治理,损害普通用户利益,目前已有相关事件发生。另外,完全依靠链上治理,尚无法解决区块链生态系统的委托代理问题,还需要法律监管、声誉机制等链下治理的支持。
目前,各国政府已开始行动,比如国家网信办近期公布了《区块链信息服务管理规定(征求意见稿)》,向社会公开征求意见。当然,这是制度层面的建设。从技术角度看,如何更好地完善链上治理机制,是下一步区块链技术值得研究的方向。
4.身份管理区块链使自主身份(Self-sovereign Identity)成为可能。
它本身可以作为去中心化公钥基础设施(PKI)来使得公钥体更有用和更安全。区块链可被视为去中心化的证书颁发机构,将身份维护映射到公钥。智能合约还可以增加复杂的逻辑,实现撤销和恢复,减轻终端用户的密钥管理负担。这些技术将身份的所有权从集中式服务推向个体之间端到端服务,并使身份本身可控。这被称为自主身份。这种方法分散了数据和计算,并将其推向了每个个体,对于黑客来说经济上的价值较低,因为需要大量的努力才能一个接一个地攻击许多个人身份。
在联盟链中,需要对不同节点分配不同的权限,并满足一定的可监管性,为此,需要构建安全高效的身份认证与权限管理机制。
可采用基于生物特征识别技术的认证机制,或是高效的、生物特征与密码技术有机结合的认证方案; 也可采用高效实用的基于身份/属性的密码方案,实现对节点/用户的细粒度访问控制/权限管理。
5.隐私保护
在公有链中,需要对交易数据、地址、身份等敏感信息进行保护,同时又能让记账节点验证交易的合法性;对于联盟链,在构建隐私保护方案的同时,需考虑可监管性/授权追踪。
可以通过采用高效的零知识证明、承诺、证据不可区分等密码学原语与方案来实现交易身份及内容隐私保护。例如:
Zcash中采用了zk-SNARK来实现隐私保护机制。
基于环签名、群签名等密码学方案的隐私保护机制、基于分级证书机制的隐私保护机制也是可选方案。例如:
Monero采用了环签名方案来实现隐私保护机制,HyperledgerFabric采用分级证书机制来实现隐私保护机制。
也可通过采用高效的同态加密方案或安全多方计算方案来实现交易内容的隐私保护。例如:Ripple通过采用安全多方计算方案来实现交易通道的隐私保护。还可采用混币机制实现简单的隐私保护。
6.数字钱包目前数字钱包都在尝试从单纯的钱包服务转向数字资产生态入口,希望藉此获取更大的市场份额,发展更丰富的资产管理服务,主要有资产管理、资产交易、信息聚合、DApp分发等方向。其中,
资产管理可以细分为挖矿增值、理财增值、资产归集管理等方向; 资产交易主要有去中心化数字资产兑换和法币汇兑等; 信息聚合主要是交易所信息及项目信息聚合;DApp分发类似于小程序商店。
尽管不同钱包的切入点和发展路线各不相同,各有所长,但由于彼此间的长远目标是渐进趋同的,各类钱包的增值功能略有重叠。随着数字资产产业的不断发展,生态的不断完善,数字钱包的场景功能将会越来越重要。其未来发展重点有三个方面:
(1)保证钱包服务的安全、开放和便捷;
(2)围绕资产增值需求,搭建数字资产管理平台,为用户提供丰富的金融产品,提高用户转化率;
(3)三是打通数字资产与现实世界的连接,丰富数字资产应用场景,构建数字资产生态。
其中安全是根本。软件技术方面可采用无密钥的密码算法(标准算法的白盒化方案或设计新型的白盒密码算法)和代码混淆技术,实现敌手无法提取核心密码算法和密钥信息;或采用基于口令、身份、生物特征等认证因子的加密算法对密钥进行加密存储。硬件方面则可基于TEE(可信执行环境)或者SE(安全环境)安全模块、辅助以定制终端设备的技术方案,这是保障数字钱包安全的重要可选方向之一。
7.智能合约与自组织商业模式智能合约具有透明可信、自动执行、强制履约的优点。它一旦被部署到区块链上,程序的代码和数据就是公开透明的,无法被篡改,并且一定会按照预先定义的逻辑去执行,产生预期中的结果,且契约的执行情况将被记录下来。
应该说,区块链技术与其商业应用是相辅相成、相互促进的关系。建立在智能合约的自组织商业应用,有助于提升区块链技术的价值,使加密经济模式的适用范围和领域不断扩大。
虽然从技术角度看,智能合约只是一段编码,但它实质上承载了许多商业逻辑,甚至一个智能合约就代表一个商业模式,具有无限的想象空间。而反过来,自组织商业模式的实现,也需要智能合约的精巧设计,同时还需要性能提升、安全增强、隐私保护等配套相关技术安排。换言之,这既是一个商业模型的创造,又是一个技术系统的设计。
智能合约的安全性至关重要。由于智能合约的开放性,其代码和内容均可通过公开方法获得,在很大程度上可以让黑客进行合约分析并针对弱点进行攻击;一旦攻击成功,将造成重大损失。所以,迫切需要完善的智能合约检测技术,在合约上链之前进行检测,定位并排除漏洞。
当前已经出现了不少智能合约检测工具或在线检测站点,但这些检测仍基于经验总结,对于未知合约漏洞则无能为力。
形式化验证方法是一个可能的解决思路,通过建立恰当的模型,精确判断程序是否能按照开发者的预期运行。但对于智能合约的形式化验证,难度较大,目前还没有找到合适的解决方案,需要进一步深入研究。
在智能合约的应用方面,一方面需要从法律层面明确智能合约的可执行性;另一方面,由于智能合约具备天然的确定性,不具有普通合同的灵活性和可选择性,因此在特定场景中,需要建立允许代码暂停或终止执行的干预机制。
8.与其他科技的融合常说的云计算、大数据、人工智能、区块链技术等,实质上均是“算法+数据”的体现,无非侧重点各有不同。
既然本质相通,那么相互之间的融合就是必然了。例如,在资产证券化的场景中,需要对多个业务系统的信息进行持续的披露,同时还需要实现大规模分布式文件存储。区块链技术可以通过交易签名、共识算法和跨链技术,保证各交易相关方分布式账本的一致性,从而在保障交易背景真实性的基础上,自动实时完成信息披露,从而实现账证相符、账账相符、账实相符,大大提高可交易产品的信用等级,又大幅降低成本,这就使信息使用者可以实时、穿透式获取企业运营的全局信息,而全局信息的获取意味着信息的大规模增长,如何更好地存储与提取信息价值则成为链关键。
因此,将区块链技术与分布式文件系统、大数据分析、云计算、人工智能等科技进行融合是未来发展的一个重要方向。