编者按:作者是中国金融四十人论坛常务理事、北京艾亿新融资本管理有限公司董事长张家林,北京艾亿新融资本管理有限公司,是一家专注于上市公司股权投资管理、提供结构化融资金融服务的专业机构。
区块链(Block Chain)是支撑比特币的核心技术,但其本身完全是 独立的系统,应该说比特币是区块链技术的一个创新应用。实际上它 可以适用于任何形式的“货币”或“经济价值”。笔者认为区块链技 术在金融理论方面并没有创新,但在金融科技方面是一次具有里程碑 意义的创新,基于此技术构建新一代互联网金融服务的前景潜力巨 大。本文主要从金融视角首先介绍一下区块链的技术原理、运行机制 和创新点,国内外的应用现状,分析大力发展区块链技术应用对于促 进我国信用经济、构建互联网经济秩序话语权的重要战略意义。
一、区块链的技术原理与运行机理
区块链是一个开放式自治账薄系统(open Autonomous ledger)。 首先它是一个账薄系统,按照复式记账方法记录了所有的交易数据: 每一个单位的货币“从哪来,去过哪”的全部详细历史数据。开放式 是指其存储的数据,对任何人都是开放的,除了交易主体的隐私信息 采用加密方式以外,任何人都可以查询其中的数据(加密的数据获得 授权后也能看到)。自治是指系统是按照公开的算法、规则形成的自 动协商一致(Automated Consensus)的机制基础上运行的。以确保 记录在区块链上的每一笔交易的准确性、真实性。
1、区块链的薄记方法
区块链记录了从第一个“货币元”[1]交易(Transactions)发生开始 的所有交易纪录,每笔交易都是按照复式记账法(Double-Entry bookkeeping)进行记录。由于任何一笔交易的借方、贷方[2]的复式记账记录都保存在一起。每笔交易的贷与借之间形成的会计关联关系: 一笔交易中的贷方总能够对应到之前一笔交易的借方。所有的交易就 通过复式记账的会计关联成“链状”结构(见图 1)。这样就能够对 每个“货币元”的身世档案有很精确的描述:由于复式记账的好处, 从当前最新记录开始,逐级向过去回溯的倒推方法,就能对每个“货 币元”不仅知道它“去过哪”—这个“货币元”都经历过哪些交易, 还可以知道它“从哪来”—追溯到它的源头“出处”[3]。
由于每个“货币元”的身世档案都很清楚,这样就给识别和验证交易 带来非常大的好处。张三要支付李四 100“货币元”,李四就可以对 张三的这 100“货币元”的身世档案进行查询,李四追溯到这 100“货币元”是有源头“出处”的,而且最新的交易显示,这 100“货币元”的最新拥有者是张三。李四就放心可以收到这笔钱了 [4]。如果李四追溯不到这 100“货币元”的源头,说明这 100“货币 元”不是合法生产出来的,张三就不应该拥有此 100“货币元”,这 样的交易被认定为非法而无法获得执行。只有那些可以追溯到源头 “出处”的“货币元”交易才被认定为合法并获得执行[5]。
被验证过的所有交易被永久性的存在区块链中。
显然,随着交易数量的增加,采取上述方法对当前的每个“货币元”的交易都查询身世档案进行追根溯源的话,由于需要回溯的“交易链”很长,按照上述方法来验证此笔交易将会非常耗时。区块链采用非常巧妙的方法解决了这个问题:
区块链采用了“分块”的方法,把发生在某段时间内的交易打包成一 个“区块(Block)”,每个区块保持着前、后区块的链接指针。由 于区块是按照时间顺序递增产生的,每隔一段时间就会增加一个新的 区块,这个区块和上个区块链接起来,所有区块就形成了“链”状结 构。
区块链可以看作一个可以无限“增加页数”的巨型账薄,每个区块可 以看作是这个账薄的“一页”,“每页”账薄记录了 1 笔或多笔交 易。每增加一个区块,区块的堆高[6](Height)就增加 1。
区块链采用一种称之为“Proof of work”的算法和一些共识规则,确保只有合法的区块才能加进来。一旦一个区块经过验证后链接到区块链中,就会永久的存储起来,任何人或机器都无法修改[7]。而每个区块的合法性验证包括了对其中的所有交易的合法性检验和区块之间数据关联性规则的检验。采用区块的做法,直观的好处,就是可以不必对每一笔待验证的交易采取遍历整个账薄的做法,而是仅仅回溯到最近的某个区块,在这个区块中找到能够验证当前交易的数据即可 [8]。一个新的区块的创建过程[9]的示意图如图 2:

