区块链:构建新型互联网金融的重大技术创新互联网
2016-03-29 来源:网络 编辑:佚名
区块链(BlockChain)是支撑比特币的核心技术,但其本身完全是独立的系统,应该说比特币是区块链技术的一个创新应用。实际上它可以适用于任何形式的货币或经济价值。笔者认为区块链技
区块链(BlockChain)是支撑比特币的核心技术,但其本身完全是独立的系统,应该说比特币是区块链技术的一个创新应用。实际上它可以适用于任何形式的“货币”或“经济价值”。笔者认为区块链技术在金融理论方面并没有创新,但在金融科技方面是一次具有里程碑意义的创新,基于此技术构建新一代互联网金融服务的前景潜力巨大。本文主要从金融视角首先介绍一下区块链的技术原理、运行机制和创新点,国内外的应用现状,分析大力发展区块链技术应用对于促进我国信用经济、构建互联网经济秩序话语权的重要战略意义。
一、区块链的技术原理与运行机理
区块链是一个开放式自治账薄系统(openAutonomousledger)。首先它是一个账薄系统,按照复式记账方法记录了所有的交易数据:每一个单位的货币“从哪来,去过哪”的全部详细历史数据。开放式是指其存储的数据,对任何人都是开放的,除了交易主体的隐私信息采用加密方式以外,任何人都可以查询其中的数据(加密的数据获得授权后也能看到)。自治是指系统是按照公开的算法、规则形成的自动协商一致(AutomatedConsensus)的机制基础上运行的。以确保记录在区块链上的每一笔交易的准确性、真实性。
1、区块链的薄记方法
区块链记录了从第一个“货币元”交易(Transactions)发生开始的所有交易纪录,每笔交易都是按照复式记账法(Double-Entrybookkeeping)进行记录。由于任何一笔交易的借方、贷方的复式记账记录都保存在一起。每笔交易的贷与借之间形成的会计关联关系:一笔交易中的贷方总能够对应到之前一笔交易的借方。所有的交易就通过复式记账的会计关联成“链状”结构(见图1)。这样就能够对每个“货币元”的身世档案有很精确的描述:由于复式记账的好处,从当前最新记录开始,逐级向过去回溯的倒推方法,就能对每个“货币元”不仅知道它“去过哪”—这个“货币元”都经历过哪些交易,还可以知道它“从哪来”—追溯到它的源头“出处”。
由于每个“货币元”的身世档案都很清楚,这样就给识别和验证交易带来非常大的好处。张三要支付李四100“货币元”,李四就可以对张三的这100“货币元”的身世档案进行查询,李四追溯到这100“货币元”是有源头“出处”的,而且最新的交易显示,这100“货币元”的最新拥有者是张三。李四就放心可以收到这笔钱了。如果李四追溯不到这100“货币元”的源头,说明这100“货币元”不是合法生产出来的,张三就不应该拥有此100“货币元”,这样的交易被认定为非法而无法获得执行。只有那些可以追溯到源头“出处”的“货币元”交易才被认定为合法并获得执行。
被验证过的所有交易被永久性的存在区块链中。
显然,随着交易数量的增加,采取上述方法对当前的每个“货币元”的交易都查询身世档案进行追根溯源的话,由于需要回溯的“交易链”很长,按照上述方法来验证此笔交易将会非常耗时。区块链采用非常巧妙的方法解决了这个问题:
区块链采用了“分块”的方法,把发生在某段时间内的交易打包成一个“区块(Block)”,每个区块保持着前、后区块的链接指针。由于区块是按照时间顺序递增产生的,每隔一段时间就会增加一个新的区块,这个区块和上个区块链接起来,所有区块就形成了“链”状结构。
区块链可以看作一个可以无限“增加页数”的巨型账薄,每个区块可以看作是这个账薄的“一页”,“每页”账薄记录了1笔或多笔交易。每增加一个区块,区块的堆高(Height)就增加1。
区块链采用一种称之为“Proofofwork”的算法和一些共识规则,确保只有合法的区块才能加进来。一旦一个区块经过验证后链接到区块链中,就会永久的存储起来,任何人或机器都无法修改。而每个区块的合法性验证包括了对其中的所有交易的合法性检验和区块之间数据关联性规则的检验。采用区块的做法,直观的好处,就是可以不必对每一笔待验证的交易采取遍历整个账薄的做法,而是仅仅回溯到最近的某个区块,在这个区块中找到能够验证当前交易的数据即可。一个新的区块的创建过程的示意图如图2:
区块链采用分布式的方式在peer-to-peer网络上的多个节点(被称为“矿工”)上都存储着完整的帐册副本。这些节点采用自治的协议和规范,通过交叉审计和稽核的机制,共同维护和更新区块链,保障整个帐册的真实性和完整性。除了涉及交易各方的私有信息加密外,区块链的数据对所有人都是公开的。任何人都可以通过公开的接口(API)查询区块链数据以及开发相关的应用。
2、区块链的运行机理
这种遍历每个“货币元”的所有交易纪录并追溯到源头来验证交易的思想,并不新鲜,这也是当初设计复式记账法以及财务审计体系的初衷。但限于时间、成本、保护隐私等法律的制约,而无法做到。最初人们解决的方法是:交易对手双方通过他们一致认可的、高度信任的利益无关第三方来验证交易,以此来解决交易对手之间由于存在利益冲突而无法直接建立信任的问题。但随着第三方充当越来越多的信任中介职能后,第三方的角色由之前的“中介”逐渐演变为信任网络的“中心”:所有交易都通过此“中心”进行才是最优选择。银行、
交易所、房地产交易中心、信用卡等等,都是这种机制演变过来的。
这样的机制目前暴露出来的主要问题是:
●由于“中心”通常都是一个经济实体,其“中心”地位逐渐获取的信息优势驱动其追求更大经济利益,这些利益或多或少与其服务的用户产生冲突和不公平。
●由于“中心”是集中管理的,即便采用很高的安全措施,依然存在道德风险和极易受到攻击,导致用户损失。比如内部操作人员不受监管的修改数据,被盗取数据,信用卡欺诈等。
于此同时,现有的各种“中心”的局限性越来越不适应互联网经济活动的发展。互联网极大的扩展了人们经济活动的边界,地球上的任何一个人与另外一个人都可以很容易的建立联系,并诱导出无限的潜在经济活动。这些经济活动普遍具有跨国界、跨领域、跨税务、跨货币、跨法律体制等特点。但因为过去形成的各种“中心”普遍受限于其服务地域、法律监管范围、税收和货币体制以及对域外数据的缺乏导致无法为这些互联网经济活动提供可以匹配的服务。
区块链的核心设计思想就是运用现有成熟技术和条件,构建一个存粹的、跨界的“利益无关”信任网络的验证机制,让互联网经济活动变的更简便、更容易。它主要通过复式记账会计、peer-to-peer网络架构、基于机器算法的协商一致的自治协议、安全的数据储存传输使用规则、可持续运行的激励机制、开放式的系统来最大程度的“去中心化”,确保这个系统对任何用户都是“中性”和“可信”的,从而为交易各方的经济活动建立信任环境。
让我们看看区块链是如何运行的:
区块链是构建在一个peer-to-peer网络上的自治系统,其运行体系主要包括如下几个部分:
●区块链的系统守护进程(BlockChainDaemon):Daemon是一种持续运行的程序,用于处理服务需求。区块链的Daemon驻存于网络中的FullBlockchain节点的计算机中。
●区块链全节点(FullBlockchainnode)与瘦节点(Blockchainlightweightnode):区块链全节点保持着完整的区块链并实时更新。全节点能够自动对交易进行验证而不需要外部任何指令。廋节点只保存区块链的一个子集,通常采用SPV(Simplifiedpaymentverification)方法对交易进行验证。
●矿工节点(Miner):矿工节点采取竞争性的规则来创建区块。竞争性规则就是谁最先解决一个proof-of-work的问题,谁就添加成功一个新区块到区块链中,并获得一定的奖励。
●网络路由(Routingnode):每个区块链网络中的节点都嵌入有一个专门负责接入网络、连接管理的系统。
●接口应用:区块链是底层架构,它提供给上层应用的接口有多种。最常用的是钱包(wallets)。它是用户与区块链之间的应用接口。
当在网络上的某一台服务器运行区块链的系统守护进程后,标志着一个区块链“诞生”了。通常由系统守护进程创建第一个区块链(Block0)。然后区块链的全节点就开始扩张了:那些愿意成为节点的计算机加入进来,并按照peer-to-peer网络协议将这些节点连接起来。这些全节点从网络中下载需要运行的程序以及复制区块链的全部数据到本地。这样的过程一致持续进行,当全节点达到一定的数量后,这时实际上已经有一些交易发生了。紧接着,矿工节点陆续加入进来。由于网络中已经有了“货币元”,用户可以开始用“货币元”进行交易了。新的交易请求不断由用户接口应用发出来,网络中的全节点不断的监听网络中的交易请求,并对每笔交易采用遍历“货币元”身世档案的方法进行验证。经过验证的交易不能直接存入区块链,它需要和相邻时间内发生的其他交易一起存入新的区块后才永久的存储在区块链中。除了最初的几个区块,所有区块都是由矿工节点完成的。数量众多的矿工节点每隔一段时间就会自动的采集最新发生的交易,并把这些交易打包成新的区块。区块链网络为每一次新的区块打包设置一个基于“hash算力”的proof-of-work的难题,以确保区块数据被准确无误地纪录下来。只有第一个完成这个难题的矿工节点
才能把新的区块加入到区块链中。区块链网络为每次成功加入新区块的矿工节点激励一定数量的“货币元”,作为支付其“hash算力”的报酬。新的区块被加入后,全节点立即向网络中的其他节点通知更新本地的数据库。区块链就这样按照时间顺序和交易持续增加。
自2009年1月3日第0个比特币的区块(又被称之为”GenesisBlock”)产生到现在,堆高已经达到376415,对应的区块链有376,415个区块,一共记录了大约8600万笔交易,平均每个区块中有200多笔交易。整个区块链的数据量截至目前大概为40G。可以看出,虽然区块链的物理设施都是属于不同的经济实体的,但在这些物理设施上运行的不是私有的程序,而是按照共同的规范和协议编写的程序。代码采用的是开源的结构,也就是说任何改动都需要开源社区的审核,因此恶意的修改是可以预防的。当这些程序运行在足够多的网络节点的时候,没有一个经济实体能够控制和拥有区块链。由于采用基于协商一致的规范和协议,区块链就形成了“自治”的系统:交易验证、hash算力、以及网络运行的管理服务等都是自治的,不需要任何人为的干预。当然,为了维持这个“自治”系统的生存,必须对那些提供物理设施、电力开支的经济实体支付报酬。支付报酬的来源自然就从区块链提供的服务中提取。每笔交易的成本是评价区块链竞争力的一个非常重要的技术指标。
3、区块链存在的一些技术问题
区块链目前最大的限制是每秒只能处理一笔交易,即1tps。而VISA为2,000tps。改进后的区块链处理速度可以提高到7tps,与传统金融机构的系统差距仍很大。
目前验证每一个新区块的时间平均为10分钟。意味着任何一笔交易得到确认和执行至少需要10分钟。而VISA则需要几秒钟。
区块链的数据规模增长迅速,目前达到40G。如果处理速度达到VISA的标准,则估计每年增加的数据量超过1.42PB。这给网络节点之间的数据传输带宽带来很大的问题。
还有包括安全性问题、矿工节点流失等一些系列问题。这些问题都在寻求方案持续改进中。区块链开源开发组织定期发布补丁,不断修改、升级完善现有的系统。
二、区块链的创新点
区块链在金融理论上并没有重大创新,但它在解决金融层面的信息不对称导致的信任问题方面做出了重大创新。虽然人们大多数是从比特币知道区块链的,但笔者在此要强调的是,区块链本身是完全独立的系统。它不仅仅是为比特币而产生的,实际上,区块链技术拥有比数字货币更丰富、更深刻的内涵。它解决的核心问题不是“数字货币”,而是在信息不对称、不确定的环境下,如何建立满足经济活动赖以发生、发展的“信任”生态体系。为实现这些目标,笔者认为区块链的设计者们在如下几个方面的创新尤其值得关注和研究:
1、账簿系统的设计非常先进和精巧。
随着区块链技术的发展,这个账簿系统得到更大的扩展,可以记载、验证和转移任何形式的合约或财产。
2、区块链的方法论
全球经济活动看做为一个“空间”,这个“空间”按照行政区域、司法管辖、税务、规则、货币区等参数被人为的划分为多个“子空间”。这些参数是对各自“子空间”的经济活动度量坐标。一笔交易是否可行,抽象的看,只需要看看它是否能够“映射”到子空间的坐标即可。当在子空间中验证一笔交易时,我们需要按照其中的参数逐一检验。当满足全部要求时,该交易才获得合法性和合规性验证。
在任何一个“子空间”中交易相对比较容易,因为不同的“子空间”都有数量不等的区域“信任中心”存在,使得对交易的验证变得相对简便。
如果某个交易跨越了不同“子空间”,那么就可以采取两种办法解决:
1)找到能够覆盖这两个“子空间”的“信任中心”提供服务;
2)由两个“子空间”的“信任中心”之间建立联盟,共同为跨空间交易提供服务。
当前金融解决方案大多采用上述方法。但互联网的发展让人与人之间、人与物之间、物与物之间的连接变的更容易,更多样。这样的连接驱动了各种各样的经济活动需求。使“跨空间”的经济活动数量更庞大、交易属性更多维、更频繁、要求更低成本的诉求越来越强烈。现有的“子空间信任中心”的服务体系显然不能满足需求。目前社会还没有在互联网空间建立类似“WTO”的国际组织来协调出现的经济金融新问题。可以预见将来很长时间,由于政治、经济原因,这样的组织或许无法诞生。
区块链的设计者们构建了一种全新的方法论。区块链对地理、法律管辖、税务、货币单位等参数是不敏感的。它按照“最大公约”的原理,构建了“自动协商一致”的自治规范。升级后的区块链技术规范,将可以服务互联网上的“全频谱经济活动”,包括经济、金融和货币领域内的很多应用。区块链技术让“星球级”的服务首次成为可能:互联网经济活动就如同互联网本身一样,也必须是“自治的”才有生命力。
“自治”首先必须是无害的、中性的,其次必须是“共识”的。区块链实现了这个目标。
3、区块链簿记的一般等价物——“货币元”
交易的本质是一般等价物(“universalequivalent”)的转移。那么区块链簿记的一般等价物是什么?区块链的设计者们用universalquanta(笔者翻译为“货币元”)的概念作为其簿记的一般等价物。笔者认为这是区块链技术创新最精彩的地方。
区块链的“货币元”的思想来源于几何学。在区块链中,每个“货币元”对应的是一个“坐标”,“货币元”坐标的变化,标示一项交易
的完成,即“货币元”的所有者发生一次转移。区块链中的所有“货币元”都有自己的“坐标”,并且散布在区块链中的各个区块中。
理解区块链的这个核心思想非常重要。在展开说明前,需要说明一下Hash算法。Hash算法将任意长度的输入值映射为较短的固定长度的二进制值,这个小的二进制值称为hash值。如果输入值哪怕只更改一个字符,随后hash值都不同。反过来,要想找到相同hash值的两个不同输入值,在计算上是不可能的,所以Hash值可以作为对应输入值的唯一绝对坐标。
由于hash值保持唯一对应关系,它就成为区块链中每个“货币元”的绝对坐标。因为绝对,这个坐标也就自然成为具有一般等价物的涵义。
区块链的每个货币元都是被回溯到源头,这样没有一个货币元具有相同的历史交易路径(hash的输入值),也就决定了其hash值都是唯一的。这和我们看到的纸币编号的区别是巨大的。纸币编号是发行序列号,它没有关于这个纸币交易的历史路径。而区块链的货币元hash值的输入反应了其独一无二的交易历史路径,只是为便于数字处理和检索效率,用hash算法把它与一个数值唯一的对应起来。
由于每个货币元的hash值都是唯一的,所以是不可分割的。这就和一个1分钱的硬币不能掰开两半使用原理一样。区块链采用chane“找钱”的方法完成货币的分解。
“货币元”并不是货币的概念,它是坐标的概念:映射交易的事实与存在。从区块链中是无法直接查询到bob有多少钱的记录。但bob可以自己查询所有的交易记录,最终计算出来他有多少货币元“没有花掉的余额(UTXO)”。由于这些UTXO是汇总的很多货币元的总和,它们散布在区块链的任何地方。但他们的坐标是唯一的,也就总能找到他们或验证他们是否存在。
这样的设计思想在区块链后续发展中,被逐渐扩展开来:区块链成为“信任链”,它记载、验证和转移构成“信任链”的基础部件—事实与存在。
4、区块链成为互联网金融基础设施
区块链构建在互联网的TCP/IP基础协议之上,随着这个系统的扩展,区块链本身就逐渐成为构建上层金融应用的基础设施。可以设立新的区块链,也可以在目前的区块链基础上开立分支,拓展其他应用。
如果说TCP/IP建立了机器之间数据传输的可达、可信和可靠,那么区块链技术则首次在机器之间建立了“信任”。互联网被区块链划分出一个“信任”的连接层,可以记载、验证和转移经济价值。
三、区块链技术在国内外的应用现状
以比特币为代表的数字货币依然是目前区块链最广泛的应用。由区块链技术开发拓展的数字货币种类已经多达几十种。但大部分都处于很小的应用规模。
自2014年开始,基于区块链2.0的非货币应用开始应运而生。BTCjam基于区块链开展p2p信贷服务。Swarm、koinify开展基于区块链的众筹服务等。运用区块链进行无形资产(艺术品、创意)的交易,基于区块链设计的“智能合约”服务等也都开始兴起。目前国内的区块链的应用还处于早期研究阶段,还没有成熟的商业模式出现。笔者领导的团队正在开发基于区块链技术的信贷管理服务和人工智能的自治系统。
四、大力发展区块链技术应用的战略意义
我们从区块链的技术原理、创新点的分析,可以看出区块链技术是互联网金融领域内的重大技术创新。目前正处于发展的早期阶段,应该抓住机遇大力研究和探索。既要看到重大技术创新给经济社会发展带来的机遇,更要看到由此产生的潜在风险。大力发展区块链技术应用可以大大促进我国的信用经济。我们目前经济社会信用环境与发达国家比较还很弱,信用经济发展迟缓,信用成本很高。区块链技术是一项成本较低的“信任”解决方案,区块链的生态环境的发展可以促进信用经济的发展,降低全社会的信用成本。
随着IOT的发展,互联网经济活动将变的越来越频繁。任何一个国家对于互联网经济的依赖度越来越大。对于构建“互联网金融自治”共识,区块链技术可以发挥极大的作用:机器间取得共识,相比人类取得共识容易的多。大力发展区块链技术应用,增加国内基于区块链技术的应用规模、范围,将会极大的增加互联网经济自治体系的“话语权”。