区块链:定义未来金融与经济新格局 (张健)
互联网是为了解决信息的高效传输而被发明的,在这个网络中,信息在全球范围内的点对点传输变得异常高效与廉价。然而,这种信息传输网络并没有对有价值的信息进行保护的内在机制,在网上复制、传播乃至篡改一条信息的成本几乎为零,我们无法点对点地传递带有所有权的信息。一
信用是制造货币的真正原材料。而区块链通过构造一个可以量化信用的经济系统,使得一个点对点的电子现金系统——比特币[1]的出现成为可能。或者说,区块链创造了一个数字化的、可以点对点传输价值的信用系统。
区块链的本质是一种去中心化的记账系统,而比特币正是这个系统上承载的“以数字形式存在”的货币。
从设计记账系统的角度,要达成去中心化的目标,显然需要具备以下两个条件: 1)账本数据的存储必须是去中心化的,不能指定任何参与方拥有特殊的保存账本的权力,或者说,我们需要让所有参与方都平等地拥有保存账本的权力。 2)记账行为本身必须是去中心化的,不能指定任何参与方拥有特殊的记账权力,或者说,我们需要让所有参与方都平等地拥有记录账务数据的权力。
其实,一致性问题尤其是分布式系统的一致性问题是个很大的概念,也是计算机科学领域很早就在研究的内容。
区块链经济系统 中本聪构造了一个极为精巧的系统,解决了这个看起来不可能完成的任务。这个系统被称为“区块链”。从字面意思上看,“区块链”就是以“区块”这个东西组成的链条。那么区块是什么?我们可以先做一个形象的类比:如果区块链是一个实物账本,那么区块就相当于账本中的一页,区块中承载的信息就是这一页上记载的交易内容。 那么,区块链是靠怎样的架构设计最终解决了去中心化记账的难题呢?竞争记账机制成为了解决问题的关键。 这里我们先引入一个称为“节点”的概念。在当前的信息时代,负责记账的自然是计算机,而在记账系统中接入的每一台计算机都可以称作节点。 所谓的竞争记账,就是以每个节点的计算能力(“算力”)来竞争记账权的一种机制。在比特币系统中,大约每十分钟进行一轮算力竞赛,竞赛的胜利者获得一次记账的权力,即向区块链这个总账本写入一个新区块的权力。这样,在一定时间内,只有竞争的胜利者才能完成一轮记账并向其他节点同步新增账本信息,这个过程就是区块产生的过程。 这里要指出的是,计算能力只能决定赢得竞争的概率。为了便于理解,我们可以用彩票系统做一个形象的类比,算力高的节点相当于可以一次买很多张彩票的人,算力低的节点相当于一次只能买一张或是几张彩票的人。在一轮开奖中,一次买很多张彩票的人只是中奖概率更大,却并不是一定会中奖。 那么,算力竞争是如何做到的?又由谁有权判定竞争的结果呢?区块链系统是通过一个称为“工作量证明”(Proof Of Work,POW)的机制完成的。举个形象的例子,比如要组装一批玩具,早上起来我给了你一些零件,晚上回来便看到玩具摆在桌上,虽然我没有从早到晚盯着你做玩具的过程,但我也能确定你确实做了这么多工作。这就是对工作量证明的简单理解——通过一个(人人都可以验证的)特定的结果,就能确认(竞争的)参与者完成了相应的工作量。关于POW的机制与实现细节会在下面的章节中详述。 不过,算力竞争是要付出成本的,没有激励,节点就没有进行竞争的动力。在中本聪的设计里,每轮竞争胜出并完成记账的节点将可以获得系统给予的一定数量的比特币奖励[2]。这个奖励的过程同时也是比特币的发行过程[3]。节点不停地进行计算,以期获得系统发放的比特币。这种设计相当巧妙——它将竞争记账机制与货币的发行完美结合到一起,在引入竞争的同时,解决了去中心化货币系统中发行的难题。这个过程很像现实生活中黄金开采的过程,因此被人们形象地称为“挖矿”。
从目前的实践看,工作量证明机制仍然是最为有效和可靠的去中心化共识机制。
正如《经济学人》的封面文章[6]所讲的,区块链是一个制造信任的机器。在任何需要信任的领域,区块链都有用武之地。
另外,由于区块链公开、透明、难以篡改的特点,利用区块链技术可以非常方便地为任何数字资产或有价值的信息实现比现有中心化结构更为可靠的存在性证明,以及各种形式现实资产的登记或转移。
在传统的账本中,账上的数据仅仅是一种纪录。而在区块链这个账本上,这些数据则有了超越账本的意义——它们是可编程的。 这是一个质的变化。由于区块链的可编程属性,使得区块链上所能承载的就不仅仅是普通的交易,而是可以基于程序自动执行的智能交易。
有点类似传统的合同,我们也可以认为,智能合约就是把合同以代码的形式搬到了区块链上,但这就带来了根本的区别:它不需要任何人监督合同的执行,订立合同的双方也无法在合同完成前单方面违约,一切都是按合同的约定自动执行的。相信随着区块链的普及和交易智能化的发展,它将会对未来的交易模式与商业结构带来巨大的影响。
如果要添加新功能,就要对系统进行升级,然而困难在于,对于比特币这样的完全去中心化的系统,任何改变都需要获得社区的一致同意,以至于快速改变是异常困难的。
为方便数字资产在不同区块链间互相转移,侧链(Sidechain)技术应运而生。简单地说,侧链就像是一条条通路,将不同的区块链互相连接在一起,以实现区块链的扩展。
其崛起的周期将比大多数人预想的要长,而最终影响的范围和深度也会远远超出大多数人的想象。
比特币的竞争记账过程是通过节点算力的竞争实现的。这个过程就是常说的“挖矿”,运行这些计算节点的人就是“矿工”,而这些计算的节点、矿工挖矿的工具就是所谓的“矿机”。
人们一直在担心,如果单一矿池所占的算力超过了50%,系统就会面临51%攻击的威胁。Ghash.IO的算力占比就曾短暂地接近50%,之后,很多矿工自发撤离了这个矿池。不可否认的是,任何单一矿池所占的算力比例过大都是对系统的潜在威胁。
要正确理解互联网金融的内涵,以下两点是至关重要的:一是互联网金融与传统金融的关系,二是互联网金融与技术发展的关系。
2.互联网金融发展的核心矛盾 传统金融体系是典型的中心化结构,而互联网则在推动着金融体系的重构,去中心化、去中介化成为趋势。
物联网的定义包含了两层意思:其一,物联网是在互联网基础上进行延伸和扩展的网络,其核心和基础仍然是互联网;其二,该网络的用户端延伸和扩展到了任何物品与物品之间,可进行信息交换和通信,也就是物物相连。
在我看来,“区块链+”的实质是在“互联网+”的基础上,进一步打破信息不对称,让市场交易的去中介化成为可能,进而带来交易效率的提升及社会成本的下降,并为市场经济中的各个行业与领域带来深刻的变革。
比特币采用的共识机制为工作量证明(POW),这也是第一个应用于区块链的共识机制。比特币区块链大约每10分钟生成一个新区块,同时生成新区块的节点获得比特币奖励,这也是比特币的发行过程。系统给予生成新区块的奖励每4年减半,最早为50个比特币/区块,目前为25个比特币/区块,在2016年7月即将再次减半为12.5个比特币/区块。通过这种方式,比特币的总量会在2140年达到2100万个的上限。
2010年5月22日是一个值得纪念的日子。这一天,一位美国的程序员拉丝勒·豪涅茨(Laszlo Hanyecz)报告称,他以10000个比特币的价格成功购买了两块披萨。这次交易的意义在于,比特币不再仅仅是极客的玩具,它第一次在现实世界获得了价格——5000比特币/披萨。因
被FBI查封的这批比特币已经分3次拍卖,这也间接表现了美国官方对比特币的态度:犯罪的是人,而不是工具。应该看到,比特币只是一项新技术,本身不存在善恶。怎样使用新技术取决于人的选择,如果因为比特币被犯罪分子利用就反对甚至禁止比特币,那无异于因噎废食。
美联储前主席伯南克在致参议院的信中表示:美联储一直认为在虚拟货币带来洗钱和其他风险的同时,也可能带来长期益处,特别是,这种创新可能催生出一个更快、更安全、更高效的支付系统.
由于区块链可编程的特点,未来还可以在众筹过程中内置智能合约,这样就能真正做到资金的专款专用,让投资人没有后顾之忧。
由于区块链技术开源、透明的特性,系统的参与者都能够知晓系统的运行规则、验证账本内容和账本历史的真实性与完整性,确保交易历史是可靠的、没有被篡改的,这种特性相当于提高了系统的可追责性,降低了系统的信任成本。
比特币区块链大量采用了现有的技术。公钥密码学、P2P网络、时间戳服务器、工作量证明,这些技术无一不是人类智慧的结晶。
古典密码编码算法归根结底主要有两种:置换和代换。
数据签名算法的核心在于证明数据是签名者发出的、不可抵赖的,而不是待签名数据本身的保密性。
区块链数据里最基本也是重要的几个概念是地址、交易、区块、网络。
中本聪在其白皮书中曾提到:只要诚实的节点所控制的计算能力的总和,大于有合作关系的(Cooperating)攻击者的计算能力的总和,比特币系统就是安全的。
SHA是安全散列算法(Secure Hash Algorithm)的缩写,是一个密码散列函数家族。这一组函数是由美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布的,包括SHA-1、SHA-224、SHA-256、SHA-384和SHA-512五种变体,主要适用于数字签名标准。后4个哈希函数又并称为SHA-2。
比特币通过构造这个分布式时间戳服务器来解决双重支付问题。中本聪在其白皮书中曾提到:只要诚实的节点所控制的计算能力的总和,大于有合作关系的(Cooperating)攻击者的计算能力的总和,比特币系统就是安全的[1]。
因此地址其实是公钥的另一种表现形式,可以理解为公钥的摘要。
而如果要将资产转移到某个地址上,只需要转账给它的公开地址即可。
比特币的交易并不是通常意义上的一手交钱一手交货,而是转账。如果每一笔转账都需要构造一笔交易数据,那么显得比较笨拙。为了使得价值易于组合与分割,比特币的交易被设计为可以纳入多个输入和输出,即一笔交易可以转账给多个人。从生成到在网络中传播,再到通过工作量证明、整个网络节点验证,最终记录到比特币的区块链,这就是交易的整个生命周期。
比特币所有的节点都遵循统一的协议规范。协议规范(共识算法)由相关的共识规则组成,这些规则可以划分为两个大的核心:工作量证明与最长链机制。
工作量证明系统(或者说协议、函数),是一种应对拒绝服务攻击和其他服务滥用的经济对策。它要求发起者进行一定量的运算,也就意味着需要消耗计算机一定的时间。这个概念由Cynthia Dwork和Moni Naor 1993年在学术论文中首次提出。而工作量证明这个名词,则是在1999年Markus Jakobsson和Ari Juels的文章[2]中才被真正提出。
新共识算法的发明常常是源于对工作量证明能源消耗的优化及对专业矿机挖矿的抵制,很多人都在寻找任意节点(通过GPU或者是CPU,也就是一台计算机)都可以参与整个网络挖矿的方法。以太坊发明了自己的挖矿算法ethash来抵制专业芯片的矿机,同时宣称将会以POW+POS的机制来运行整个区块链网络。
网络
运行该网络的步骤如下:
1)新交易向全网进行广播;
2)每个节点将接收到的新交易信息纳入一个区块;
3)每个节点为自己的区块寻找指定难度的工作量证明;
4)当一个节点找到了(要求的)工作量证明,它就将这个区块向全网广播;
5)只有当这个区块包含的所有交易都是合法的且之前不曾进行消费,其他节点才会接受这个区块;
6)其他节点表示接受这个区块的方法是:使用这个被接受的区块的哈希为前导哈希,在这个区块的基础上创造下一个区块。
不包含交易信息的区块头大小约为80字节。如果我们假设区块每十分钟生成一个区块,那么一年产生的区块头数据为4.2MB(80字节*6*24*365=4.2MB)。2008年常见的计算机操作系统的内存为2GB,摩尔定律预测,计算机内存每年的增长约为1.2GB。因此,即便区块头必须被保存在内存中,存储也不会成为一个问题。
首先讨论了源自数字签名的常见的电子货币框架,这种架构提供了强有力的所有权控制,但是不足以防止双重花费。
2018年8月14日 @关丹