区块链采用分布式的方式在 peer-to-peer 网络上的多个节点(被称 为“矿工”[10])上都存储着完整的帐册副本。这些节点采用自治的协 议和规范,通过交叉审计和稽核的机制,共同维护和更新区块链,保 障整个帐册的真实性和完整性。除了涉及交易各方的私有信息加密 外,区块链的数据对所有人都是公开的。任何人都可以通过公开的接 口(API)查询区块链数据以及开发相关的应用。
2、区块链的运行机理
这种遍历每个“货币元”的所有交易纪录并追溯到源头来验证交易的 思想,并不新鲜,这也是当初设计复式记账法以及财务审计体系的初 衷[11]。但限于时间、成本、保护隐私等法律的制约,而无法做到。最 初人们解决的方法是:交易对手双方通过他们一致认可的、高度信任 的利益无关第三方来验证交易,以此来解决交易对手之间由于存在利 益冲突而无法直接建立信任的问题。但随着第三方充当越来越多的信 任中介职能后,第三方的角色由之前的“中介”逐渐演变为信任网络 的“中心”:所有交易都通过此“中心”进行才是最优选择。银行、
交易所、房地产交易中心、信用卡等等,都是这种机制演变过来的。
这样的机制目前暴露出来的主要问题是:
由于“中心”通常都是一个经济实体,其“中心”地位逐渐获取 的信息优势驱动其追求更大经济利益,这些利益或多或少与其服务的 用户产生冲突和不公平。
由于“中心”是集中管理的,即便采用很高的安全措施,依然存 在道德风险和极易受到攻击,导致用户损失。比如内部操作人员不受 监管的修改数据,被盗取数据,信用卡欺诈等。
于此同时,现有的各种“中心”的局限性越来越不适应互联网经 济活动的发展。互联网极大的扩展了人们经济活动的边界,地球上的 任何一个人与另外一个人都可以很容易的建立联系,并诱导出无限的 潜在经济活动。这些经济活动普遍具有跨国界、跨领域、跨税务、跨 货币、跨法律体制等特点。但因为过去形成的各种“中心”普遍受限 于其服务地域、法律监管范围、税收和货币体制以及对域外数据的缺 乏导致无法为这些互联网经济活动提供可以匹配的服务。[12]
区块链的核心设计思想就是运用现有成熟技术和条件,构建一个存粹 的、跨界的“利益无关”信任网络的验证机制,让互联网经济活动变 的更简便、更容易。它主要通过复式记账会计、peer-to-peer 网络 架构、基于机器算法的协商一致的自治协议、安全的数据储存传输使 用规则、可持续运行的激励机制、开放式的系统来最大程度的“去中 心化”,确保这个系统对任何用户都是“中性”和“可信”的,从而 为交易各方的经济活动建立信任环境。
让我们看看区块链是如何运行的:
区块链是构建在一个 peer-to-peer 网络上的自治系统,其运行体系 主要包括如下几个部分:
区块链的系统守护进程(Block Chain Daemon):Daemon 是一种 持续运行的程序,用于处理服务需求。区块链的 Daemon 驻存于网络 中的 Full Blockchain 节点的计算机中。
区块链全节点(Full Blockchain node)与瘦节点(Blockchain lightweight node):区块链全节点保持着完整的区块链并实时更 新。全节点能够自动对交易进行验证而不需要外部任何指令。廋节点 只保存区块链的一个子集,通常采用 SPV(Simplified payment verification)方法对交易进行验证。
矿工节点(Miner):矿工节点采取竞争性的规则来创建区块。竞 争性规则就是谁最先解决一个 proof-of-work 的问题,谁就添加成功 一个新区块到区块链中,并获得一定的奖励。
网络路由(Routing node):每个区块链网络中的节点都嵌入有 一个专门负责接入网络、连接管理的系统。
接口应用:区块链是底层架构,它提供给上层应用的接口有多 种。最常用的是钱包(wallets)。它是用户与区块链之间的应用接 口。
当在网络上的某一台服务器运行区块链的系统守护进程后,标志着一 个区块链“诞生”了。通常由系统守护进程创建第一个区块(Block 0)。然后区块链的全节点就开始扩张了:那些愿意成为节点的计算 机加入进来,并按照 peer-to-peer 网络协议将这些节点连接起来。 这些全节点从网络中下载需要运行的程序以及复制区块链的全部数据 到本地。这样的过程一致持续进行,当全节点达到一定的数量后,这 时实际上已经有一些交易发生了[13]。紧接着,矿工节点陆续加入进 来。由于网络中已经有了“货币元”,用户可以开始用“货币元”进 行交易了。新的交易请求不断由用户接口应用发出来,网络中的全节 点不断的监听网络中的交易请求,并对每笔交易采用遍历“货币元” 身世档案的方法进行验证。经过验证的交易不能直接存入区块链,它 需要和相邻时间内发生的其他交易一起存入新的区块后才永久的存储 在区块链中。除了最初的几个区块[14],所有区块都是由矿工节点完成 的。数量众多的矿工节点每隔一段时间就会自动的采集最新发生的交 易,并把这些交易打包成新的区块。区块链网络为每一次新的区块打 包设置一个基于“hash 算力”的 proof-of-work 的难题,以确保区 块数据被准确无误地纪录下来。只有第一个完成这个难题的矿工节点
才能把新的区块加入到区块链中。区块链网络为每次成功加入新区块 的矿工节点激励一定数量的“货币元”,作为支付其“hash 算力” 的报酬。新的区块被加入后,全节点立即向网络中的其他节点通知更 新本地的数据库。区块链就这样按照时间顺序和交易持续增加。
自 2009 年 1 月 3 日第 0 个比特币的区块(又被称之为”Genesis Block”)产生到现在,堆高已经达到 376415,对应的区块链有 376,415 个区块,一共记录了大约 8600 万笔交易,平均每个区块中 有 200 多笔交易。整个区块链的数据量截至目前大概为 40G [15]。可以看出,虽然区块链的物理设施都是属于不同的经济实体的,但在 这些物理设施上运行的不是私有的程序,而是按照共同的规范和协议 编写的程序。代码采用的是开源的结构,也就是说任何改动都需要开 源社区的审核,因此恶意的修改是可以预防的。当这些程序运行在足 够多的网络节点的时候,没有一个经济实体能够控制和拥有区块链 [16]。由于采用基于协商一致的规范和协议,区块链就形成了“自治” 的系统:交易验证、hash 算力、以及网络运行的管理服务等都是自 治的,不需要任何人为的干预。当然,为了维持这个“自治”系统的 生存,必须对那些提供物理设施、电力开支的经济实体支付报酬。支 付报酬的来源自然就从区块链提供的服务中提取。每笔交易的成本是 评价区块链竞争力的一个非常重要的技术指标。
3、区块链存在的一些技术问题
区块链目前最大的限制是每秒只能处理一笔交易,即 1tps。而 VISA 为 2,000 tps。改进后的区块链处理速度可以提高到 7 tps,与传统 金融机构的系统差距仍很大。
目前验证每一个新区块的时间平均为 10 分钟。意味着任何一笔交易 得到确认和执行至少需要 10 分钟。而 VISA 则需要几秒钟。
区块链的数据规模增长迅速,目前达到 40G。如果处理速度达到 VISA 的标准,则估计每年增加的数据量超过 1.42PB。这给网络节点之间 的数据传输带宽带来很大的问题。

