区块链技术影响深远
2016-10-08刘贵浙
刘贵浙
区块链技术用数学方法实现分布式记账,并解决信任问题,从而完成了去中心化,将在通信、金融、物联网、政府管理等众多领域带来深远的影响。
区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案,是一种全民参与记账的技术方式。而此前的记账方式都是中心化的,需要中心化的中介,无论这个中介是传统的政府、金融机构、公证机构还是新兴的电商平台、网络支付平台。
经济学假设中,信息是充分的。实际上,正是因为信息不充分,才存在非常庞大的中介机构。而中介机构的存在,增加了交易成本,提高了交易门槛。区块链技术本质上来说是一个大规模协作工具,它首次使用纯技术方式让直接的价值转移成为可能,并延续了互联网去中心化和去中介化的趋势。去中介的区块链技术将极大地颠覆信息中介行业。
源自比特币的区块链技术
2008年11月1日,一位化名中本聪(Satoshi Nakamoto)的程序员,在MIT计算机系统安全组的网站上发表了一篇仅8页长的学术论文,《Bitcoin:A Peer-to-Peer Electronic Cash System》。中本聪描述了一种完全基于点对点的电子现金系统,使支付可以由交易双方直接进行,摆脱了通过第三方中介(如商业银行)的传统支付模式,创造了—种全新的货币体系。
2009年1月,第一个序号为0的比特币区块——创世区块诞生。几天后的1月9日出现序号为1的区块,并与序号为0的创世区块相连接形成了链,标志着比特币区块链的诞生。
比特币因其剧烈的价格波动、高度的匿名性、与犯罪相连的坏名声以及其他技术原因,2009年诞生至今仍远未进入主流。然而2014年以后,作为比特币背后的数据结构,区块链却越来越受到广泛关注。
区块链技术是构建比特币数据结构与交易信息加密传输的基础技术,该技术实现了比特币的发行与交易。区块链技术的核心是所有当前参与的节点共同维护交易及数据库,使交易基于密码学原理而不基于信任,使得任何达成一致的双方,能够直接进行支付交易,不需第三方的参与。
从技术上来讲,区块是一种记录交易的数据结构,反映了一笔交易的资金流向。系统中已经达成交易的区块连接在一起形成了一条主链,所有参与计算的节点都记录了主链或主链的一部分。
比特币的产生需要依据特定的算法,通过大量复杂的运算才能生成,俗称“挖矿”。挖矿就是指产生新区块并计算随机数的过程,以解决一项复杂的数学问题来保证比特币网络分布式记账系统的一致性。这项复杂的数学问题是寻找一个随机数散列值(也称为哈希值)。散列值由散列函数生成,散列函数的功能是将任意长度的不同信息(例如数字、文本或其他信息)转化为长度相等但内容不同的二进制数列(由0和1组成)。
比特币采用的是散列算法中的SH256算法,任意长度的信息输入通过这个函数都可以转换成一组长度为256的二进制数字,以便统一存储和识别。256个0或1最多可以组合成2256个不同的数,这个庞大的集合能够满足与比特币相关的任何标记需要。且散列还有一个重要特征,若想要生成一个特殊的输出数字,只能通过随机尝试的办法逐个进行正向运算,而不能由输出结果逆向推出输入信息。这个特征是比特币能够顺利运行的重要基石。挖矿就是通过改变随机数来生成不同的散列值,直到符合要求。
一个区块包含以下三部分.交易信息、前一个区块形成的哈希散列和随机数。交易信息是区块所承载的任务数据,具体包括交易双方的私钥、交易的数量、电子货币的数字签名等;前一个区块形成的哈希散列用来将区块连接起来,实现过往交易的顺序排列;随机数是交易达成的核心,所有节点竞争计算随机数的答案,最快得到答案的节点生成一个新的区块,并广播到所有节点进行更新,如此完成一笔交易。
分布式记账成为可能
比特币使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。在信息传递过程中,发送方通过一把密钥将信息加密,接收方在收到信息后,再通过配对的另一把密钥对信息进行解密,这就保证了信息传递过程的私密性与安全性。比特币的交易并非简单的支付货币本身。由于每笔交易单都记录了该笔资金的前一个拥有者、当前拥有者以及后一个拥有者,依据交易单可实现对资金的全程追溯。这也是比特币的典型特征之一。最后,当每一笔交易完成时,系统都会向全网进行广播,告诉所有用户这笔交易的实施。
比特币系统大约每十分钟创建一个区块,其中包含了这段时间里全球范围内发生的所有交易。每个区块中也包含了前一个区块的ID,这种设计使得每个区块都能找到其前一个节点,如此可一直倒推至起始节点,从而形成了一条完整的交易链条。
因此,从比特币的诞生之日起,全网就形成一条唯一的主区块链,其中记录了从比特币诞生以来的所有交易记录,并以每十分钟新增一个节点的速度无限扩展。这条主区块链在每添加一个节点后,都会向全网广播,从而使得每台参与比特币交易的电脑上都有—份拷贝。
在现实世界里每笔非现金交易都由银行系统进行记录,一旦银行计算机网络崩溃所有数据都会遗失。而在互联网世界里,比特币的所有交易记录都保存在全球数量巨大且分散的计算机中,只要有一台装有比特币程序的计算机还能工作,这条主区块链就可以被完整地读取。如此高度分散化的交易信息存储,使得比特币主区块链完全遗失的可能性极小。
每个人在对交易的有效性进行验证后,都可以根据这些交易数据生成新区块。为了避免虚假交易或重复交易,使这一新区块被信任需要构建工作量证明机制。如果想要修改某个区块内的交易信息,就必须完成该区块及其后续连接区块的所有工作量,这种机制大幅提高了篡改信息的难度。同时,工作量证明也解决了全网共识问题,全网认可最长的链,因为最长的链包含了最大的工作量。
综上所述,区块链是一串使用密码学方法相关联产生的数据块。在比特币的应用中,整个区块链就是比特币的公共账本,网络中的每一个节点都有比特币交易信息的备份。当发起一个比特币交易时,信息被广播到网络中,通过算力的比拼而获得合法记账权的矿工将交易信息记录成一个新的区块连接到区块链中,一旦被记录,信息就不能被随意篡改。比特币是区块链的一个“杀手级应用”,区块链是比特币的底层技术,且作用绝不仅仅局限在比特币上。
区块链系统同任何一个数字系统一样,都离不开计算机硬件的支持。去除了第三方机构的同时,也无法得到第三方机构提供的硬件支持。区块链集体记账的特点要求每个支持交易的节点都能够为系统提供计算能力,由此提出了一种鼓励节点竞相提供计算能力的机制——挖矿。
新区块的生成将奖励矿工新的电子货币,还可以通过设置交易费用来奖励挖矿这种提供算力的行为,系统通过这样的方式完成电子货币的发行,这也让矿工有利可图,成为了矿工挖矿的主要动机。
每个节点接收到交易信息以后,生成新的区块并计算该区块的随机数答案,最快得到答案的节点将促成这笔交易的实现,完成交易的区块记录,并将该区块广播至所有节点。同时该节点将有可能获得一枚新的电子货币作为奖励。
截至2016年1月,支持比特币运行的区块链的计算能力已经达到了800,000,000Gh/s,代表每秒能够进行8×1018次运算,全球Top500的超级计算机的算力加在一起都远远不及这个数量级。中国的算力占比特币全网的50%以上。随着全网算力提高,找到散列值的难度也会提升,从而维持10分钟找到一次的频率。
区块链技术的特点
区块链通过去中心化和去信任的方式集体维护一个可靠数据库,该技术方案让参与系统的任意多个节点,把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块,并且生成该数据块的指纹用于链接下个数据块和校验,系统所有参与节点来共同认定记录是否为真。
区块链是一种类似于NoSQL(非关系型数据库)的技术解决方案统称,并不是某种特定技术,能够通过很多编程语言和架构来实现。并且实现区块链的方式种类也有很多,目前常见除运用于比特币的POW(Proof of Work,工作量证明)外,还有POS(Proof of Stake,权益证明),DPOS(Delegate Proof of Stake,股份授权证明机制)等。
去中心化:分布式记录+分布式储存。区块链与传统网络记录体系不同,没有设立中心记录者,而是通过建立公开记录体系,使全网每一个节点在参与记录的同时也来验证其他节点记录结果的正确性,在全部参与者确认后完成信息记录,以确保记录结果真实性。
目前传统数据库是中心化记录、中心化储存,即使采用异地灾备、云存储,也只是将存储地从一处变为多处,从本地变为云端,如果中央服务器出现问题,则灾备数据库也将停止更新数据。而区块链数据库是分布式记录、分布式储存、分布式传播,每一条信息都由单个节点传播给全网其它所有节点,每个节点都负责数据的记录、储存,没有中心化或第三方机构负责管理,一个节点出现问题,其他节点会继续数据的更新和存储,通过去中心化的方式,维持系统稳定运行。
去信任化:非对称加密数学+可靠数据库。传统互联网模式通过可信任的中央节点或第三方通道进行信息匹配验证和信任积累,这些中央节点或通道是否可信任对整个体系的信用影响极大。而区块链,通过数学方法解决了信任问题,依靠非对称加密和可靠数据库完成了信用背书,所有的规则事先都以算法程序的形式表述出来,参与方不需要知道交易对手信用度,更不需要借助第三方机构来进行交易背书或者担保验证,而只需要信任共同的算法就可以建立互信,通过算法为参与者创造信用、产生信任和达成共识,完成去信任化。
区块链采用非对称加密算法,即在加密和解密的过程中使用一个“密钥对”,“密钥对”中的两个密钥具有非对称的特点:一是用其中一个密钥加密后,只有另一个密钥才能解开;二是其中一个密钥公开后,根据公开的密钥其他人也无法算出另外一个密钥。在区块链的应用场景中,一是加密时的密钥是公开所有参与者可见的(公钥),每个参与者都可以用自己的公钥来加密一段信息,在解密时只有信息的拥有者才能用相应的私钥来解密,用于接收价值。二是使用私钥对信息签名,公开后通过其对应的公钥来验证签名,确保信息为真正的持有人发出。
整个系统将通过分数据库的形式,让每个参与节点都能获得一份完整数据库的拷贝。除非能够同时控制整个系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,也无法影响其他节点上的数据内容。而在实际中,发动51%攻击是无意义的,为掌握全网51%算力所需投入的成本,远远大于成功实施攻击后获得的收益,因此,从理论上来说,区块链技术可以保障数据库安全可靠,且参与系统中的节点越多和计算能力越强,该系统中的数据安全性越高。
区块链仍存在一些问题
目前,区块链技术的应用还处于初级阶段,仍面临着诸多问题。以区块链最成熟的应用比特币为例:
首先,技术层面上,网络容量有限、确认时间长、能量消耗大。在区块链中,每隔10分钟增加一个区块,由于区块的容量有限(1MB),每个区块最多可以容纳4096笔交易,区块链网络每秒钟只能处理7笔交易,远低于Visa/Master网络每秒4.7万笔和支付宝双十一8.59万笔/秒的交易能力。在能耗方面,比特币矿工目前的“挖矿”设备已经由300MH/秒的CPU升级到了5TH/秒的ASICs。据估计,目前比特币网络处理一笔交易的耗电量相当于美国一个家庭一天的耗电量,而碳排放是534吨/日或825万吨/年。
其次,在安全层面上,比特币交易平台易遭到黑客攻击。如2015年1月世界第三大比特币交易所BitStamp因一次黑客攻击丢失了540万美元的比特币。随后,总部位于斯洛文尼亚的这家公司被迫停止交易。这次攻击大约损失了19000个比特币。这一幕同样可能发生在通过区块链交易的资产上。而比黑客攻击更尴尬的是,丢失私钥的用户将无法挽回自己的资产。
再次,政策层面上,需要平衡监管与隐私。“去中心化”让中心化的政府疑虑重重,监管政策不乐观,而对于一个分散式网络来说,监管的难度也不小。此外,人们对区块链的理解程度和接受意愿不够,这导致新技术及新应用很难推广。
第四,事后不可追索。不可篡改是区块链的一大好处,但在实际应用中,却造成了无法事后追索的问题。一旦区块写入,就不能修改或取消,而一定需要进行新的一笔逆向交易。因此在构建区块链的交易结算系统中,需要预先设置追索机制和例外机制。
区块链的应用前景
无论是金融、公证、医疗、房地产还是物联网领域,只要有过多的中介参与、过高的中介成本或者是低追踪成本和高信息安全的需求,都会有区块链技术的用武之地。
通信:通信领域是最早的区块链应用之一。传统的通信程序都是考虑如何用最短的时间和路径传送信息,如今除了速度,安全性成了关注重点,基于区块链的比特信(Bitmessage)应运而生。区别与传统点对点传输方式,比特信不需要信任沟通协议,一份邮件会发送给网络系统中的所有人,只有真正拥有密钥的人才能打开信件,这也避免了被追踪收件方和发件方的风险。跟踪信件的路径是没有意义的,因为所有人都收到了,这可以解决路径的安全问题。由于这种方式对网络带宽和运算能力要求很高,只有在如今具备软硬件基础的情况下,才能承担这种由快到安全的转变。
域名管理也是区块链在通信领域的潜在应用之一。传统的域名管理系统是由ICANN分配给不同的机构,但这样的树状结构非常不安全,尤其是像中国这种不控制任何根服务器的国家。基于区块链技术的第二代域名管理系统从传统的中心化管理系统转变为去中心化的域名管理,使其更安全也更有效率。
金融:金融领域存在大量诸如银行、证券交易所等中介机构,对区块链技术的巨大需求使金融领域成为目前区块链应用最多的领域。金融系统的去中心化将大大提高系统的运行效率。近年来开发出其他区块链协议,使区块链有机会在金融业和其他行业中得到实际应用。以太坊(Ethereum)、Ripple、Stellar、Eris、Tendermint、HyperLedger等,以权益证明、股份授权证明等机制取代了费时费力的比特币工作量证明机制,从而提高了交易速度,降低了能耗。
汇丰银行的报告称,央行未来可以通过区块链技术来发行货币。例如政府要实行量化宽松,央行可以低成本且精确的发放到每个人的帐户,也可以查到每一笔钱的流转。并且可以通过智能合约,在钱上设定条件。例如,这笔钱必须进入农业,则这笔钱的预设程序限制了这笔钱只能流向农业,在发放之前就能写成合约。未来的金融发展方向之一是可编程金融,区块链技术将是重要的实现手段。
银行很大的一个风险是单点错误,典型例子是巴林银行,因为一个交易员作假虚报,最终导致巴林银行破产清算。如果银行采取更严格的审查和审计势必提高经营成本。如果使用区块链可以从根本上避免单点错误的发生,任何细微的造假系统会马上识别,进而降低审查和审计成本。
互联网已经实现了信息的自由传递,但是价值的自由传递尚未实现。下一步是将资产数字化,在互联网上登记各类权益资产,实现权益资产的自由流通。区别于信息的可复制,权益资产对应的价值是不可复制的,其传输方式显然与信息不同,区块链技术有望实现从信息互联网到价值互联网的转变。
医疗:目前医疗领域是除了金融领域外的区块链第二大应用领域,包括病例、指纹等在内的很多资料具有隐私性,需要很高的权限保护。尽管目前对与个人信息的管理能基本符合要求,未来技术的发展将获得大量特定基因数据,当前的中心化资料系统也会变得很吃力,容易出现大规模数据泄漏的问题。
而区块链技术可以通过多签名私钥和加密技术来防止这种情况的出现。当数据放置在区块链上后,使用多签名技术,就能够让那些获得授权的人们才可以对数据进行访问。使用这种技术,将能够制定一定的规则来对数据进行访问,必须获得授权才能够进行,无论是医生、护士或者病人本身都需要获得许可;在某些情况下,可以设定需要3个人中2个人授权才可以进行。
物联网:传统物联网模式是由一个中心化的数据中心收集所有已联接设备的信息,这种方式在生命周期成本、收入方面有严重缺陷。如果设备的运行环境可以去中心化,彼此相连,形成分布式云网络,整个网络的生命周期就可以变得非常长,同时运行成本可以显著降低。
区块链对于物联网的意义在于,为物联网中数以亿计的设备之间建立低成本的、P2P的沟通桥梁;同时,通过去中心化的共识机制保证了信息的安全性和私密性,又能做到开放和透明化的数据管理。
基于区块链技术的智能合约,可以使智能设备成为自我维护、自我调节的独立个体,能够自主的与其他设备核实身份、交换信息,并按照事先拟定的规则合约,执行相应的动作。
公证:公证作为当前社会的重要需求,具有较高的成本并严重依赖政府机关和权威单位的信用,也造成了门槛较高、国内知识产权保护不够的问题。利用区块链去中心化的特点,使用数学信用背书可以完成全自动化公证。如果从重要信息到生活痕迹都能够证明所有权,且数据永久保存并随时可追溯源头,微信息和微知识产权将形成体量惊人的交易市场。当前已有不少公司在公证领域做出尝试。Bitproof专注于学校学历证书的认证,Monegraph试图把艺术品进行区块链登记,Factom提供对所有文书、文件的数据资料公证服务。
政府:基于区块链技术的分布式账本在政府公共事务管理中可以发挥重要作用。分布式账本有潜力帮助政府在收集税收、传递福利、签发护照、记录土地注册、保证商品供应链、投票等方面,确保政府记录和服务的完整性。目前,已经有一些国家政府开始了区块链实践。区块链对于限制权力腐败,提供政府公信力也有帮助。不可更改的公共账本便于政府审计和公民监督。智能合约还可以使一些可电子化、可编程的行政过程自动化,避免人为干扰。
华尔街的应用
从云计算到开源软件到第二代信息安全技术,华尔街在新技术的应用和推广上紧跟前沿。鉴于区块链技术的潜在影响,华尔街的金融机构也已开始主动研发。几乎所有欧美大型金融机构当前各自都有10~20个项目在开发测试中。
美国已经在基于区块链技术的证券交易方面做了很多的探索,一旦区块链技术的证券交易做大,意味着可能成为真正意义上的全球交易所。区块链技术的交易平台可以跨过所有的法律障碍来完成交易。纳斯达克在2015年12月30日完成了基于区块链平台的首个证券交易,推出基于区块链的数字分类账技术Linq平台,进行股票的记录交易与发行。SEC近期批准了美国上市电商Overstock将自己公司的股票放在Overstock自己的区块链技术交易平台上进行交易。
2014年以来,包括巴莱克银行、瑞士信贷银行、摩根大通在内多家银行都已经加入了由金融技术公司R3领导的组织,着手为区块链技术在银行业中的使用制定行业标准和协议。传统的跨国转账SWIFT协议结算清算时间很长,一般来说资金电汇按天来结算,而R3区块链联盟可以实现银行间的跨国准时清算。全球范围内加入R3联盟的银行已超过42家。人民银行研究区块链技术
1月20日央行召开数字货币研讨会,提出争取早日推出央行发行的数字货币。2月15日,《财新周刊》刊发对央行行长周小川的专访,谈及数字货币的未来。周小川认为纸币必然要被取代。央行发行的数字货币不会影响现有的货币供给、创造机制和货币政策传导,其防伪性和安全性则有赖于多种信息技术手段的保障。
周小川称,
“央行发行数字货币,主要体现这么几个原则:一是提供便利性和安全性。二是做到保护隐私与维护社会秩序、打击违法犯罪行为的平衡,尤其针对洗钱、恐怖主义等犯罪行为要保留必要的遏制手段。三是要有利于货币政策的有效运行和传导。四是要保留货币主权的控制力,数字货币是自由可兑换的,同时也是可控的。为此,我们认为数字货币作为法定货币必须由央行来发行。数字货币的发行、流通和交易,都应当遵循传统货币与数字货币一体化的思路,实施同样原则的管理。”
关于区块链技术,周小川称,“数字货币的技术路线可分为基于账户和不基于账户两种,也可分层并用而设法共存。区块链技术是一项可选的技术,其特点是分布式簿记、不基于账户,而且无法篡改。如果数字货币重点强调保护个人隐私,可选用区块链技术,人民银行部署了重要力量研究探讨区块链应用技术,但是到目前为止区块链占用资源还是太多,不管是计算资源还是存储资源,应对不了现在的交易规模,未来能不能解决,还要看。除了区块链技术,人民银行数字货币研究团队还深入研究了数字货币涉及的其他相关技术,比如移动支付、可信可控云计算、密码算法、安全芯片等等。”