区块链思想的诞生

区块链思想的诞生

0404

产品任何事物的发展,从来不是一蹴而就的。

商贸合作中签订的合同,怎么确保对方能遵守和执行?

餐厅宣称刚从海里打捞上来的三文鱼,怎么证明捕捞时间和运输中的卫生?

数字世界里,怎么证明你对资产的所有?

囚徒困境中的两个人,怎样能达成利益的最大化?

宇宙不同文明之间的猜疑链,有没有可能打破?

这些看似很难解决的问题,在区块链的世界里已经有了初步的答案。

本文将简要介绍区块链相关的背景知识,包括其起源、定位、涉及到的关键技术点以及潜在的商业价值。并对区块链的发展进行展望。

什么是区块链

定义

区块链(Blockchain)技术自身仍然在飞速发展中,目前还缺乏统一的规范和标准。

wikipedia 给出的定义为:

A blockchain —originally, block chain —is a distributed database that maintains a continuously-growing list of data records hardened against tampering and revision. It consists of data structure blocks—which hold exclusively data in initial blockchain implementations, and both data and programs in some of the more recent implementations—with each block holding batches of individual transactions and the results of any blockchain executables. Each block contains a timestamp and information linking it to a previous block.

最早区块链技术雏形出现在比特币项目中。作为比特币背后的分布式记账平台,在无集中式管理的情况下,比特币网络稳定运行了近八年时间,支持了海量的交易记录,并未出现严重的漏洞。


基本原理

区块链的基本原理理解起来并不难。基本概念包括:

交易(Transaction):一次操作,导致账本状态的一次改变,如添加一条记录;

区块(Block):记录一段时间内发生的交易和状态结果,是对当前账本状态的一次共识;

链(Chain):由一个个区块按照发生顺序串联而成,是整个状态变化的日志记录。

如果把区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。


如果说金融科技(Financial Technology,Fintech)是保障社会文明的重要支柱,那么账本科技(Ledger Technology,或记账科技)则是最核心的支柱基石。

无论是大到国际经济贸易,还是小到个人日常消费,都离不开记账这一看似普通、却不简单的操作。无论是资金的流转,还是资产的交易,实际上都是通过银行、交易机构中的账本记录来实现的。

可以毫不夸张地说,整个人类文明的发展历程,都伴随着账本科技的不断演化。

然而,关于账本科技的演化过程,目前还未见到相关研究,这也导致了人们对其认知的局限。特别近年来,以区块链为基础的分布式账本技术飞速崛起并得到快速应用,尽管如此,却很少有人能说清楚区块链到底因何而来,它解决了账本科技中的哪些问题,以及为何它能在金融领域产生如此巨大的影响。

笔者尝试按照科技创新的特点,将账本科技从古至今的演化过程大致分为四个阶段:简单账本、复式账本、数字化账本、分布式账本。各个阶段的时期和特点如下表所示:


下面笔者将具体讲述不同阶段中账本科技的发展状况。

阶段一:简单账本

在人类文明的早期,就已经有了记账的需求和活动。

最早的账本是 “库辛(Kushim)泥板”,于 1929 年发掘于幼发拉底河下游右岸的伊拉克境内。据鉴定,库辛泥板属于公元前 3500 ~ 前 3000 年的乌鲁克城(Uruk,美索不达米亚西南部苏美尔人的古城),其上的文字记录内容为 “37 个月收到了 29086 单位的大麦,并由库辛签核”。如下图所示:


库辛泥板是目前已知的最古老的人类文字记录。另外,包括古中国、古埃及、古希腊、古罗马等古代文明,也不乏跟账本相关的考古发现。

类似通过单条记录进行账目记录的方法,被称为 “简单记账法” 或“单式记账法”。此后相当长的一段时间里,人们都是通过简单记账法进行记账,无论是早期记录在泥板、绳索,还是后来的纸质账本,虽然所用的物理媒介不同,但核心方法都是一致的。

简单记账法自然易用,适合小规模的简易账务,但当面对大规模、特别是涉及到多个实体的记账需求时,就暴露出了不少问题:

  1. 容易出错。以库辛账本为例,如果经常发生大麦入库和出库交易,当记录很多时,很难确认账本上记录跟实际情况是否匹配;即便发现不匹配,也很难找到是哪次记录出了问题。
  2. 容易被篡改。由于账本只有一个,只能保管在个人手里,假设记账者不那么诚实正直,那么,他可以轻易地通过修改已有的单条记录来从仓库中盗取大麦。并且同样的情况下,几乎没办法知道账本是否被篡改过。

随着商业活动的增多,交易规模增大和参与方的增多(特别是所有者和经营者的分离),简单记账技术已经越来越无法满足人们的需求。代表现代记账技术核心思想的 “复式记账法” 应运而生。

阶段二:复式账本