还有包括安全性问题、矿工节点流失等一些系列问题。这些问题都在寻求方案持续改进中。区块链开源开发组织定期发布补丁,不断修改、升级完善现有的系统。
二、区块链的创新点
区块链在金融理论上并没有重大创新,但它在解决金融层面的信息不对称导致的信任问题方面做出了重大创新。虽然人们大多数是从比特币知道区块链的,但笔者在此要强调的是,区块链本身是完全独立的系统。它不仅仅是为比特币而产生的,实际上,区块链技术拥有比数字货币更丰富、更深刻的内涵。它解决的核心问题不是“数字货币”,而是在信息不对称、不确定的环境下,如何建立满足经济活动赖以发生、发展的“信任”生态体系。为实现这些目标,笔者认为区块链的设计者们在如下几个方面的创新尤其值得关注和研究:
1、账簿系统的设计非常先进和精巧。前文已经论述,限于篇幅,笔 者这里不再赘述更详细的技术细节。随着区块链技术的发展,这个账 簿系统得到更大的扩展,可以记载、验证和转移任何形式的合约或财 产。
2、区块链的方法论
全球经济活动看做为一个“空间”,这个“空间”按照行政区域、司 法管辖、税务、规则[17]、货币区等参数被人为的划分为多个“子空 间”。这些参数是对各自“子空间”的经济活动度量坐标。一笔交易 是否可行,抽象的看,只需要看看它是否能够“映射”[18]到子空间的 坐标即可。当在子空间中验证一笔交易时,我们需要按照其中的参数 逐一检验。当满足全部要求时,该交易才获得合法性和合规性验证。
在任何一个“子空间”中交易相对比较容易,因为不同的“子空间” 都有数量不等的区域“信任中心[19]”存在,使得对交易的验证变得相 对简便。如果某个交易跨越了不同“子空间”,那么就可以采取两种 办法解决:1)找到能够覆盖这两个“子空间”的“信任中心”提供
服务[20];2)由两个“子空间”的“信任中心”之间建立联盟,共同为 跨空间交易提供服务[21]。当前金融解决方案大多采用上述方法。
但互联网的发展让人与人之间、人与物之间、物与物之间的连接变的 更容易,更多样。这样的连接驱动了各种各样的经济活动需求。使 “跨空间”的经济活动数量更庞大、交易属性更多维、更频繁、要求 更低成本的诉求越来越强烈。现有的“子空间信任中心”的服务体系 显然不能满足需求。目前社会还没有在互联网空间建立类似“WTO” 的国际组织来协调出现的经济金融新问题。可以预见将来很长时间, 由于政治、经济原因,这样的组织或许无法诞生。
区块链的设计者们构建了一种全新的方法论。区块链对地理、法律管 辖、税务、货币单位等参数是不敏感的。它按照“最大公约”的原 理,构建了“自动协商一致”的自治规范。升级后的区块链技术规范 [22],将可以服务互联网上的“全频谱经济活动”,包括经济、金融和 货币领域内的很多应用[23]。区块链技术让“星球级[24]”的服务首次成为 可能:互联网经济活动就如同互联网本身一样,也必须是“自治的” 才有生命力。
“自治”首先必须是无害的、中性的,其次必须是“共识”的。 区 块链实现了这个目标。
3、区块链簿记的一般等价物—“货币元”
交易的本质是一般等价物(“universal equivalent”)的转移。那 么区块链簿记的一般等价物是什么?区块链的设计者们用 universal quanta(笔者翻译为“货币元”)的概念作为其簿记的一般等价物。 笔者认为这是区块链技术创新最精彩的地方。
区块链的“货币元”的思想来源于几何学。在区块链中,每个“货币元”对应的是一个“坐标”,“货币元”坐标的变化,标示一项交易
的完成,即“货币元”的所有者发生一次转移。区块链中的所有“货币元”都有自己的“坐标”,并且散布在区块链中的各个区块中。
理解区块链的这个核心思想非常重要。在展开说明前,需要说明一下 Hash 算法。Hash 算法将任意长度的输入值映射为较短的固定长度的 二进制值,这个小的二进制值称为 hash 值。如果输入值哪怕只更改 一个字符,随后 hash 值都不同。反过来,要想找到相同 hash 值的两 个不同输入值,在计算上是不可能的,所以 Hash 值可以作为对应输 入值的唯一绝对坐标。
让我们看看区块链中货币几何学:
一笔交易的摘要是“Alice pay bob 100 at 2015/10/01/09:30/001”,这笔交易描述的是 Alice 在 2015 年 10 月 1 日 9:30 分 001 秒支付 bob100 元。通过区块链纪录,我们可以回溯 Alice 的这 100“货币元”是怎么来的:
我们查到 Alice 的这 100 来自如下几个输出{借方}:
“Tom pay Alice 10 at 2015/9/28/10:30/010”-其中 10 元来自 Tom;对应的 Hash 为:
Htom=a84bc8f2022aab6feba686d81da974c53edb826532b7a0e5d2100b0de3e3639b
“Jerry pay Alice 50 at 2015/9/20/14:30/050”-其中 50 元来自 Jerry;对应的 Hash 值为:
Hjerry=23f11a4c3a8bb2a56e3eac78b73f539b1d301315e9286c44413e8 614f59df7fb
“Mary pay Alice 40 at 2015/6/28/10:30/010”-其中 40 元来自 Mary;对应的 Hash 值为:
Hmary=b43dcb40bea5ae7692501defb2dc3cf031866aaa4c84c46a2dba0e 47f918edb2
区块链记载 Alice 的这 100 元怎么来的采用的方法就是把 Tom, Jerry,Mary 与 Alice 的上述交易摘要的 Hash 值在作为输入值,再 做 Hash 计算:
Hash(Htom,Hjerry,Hmary)=19d9e0762cd82ecd15bf83b9d8fade2255c31c244b8350a26191d8f7999065b8
这样 Alice 的 100 元从哪来就可以用 Hash(Htom,Hjerry,Hmary)唯 一标示。“Alice pay bob 100 at 2015/10/01/09:30/001”这笔交 易可以以下面的方式更精确的描述“Alice pay bob Hash(Htom, Hjerry,Hmary) at 2015/10/01/09:30/001”。
假设现在还有另外一笔交易,“Jack pay bob 100 at 2015/10/01/9:30/002”。Jack 的 100 元从哪来,我们也可以采用上 述同样的方法回溯。我们确定 jack 与 Alice 的 100 元几乎肯定不是 完全相同的方式获得,那么他们的 hash 值就不一样。Jack 的 100 元 的来源 hash 值唯一与其对应,我们用 Hash(x)标示。这样,jack 付 给 bob 的交易就应该这样精确的描述:“Jack pay bob Hash(x) at 2015/10/01/9:30/002”
在区块链中,Alice 付给 bob 的 100 和 Jack 付给 bob 的 100 是完全 不同的。他们具有不同的 hash 值,这些 hash 值唯一的映射了它们各 自不同的历史交易路径。这就是区块链区别于我们传统货币的核心所 在。
当 bob 准备支付这 200 元中的 110 元给 Hook 时,实际上需要 bob 的 wallets 客户端程序自动帮助 bob 做分配[25],这笔交易的结果可能是 这样:
“bob pay Hash(Htom) + H(x) to hook at 2015xxxxxxx”。Bob 付 给 Hook 的这 110 的 Hash 值我们用 hash(y)标示。而当 Hook 立刻把 这 110 元支付给其他任何人时,交易摘要应该是 “Hook pay Hash(Hash(Htom)+H(x)+hash(y))) to somebody at 2015xxxxxx”。 Hook 支付给 someboy 的这 100 元也唯一被 hash (Hash(Htom)+H(x))+hash(y))标示。
由于 hash 值保持唯一对应关系,它就成为区块链中每个“货币元” 的绝对坐标。因为绝对,这个坐标也就自然成为具有一般等价物的涵 义。

