在8月20日的《寻找区块链力量》第三集中,在区块链投资界和产业界的两位传说中的人物:一位是创造了50万美元变成上亿美元投资神话的中国万向股份有限公司副董事长肖风;另一位是国内最大的区块链应用平台背后的一号位,蚂蚁集团副总裁蒋国飞,进行了关于数字资产投资的底层逻辑以及区块链技术与产业发展趋势的巅峰对话。
有一种说法是,要对一个行业具备初级的专业水平,需要掌握100个专业术语和认真掌握数个专家的逻辑思路。本文就来帮助大家深度解读《寻找区块链力量》第三集中提到的五个主要的概念:区块+链、可信分布式账本、预言机、跨链技术、分布式商业。在掌握了这些术语和概念后,再来读两位高手的对话,就更能看出他们的思路和逻辑。
1. 哈希计算是一个压缩任意输入字符串到固定长度输出字符串的数学计算,但却是不可逆的函数
1) 哈希函数是一个数学函数,具有以下三个特性:
a) 其输入可为任意大小的字符串;
b) 它产生固定大小的输出,假设输出值为256位;
c) 它能进行有效计算。简单来说就是对于特定的输入字符串,在合理的时间内,我们可以算出哈希函数的输出。更准确地说,对应n位的字符串,其哈希值计算的复杂度为O(n)[3]。
2) 哈希计算的三个特征保证了在当前的计算能力下不可逆
a) 特征1是碰撞阻力。碰撞指对于两个不同的输入,产生相同的输出。如果对于哈希函数H(.),没有人能够找到碰撞,我们称该函数具有碰撞阻力。没人能找到碰撞,不表示不存在碰撞。对于256位输出哈希函数,最坏的情况是2^256+1 次哈希函数计算,平均2^128次哈希函数计算,来用碰撞检测算法来发现碰撞。
b) 特征2是隐秘性保证。如果我们仅仅知道哈希函数的输出y=H(x),我们没有可行的办法算出输入值x。
c) 特征3是谜题友好。如果有一个人想找到y值所对应的输入,假定在输入集合中,有一部分来自于随机数,那么他将非常难以求得另一部分,使得两部分串联起来正好是y值对应的输入。
3) 哈希与加密计算的不同方面在于固定输出和不可逆
a) 哈希算法往往被设计成生成具有相同长度的文本,而加密算法生成的文本长度与明文本身的长度有关。
b) 哈希算法是不可逆的,而加密算法是可逆的。这里的不可逆有两层含义,一是“给定一个哈希结果R,没有方法将R转换成原目标文本S”,二是“给定哈希结果R,即使知道一段文本S的哈希结果为R,也不能断言当初的目标文本就是S”。加密则不同,给定加密后的密文R,存在一种方法可以将R确定的转换为加密前的明文S。
2. SHA256是一个被比特币采用的哈希函数,把768 bits压缩到512 bits
SHA-256采用MD(Merkle-Damgard)变换,用一个压缩函数(固定长度,具备碰撞阻力的哈希函数)把768位的输入压缩成256位的输出,每一个区块的大小是512位(图1)。
图1 SHA256生成512bit区块的原理
3. 链式结构指的是前一个区块的哈希值放到当前区块的顶部256 bits
哈希指针是一种数据结构,指向数据存储位置及其位置数据的哈希值的指针。哈希指针不但告诉数据存储的位置,还给出一种方式,验证数据是否被篡改过。通过哈希指针构建一个链表,这个数据结构称为区块链。一系列区块,既有数据也有一个指向上一个区块的哈希指针。每个区块不仅告诉上一个区块的值,还包含了该值的摘要,使我们能验证那个值是否改变(图2)。
图2 由哈希指针连接起来的链式结构
区块链的一个功能是“防篡改日志”。建立一个储存很多数据的日志数据结构,能将数据附加到日志的末尾。如果有人篡改日志前的数据,我们就可以检测到。
4. 蒋国飞对于区块链的解读是对区块链功能的一种抽象描述
蒋国飞说:“所以在这个过程中,在各种产业中,区块链作为一种技术始于区块Block,其核心是Chain(链接)。BlockChain,Block就是技术,Chain就是链接,它与产业链接以后可以作价值的交换。”
我们可以看到,蒋国飞是把区块链的底层技术比喻成区块,其功能和价值总结成了链接。
1. 从CAP定理到区块链不可能三角
比特币是第一个实现的全球公链应用,但是由于分布式CAP定理依然对于公链系统成立(图3),所以公链的性能受到了极大的限制。也就是在Availability:可用性、即时响应();Consistency:一致性、数据正确;Partition Tolerance:分区容错,分布式一定存延迟,错误,断网等三个纬度上不可能都满足。
图3 CAP定理
从CAP定理出发,经济学家研究区块链系统,提出了区块链不可能三角的假设(图4)。我们可以看到,为了获得更好的区块链的功能(可扩展性),最好的选择是控制验证节点的准入标准,从而在安全性得到保障的基础上,减少去中心化的程度。也就是说联盟链是区块链落地的最优选择。
图4 区块链不可能三角
2. 联盟链更适合于大规模的区块链的落地应用需要
公有链,是指对全世界所有人开放的,任何人都可以读取数据、发送交易且交易能够获得有效确认的共识区块链。在公有链上,各个节点均可自由加入和退出网络,并参加链上数据的读写,并且,网络中不存在任何中心化的服务端节点。
私有链,也称专有链。它是一条非公开的“链”,通常情况下,需要授权才能加入节点。而且私有链中各个节点的写入权限皆被严格控制,读取权限则可视需求有选择性地对外开放。
联盟链是指由多个机构共同参与管理的区块链。每个组织或机构管理一个或多个节点,其数据只允许系统内不同的机构进行读写和发送。联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入与退出网络。各机构组织组成利益相关的联盟,共同维护区块链的健康运转。联盟链适合组织机构间的交易和结算(图5)。
图5 公有链和联盟链
3. 蚂蚁链BAAS平台适合于大规模的区块链的落地应用需要
2019年6月上线的金融级区块链引擎BaaS服务平台,在一定程度上代表了蚂蚁集团区块链技术突破的成就(图6)。BaaS服务平台支持10亿账户规模和每日10亿交易量的“双十亿”级应用,以及每秒10万笔跨链信息处理能力(PPS),具有6倍于业界标准的同态加密算法。2019年,由蚂蚁链团队运营的阿里云BaaS被顶级咨询公司Gartner评选为全球6大领先区块链技术云服务商之一,在6个维度中获得高能力评级,综合排名第二,仅次于微软。
图6 蚂蚁链的架构
4. 在联盟链的平台上可以购建可信的分布式账本
在基础的功能模块上,可以结合不同的应用场景,来开发可信的分布式账本(图7)。
图7 可信分布式账本的概念示意图
区块链上数据的真实透明,不可簒改指的是数据上链之后。区块链无法保证上链的数据一定就是真实的。在很多应用场景中,区块链系统都需要与链下世界进行各种交互,数据免不了上链下链,所以预言机( Oracle)是区块链中非常重要的概念。预言机之所以重要,是因为它为区块链提供区块链以外的信息,满足实用的智能合约在运行时的必要条件。
1. 预言机是一种为区块链获得链外数据的机制或协议
需要用区块链来解决的很多问题都离不开预言机将真实世界的数据反馈送到区块链上。如果没有预言机,区块链就像是一个孤岛,不会和外界产生交换,无法在现实世界创造真正的价值。现实世界面临的很多可通过区块链解决或提高效率的问题,都需要预言机的帮助。预言机能够把现实世界的数据带到区块链上,触发智能合约的执行,产生有价值的结果。预言机是区块链实现商业化落地的关键。
预言机有多种应用场景,将会极大拓展区块链在现实世界的应用范围。所有需要与链外数据交互的非中心化应用都需要借助预言机,例如非中心化的衍生品交易平台、借贷平台、稳定通证、保险应用、赌场应用、预测市场等。
2. 预言机的一般工作流程
预言机的主要作用是为智能合约提供可靠的外部数据,其核心价值是在可信的基础上,使区块链与外部世界连接起来。理想状态下预言机的工作流程是接受请求、获取数据、返回数据。可供预言机查询的数据源一般有互联网的URL链接、搜索引擎、其他区块链的数据、星际文件系统IPFS的数据等。
理想状态下预言机的工作流程如下:
1) 接受请求。预言机接收到用户合约(USER-SC Contract)发送的请求Req=(Src,τ,q),其中Src表示查询指定的数据源,τ表示时间点或时间段,q表示查询的内容。
2) 获取数据:将查询内容q在时间τ发送到Src,进行查询;
3) 返回数据:一旦获得答案a,将a返回给智能合约使用。
图8 ChainLink白皮书里理想状态下预言机的工作流程
3. 预言机的设计需要考虑信息保密性、完整性、可获得性
实际应用设计预言机时,需要着重加以考虑信息保密性(Confidentiality)、完整性(Integrity)、可获得性(Availability)等问题。保密性是指智能合约向预言机请求查询的内容不会被泄露出去。例如非中心化的保险业务,用户或许并不希望预言机透露自己的航班信息给全世界;再如非中心化的衍生品交易,用户也并不愿意透露自己的投资组合和操作策略。完整性是指信息完整准确可靠,没有被有意无意地破坏、篡改。可获得性是指通过预言机调取数据时,可以及时得到所需要的信息。
预言机有多种类型,可以按软硬件进行分类、按中心化与否进行分类、按数据流向进行分类。目前市场上的预言机类项目主要为非中心化预言机 ,且多数都致力于支持多条主流公链。为了保障预言机信息的保密性、完整性和可获得性,不同项目采取了不同的方案,如ChainLink的方案是结合声誉合约、订单匹配合约和聚合合约,Oraclize是利用真实性证明,DOS Network采用了可验证随机方程和阈值密码学,而OracleChain采用了声誉和抵押证明。
四、 区块链的“局域网”是怎么通过跨链技术实现联通的?
各行业乃至行业中某个领域根据自身的产业结构构建不同区块链网络,每条链上都流转着相应有价值的信息与资产。但通常情况下,任何一个行业的价值都不可能完全孤立,往往有跨行业协作的业务需求,这也催生了区块链应用落地的一大挑战——多链信息孤岛。这也就是蒋国飞所说的区块链应用的“小蘑菇”,需要链接起来。
1. 跨链的信息交互要求在一定时间内原子事务状态一致
举一个资产跨链转移例子:基于区块链搭建的供应链金融平台上,流转着Alice的一笔应收账款资产,当Alice有转让需求,但接收方Bob却在另外一个区块链资产平台上,如果两个平台业务上相通且区块链平台具有跨链能力的话,就可以使Alice的资产在其链上销毁或者永久冻结,同时Bob所在的区块链平台确认Alice资产已冻结后,创建对等的合法的应收账款资产给Bob。这个过程的关键是要求Bob的区块链能“看见”且“认证”Alice的资产状态,进而诚实履行创建资产的任务。
整个跨链过程可以看成一个原子事务,一旦Alice资产永久冻结后,Bob所在的区块链就必须给Bob发行对等的资产。两条链上的状态需要在一定时间内达成一致,不能永久处在一个中间态,否则不能保障资产守恒以及不可双花等基本要求。
2. 跨链信息交互模型的设计
跨链需求的本质可以定义成这么一个跨链信息交互模型:链A上面的信息经过共识确定,可以安全可信地流转到链B中,链B可以认证信息,并且按照约定执行后续的跨链逻辑。
这就需要一种“可信连接技术”,能把一条链上的可信数据,真实可靠地告诉另外一条区块链上,中途能像区块链本身数据流转一样保证数据无法被篡改,那么两条链上的参与方就可以互信对方数据,就像是在一条链上一样进行可信的业务协作了。
要实现这个跨链模型,首要解决的核心问题是跨链消息的认证,常用跨链技术里可以使用「侧链机制」直接认证的,或者使用「公证人机制」间接认证;区块链间异构特性带来的数据结构差异,需要设计相关数据协议约定和引入桥接组件等方式解决数据差异性的问题;最后是完成跨链事务的设计,使得两条链上的状态能够安全达成业务的一致性,且该事务具有原子性。
在设计跨链的基础设施时需要考虑到三个重要的性能:
a) 跨链协议的安全性、适用性。异构区块链账本上的可信数据的数据格式、验证逻辑、验证信任根都是独立的,其规格可以通过区块链自身协议定义清楚,任意客户端包括另外一条链上的单位,原理上都可以直接认证。在实际跨链中更多存在中继者/公证人等角色做了一层“桥接”,桥接过程中完成原数据的安全认证、数据格式转化、数据重新声明等动作,本质上这些行为是一种「证明转化」:在不改变原有数据语义的前提下,进行数据格式转化、数据证明的转化、信任根的转化,以便于验证者安全简便地解析和认证跨链信息。
b) 统一的分布式自治跨链身份。身份体系是通讯的基础,目前很多跨链解决方案中并未重视区块链身份体系的搭建,区块链跨链标识往往只能在局部跨链使用,跨链作为面向万链互联的基础设施,区块链身份体系将会是重要基础。
c) 数据安全与隐私保护。隐私保护及数据安全是区块链面向实际场景的重要问题,而跨链流程往往意味着链上数据要面临隐私公开和数据要在安全域外不可靠流转等安全敏感问题。随着各类链上隐私保护方案的研究与落地应用,跨链要解决数据隐私安全问题也是面向实际生产场景的首要任务。
1. 分布式商业是平台经济发展的新阶段
平台经济(英文:Platform Economics)是一种基于数字技术,由数据驱动、平台支撑、网络协同的经济活动单元所构成的新经济系统,是基于数字平台的各种经济关系的总称。在平台经济1.0阶段,互联网平台的核心作用主要体现在连接双边市场、促进信息沟通、降低交易成本等方面。如电商网站连接了买家与卖家双边用户,提高了双方匹配效率。此时的互联网平台盈利模式较为单一,主要是广告。在平台经济2.0阶段,互联网平台的价值核心逐渐由搭建信息平台转向商业生态建设,孵化高价值商业生态业务成为平台发展目标之一,商业分成等盈利模式不断丰富。
在平台经济3.0阶段,随着 “互联网+”行动计划的出台,互联网平台与传统产业的融合加速,涉及领域和范围更广,包括协同制造、高效物流、智慧能源、现代农业等众多工业、农业、生产性服务业领域。这一阶段在金融、医疗、交通、住宿等垂直领域逐渐涌现出一批共享经济平台独角兽企业。BAT 等传统互联网平台企业已发展成为超级互联网生态企业。
分布式商业有一种定义为 “一种由多个具有对等地位的商业利益共同体所建立的新型生产关系,是通过预设的透明规则进行组织管理、职能分工、价值交换、共同提供商品与服务并分享收益的新型经济活动行为。”
分布式商业具备多方参与、共享资源、价值整合、智能协同、模式透明、跨越国界等特征。首先,需要多个中小企业共同参与,提供资源,整合价值要素,共同开展业务;智能协同,意味需要实现完全的线上自动化,能通过条件就能自动触动各个参与方的行为;模式透明,意味需要以技术破解信息屏障,确保收益的公平分配;同时,商业的地域边界也会渐渐消除,使得跨地区、跨国界合作更加顺畅。
2. 链改与分布式商业模式仍然面对机制设计方面的挑战
a) 发行没有内在价值的代币是不合规的行为。不与法币直接锚定的代币没有明确的内在价值,无法拉动数字经济生态闭环,无法实现链改、币改、生态激励。
b) 去中心化生产关系无法稳定确立。去中心化的生产关系仍然需要中心化的治理和拉动,利益相关方的博弈需要算法和治理机制的混合平衡。
图9 用Token拉动的分布式商业生态
分布式商业与协作,希望通过Token激励来创造更有效的需求和供给匹配效率,其挑战是Token价值需要通过激励机制拉动的有效经济增量来体现,然而有效经济增量在目前的机制设计中并不明显。而且基于智能合约的契约条款无法适应复杂的劳务关系合约。如图9中的用Token拉动的分布式协作关系很难落地运转。
完全去中心化的开发和运营协作几乎不可能创建有竞争力的商业生态。如果分布式商业要在未来3到5年取得大的发展,需要简化生产关系链路,用算法激励和良性治理机制相结合的生产关系创新来构建商业生态。
(备注:作者:邱明,是罗汉堂资深专家、前蚂蚁金服研究院副院长,许兰兰,是罗汉堂高级专家。)