14 世纪的意大利,是世界贸易的门户,来自各国的商人、学者、艺术家、工匠齐聚于此,揭开了文艺复兴时期的序幕。此后长达三个世纪里,整个欧洲涌现出大量商业、文化、艺术、科技多方面的创新成果,对全世界都产生了深远的影响,例如:

  • 宗教改革:马丁 · 路德批判了当时基督教的诸多弊端,提出宗教不应有等级制度,即宗教面前人人平等,无需任何代理人或中间人。
  • 宇宙观形成:从地心说,到日心说,再到形成宇宙观,人类终于意识到自己并非所处世界 “中心”,同时任何位置也可以说是宇宙的 “中心”,但这并不特别或重要。
  • 复式记账法出现:将单一中心记录分拆为多个科目,提高了篡改记录的难度,并且方便追查错误根源。

这些成果分属文化、天文和金融等不同领域,但在核心思想上却如此一致和谐,不得不令人惊讶。

关于复式记账法最早的文字记载出现于 1494 年意大利著名数学家卢卡 · 帕切奥利(Luca Pacioli)的著作中,演化到现在包括增减记账法、收付记账法、借贷记账法三种。目前最常用的是借贷记账法,它基于会记恒等式(资产 = 负债 + 权益),确保每笔交易都按照该恒等式进行记录。

复式记账法原理并不复杂。由于交易的本质是某种价值从来源方转移到了目标方,因此可将每笔交易分别在借方(目标方)和贷方(来源方)科目进行记录,且借贷双方的总额应该时刻保持相等。

使用复式记账法,库辛如果再收到大麦入库,会分别在 “库存大麦科目” 和“应收大麦科目”上都进行记录,并且两个科目的数额是一致的。如果要做审核,可以分别对不同科目进行统计,最终所有科目的结果应该保持一致。

可见,使用复式记账法能很容易的追踪交易的来龙去脉,而且可以容易验证账目是否记录正确。复式记账法一经出现便得到了广泛的应用,成为现代会计学的重要基础。

注:借(Debit):意味着债务,表示从其他方转移到本科目内;贷(Credit):意味着债权,代表从该科目转移出去。

阶段三:数字化账本

如果要评价 20 世纪最伟大的十大发明,数字计算机的出现一定会入围。它在物理世界之外开创了全新的赛博空间,为社会的方方面面都带来了巨大变化。

早期的计算机,很重要的一个用途便是进行账目相关的统计处理。1951 年,全世界第一台商用计算机 UNIVAC,即为美国人口普查局所使用。

使用计算机,不但可以提高大规模记账的效率,而且可以避免人工书写的错误。为了更好的管理统计数据,人们发明了专门的数据库技术。从最早的网状数据库(Network Databases)和层次数据库(Hierarchical Databases),到开创意义的关系型数据库(Relational Database),再到互联网出现后大量新需求催生的大数据、NoSQL 等技术,根源上其实都与记账息息相关。

在这一阶段,记账方法本身的思想并没有太多创新,但由于数字媒介的出现,使得账本的规模、记账处理的速度、账本的复杂度,都有了天翻地覆的提升。而这直接为后来包括电子商务、互联网金融在内的多种数字化服务奠定了核心技术基础。

注:关于 NoSQL 的理解曾发生数次变化:Not SQL!(不支持 SQL!);No,SQL!(不,还得要 SQL!);Not Only SQL(不仅仅是 SQL!)。


阶段四:分布式账本

复式记账法里虽然记录了每笔交易的来龙去脉、不宜错误、也十分方便统计,但仍然是中心化的模式。

中心化模式的账本结构方便使用,但在很多情况下仍然存在不少问题:账本掌握在个体手中,一旦出现数据丢失则无法找回;同时涉及到多个交易方的情况下,需要分别维护各自的账本,容易出现不一致、对账也较困难的情况。

由此可以很自然的想到,可以借助分布式系统的思想来实现分布式账本(Distributed Ledger):由交易多方一起来共同维护同一个分布式账本;打通交易在各个阶段的来龙去脉;凭借分布式技术,进一步提高记账的效率和可靠性。但在分布式的情况下,如何避免参与方恶意篡改或破坏记录?如何决定该由谁来将交易记录写到账本中?这些问题一直没有得到很好的解答。

直到 2009 年 1 月,基于区块链结构的比特币网络悄然问世,此后数年里,在分布式的场景下稳定支持了大量的转账业务。这让人们开始认识到,区块链这一极为简洁的数据结构,居然恰好解决了分布式记账的基本需求。目前,基于区块链结构的分布式账本解决方案,也往往被简称为区块链技术。

从 2014 年开始,金融、科技领域的专家们越来越关注区块链相关的技术,尝试研发基于分布式账本技术的解决方案。

2015 年底,三十家金融、科技领域的巨头企业们(包括 IBM、Accenture、Intel、J.P.Morgan、DTCC、SWIFT、Cisco 等)联合成立了超级账本(Hyperledger)项目,由 Linux 基金会进行管理,遵循 Apache v2 许可,致力于打造一个开源、满足企业级应用的分布式账本科技生态。目前围绕企业分布式账本的核心诉求,已经发展到 9 大顶级项目,超过 200 名来自全球的企业会员,并支撑了众多的探索和落地案例。