区块链的每个货币元都是被回溯到源头,这样没有一个货币元具有相 同的历史交易路径(hash 的输入值),也就决定了其 hash 值都是唯 一的。这和我们看到的纸币编号的区别是巨大的。纸币编号是发行序 列号,它没有关于这个纸币交易的历史路径。而区块链的货币元 hash 值的输入反应了其独一无二的交易历史路径,只是为便于数字 处理和检索效率,用 hash 算法把它与一个数值唯一的对应起来。
由于每个货币元的 hash 值都是唯一的,所以是不可分割的。这就和 一个 1 分钱的硬币不能掰开两半使用原理一样。区块链采用 chane“找钱”的方法完成货币的分解。
“货币元”并不是货币的概念,它是坐标的概念:映射交易的事实与 存在。从区块链中是无法直接查询到 bob 有多少钱的记录。但 bob 可 以自己查询所有的交易记录,最终计算出来他有多少货币元“没有花 掉的余额(UTXO)”[26]。由于这些 UTXO 是汇总的很多货币元的总和, 它们散布在区块链的任何地方。但他们的坐标是唯一的,也就总能找 到他们或验证他们是否存在。
这样的设计思想在区块链后续发展中,被逐渐扩展开来:区块链成为“信任链”,它记载、验证和转移构成“信任链”的基础部件—事实与存在。
4、区块链成为互联网金融基础设施
区块链构建在互联网的 TCP/IP 基础协议之上,随着这个系统的扩 展,区块链本身就逐渐成为构建上层金融应用的基础设施。可以设立 新的区块链,也可以在目前的区块链基础上开立分支,拓展其他应 用。
如果说 TCP/IP 建立了机器之间数据传输的可达、可信和可靠,那么 区块链技术则首次在机器之间建立了“信任”。互联网被区块链划分 出一个“信任”的连接层,可以记载、验证和转移经济价值。
三、区块链技术在国内外的应用现状

以比特币为代表的数字货币依然是目前区块链最广泛的应用。由区块链技术开发拓展的数字货币种类已经多达几十种。但大部分都处于很
小的应用规模。
自 2014 年开始,基于区块链 2.0 的非货币应用开始应运而生。 BTCjam 基于区块链开展 p2p 信贷服务。Swarm、koinify 开展基于区 块链的众筹服务等。运用区块链进行无形资产(艺术品、创意)的交 易,基于区块链设计的“智能合约”服务等也都开始兴起。目前国内的区块链的应用还处于早期研究阶段,还没有成熟的商业模式出现。笔者领导的团队正在开发基于区块链技术的信贷管理服务和人工智能的自治系统。
四、大力发展区块链技术应用的战略意义
我们从区块链的技术原理、创新点的分析,可以看出区块链技术是互联网金融领域内的重大技术创新。目前正处于发展的早期阶段,应该抓住机遇大力研究和探索。既要看到重大技术创新给经济社会发展带来的机遇,更要看到由此产生的潜在风险。大力发展区块链技术应用可以大大促进我国的信用经济。我们目前经济社会信用环境与发达国家比较还很弱,信用经济发展迟缓,信用成本很高。区块链技术是一项成本较低的“信任”解决方案,区块链的生态环境的发展可以促进信用经济的发展,降低全社会的信用成本。
随着 IOT 的发展,互联网经济活动将变的越来越频繁。任何一个国家 对于互联网经济的依赖度越来越大。对于构建“互联网金融自治”共 识,区块链技术可以发挥极大的作用:机器间取得共识,相比人类取 得共识容易的多。大力发展区块链技术应用,增加国内基于区块链技 术的应用规模、范围,将会极大的增加互联网经济自治体系的“话语 权”。