目前,基于分布式账本技术的各种创新方案已经在包括金融、供应链、医疗等领域得到了不少落地应用。但笔者认为,类比互联网科技的发展过程,目前分布式账本技术还处于发展的初期,还存在不少尚待解决的问题,包括权限管理、隐私保护、性能优化和互操作性等。在这些方面的科技突破,可以极大拓展分布式账本技术的应用场景和形态,真正实现传递 “价值” 的商业互联网络。

注:超级账本项目中来自中国的企业会员已经超过 40 家,包括万达、华为、百度、腾讯等科技巨头。

注:互联网自诞生之日起用了十余年时间才从内部的 ARPA 网络演化到互联可通;又用了十余年时间才打造了包括 TCP/IP 等在内的基础架构和协议;在其三十岁生日时才可以开放接入,开始支持商业应用场景。

从区块链到分布式账本

随着最前沿的信息科技成果不断融入金融行业,以区块链(Blockchain)为基础的分布式账本科技(Distributed Ledger Technology,DLT)崭露头角,并在部分场景(如跨境支付)中得到探索和落地。从最早的简单账本到复式账本,再到数字化账本,以及目前正在探索的分布式账本,账本科技的每次突破都会引发金融领域的重要革新,也往往对社会生活的各个方面进一步产生阶段性的影响。

方兴未艾之际,理清区块链的来龙去脉和相关概念、研讨从区块链到分布式账本科技的演化规律,对金融领域正确看待和应用这一科技成果至关重要。

从分布式记账问题说起

分布式记账问题由来已久。

自电子计算机发明以来,数字化账本因为其便捷高效的特性很快就成为最主要的记账媒介。然而,数字化账本仍然是中心化的形式,这就意味着参与商业活动的多方首先要寻找一个能共同信任的第三方来记账,以确保交易记录的准确。

随着商业活动的规模越来越大,商业过程愈加动态和复杂(例如供应链领域动辄涉及来自多个行业的数百家参与企业),很多时候难以找到同时满足共同信任和隐私安全的第三方记账方,即便存在也往往需要较高的使用成本。这就需要探讨在多方分布式场景下进行协同记账的可能性。

实际上,从分布式记账问题出发可以很容易设计出一个简单、粗暴的分布式记账结构,如下图所示方案(一)。该方案中,账本为一个记录队列,由多方共同维护,多个参与方均对账本中记录拥有操作权限,并相互约定:一旦发生新的交易即追加到账本上,已发生的交易记录不得进行篡改。这种情况下,如果参与多方均诚实可靠依照约定执行,则该记账方案可以正常工作。但是一旦有参与方恶意操作,篡改已发生过的记录,则无法确保账本记录的正确性,并且他人无法获知篡改是否发生。


为了防止有参与者对交易记录进行篡改,需要引入一定的验证机制,核心为对已发生过的交易历史进行校验。很自然地,可以借鉴信息安全领域的数字摘要(Digital Digest)技术,从而改进为方案(二):每次当有新的交易记录被追加到账本上时,参与各方可以使用约定的摘要算法对完整的交易历史计算数字摘要,获取当前交易历史的 “指纹”。此后任意时刻,任何参与方都可以随时对交易历史重新计算摘要,一旦发现指纹不匹配,则说明交易记录被篡改过。同时,通过追踪指纹改变位置,还可以定位到被篡改的交易记录。


方案(二)可以解决账本记录防篡改的问题,然而在实际生产应用时,仍存在较大缺陷——不可扩展。由于每次校验需要从头对所有的历史数据计算数字摘要,当账本中存有大量历史交易时,数字摘要计算成本将变得很高。而且,随着新交易的发生,计算耗费将越来越大,该方案将无法支撑大规模的记账情形。

为了解决可扩展性的问题,需要进一步改进为方案(三)。注意到每次摘要时实际上已经确保了从头开始到摘要位置的历史的正确性,因此当新的交易发生后,实际上需要进行额外验证的只是新发生的若干交易,即增量部分。因此,计算摘要的过程可以改进为对旧的摘要值以及增量交易内容进行验证。这样就既解决了防篡改问题,又解决了可扩展性问题。



实际上,读者可能已经注意到,方案(三)中的账本结构实际上就是一个区块链结构,如下图所示。


可见,从分布式记账的基本问题出发,可以自然推导出区块链结构。这也说明了在分布式记账问题的解决中,区块链结构是一个简洁有效的答案。

当然,区块链结构并非唯一能满足分布式记账需求的结构。另一方面,为了满足实际应用场景的需求,还需要额外考虑如何维护可扩展的账本结构、如何对使用多方进行身份验证、如何进行权限管理、如何保护隐私…… 等诸多系统性的问题。


原文地址:https://www.pmcaff.com/article/index/1221687961202816



Report Page