注释 (↵ returns to text)
在区块链技术语境中,“货币”并不是指我们传统认知的货币,也不仅仅指比特币,为了说明 区块链是独立于比特币的技术,本文用“货币元”来做说明。后文会详细说明区块链语境中的“货 币元”的思想。↵
区块链用 inputs,outputs 来表示 debit 和 credit。↵
不同的“货币元”有自己的源头出处,比特币是“挖矿”获得的。↵
对于“Double Spent”的处理,区块链采取”lock time“的机制解决。↵
区块链采用了很多复杂信息技术算法和计算机方面的技术保障了这些。详细的介绍参阅 bitcoin.org。↵
6 由于区块链底层数据架构采用 STACK 模式,因此,每增加(push)一个区块,STACK 就 增加一层。形象的比喻就是堆高了一层,因而使用“堆高”这个词比较贴切。↵
采用分布式存储方式,让每个负责检验、认证(“矿工”)的网络节点都保存一份完整的、实 时更新的区块链的数据。这样要篡改区块链数据的成本将非常巨大而变的不值得:需要在一定 时间段内至少改变 51%的网络节点的区块链数据。↵
采用的是 Merkle trees 和 secipt 方法,可以很高效率的验证一笔交易是否在一个区块中。↵
详细的介绍参见
www.bitcoin.org↵
“矿工”节点数量实时更新查询:https://getaddr.bitnodes.io↵
目前的会计、审计和稽核的成本依然高昂。↵
即便类似花旗、工商银行这些大型银行、VSIA 等这些全球性的服务“中心”,也无法做到满 足互联网经济活动的需求。↵
通常是“货币元”源头的交易。↵
通常成为”genesis block”。↵
https://blockchain.info↵
理论上,一个具备足够强大资&