区块链:超越真实与信任的革新技术

发表时间: 2020-02-12 20:08

众所周知,区块链的最大特点就是去中心(介)化和不可篡改,因此很多人将区块链等同于无法造假与真实。不过当区块链加成的是虚假数据时,我们还能说区块链加成后的信息就是真实无误的吗?

一、信任的条件

现实生活中,一件事情如果源头是可信的,过程也是可信的,那么结果一定也是可信的。

因此如果区块链能产生信任,那么在流程上有两个关键条件:

  • (上链前的)数据是真实的
  • (上链后的)数据是不可篡改的

满足“数据是真实的”这个条件,大概有两种方式:

  • 可以验证:同样的输入导致同样的输出。比如1+1=2,比如print(‘hello world’),比如SHA256。此时本质上是对数学的信任,且因此产生了信任
  • 有人保证:有权威机构为此负责。比如公证机构称,小明向慈善组织捐赠了10万元,并提供了转账记录。因为银行是可信的,机构是可信的,因此该行为是可信的。此时本质上是转移了信任

二、区块链中的信任

区块链可以分为公有链和许可链。但任何区块链都包含三个层面:交易,区块,链。

一笔交易通过付款人的数字签名(或引用上一个交易的UTXO再签名)来确保交易本身的不可篡改,通过打包到区块、连接成链来保证整个交易链条的不可篡改。

因此,在大多数情况下,区块链是不可篡改的。但区块链是否可信任,取决于交易中的数据是否真实。

1. 比特币

比特币的交易主要是转账,每一笔转账都可以通过锁定脚本和解锁脚本追溯到由系统生成的coinbase,所在区块有一个通过消耗电力且得到大多数节点验证的挖矿的解,所有人都可以验证其真实性且不可篡改。

但如果你在比特币系统中写下“为了部落!”,其他人其实没法验证你是否真心为了部落,只能看到你写了这句话。

因此比特币在转账上是可信任的,但只是一个可信任的支付系统。

2. 以太坊

以太坊的交易主要有转账和智能合约调用两种方式,其转账方式和比特币略有不同但也是可信任的。

而对同样的输入,智能合约计算出来的结果是确定(但不能保证计算的输入是真实的),所有人都可以验证,且不能更改。

因此以太坊是可信任的支付系统和可靠的计算系统。

3. fabric

那联盟链,如fabric,是可信任的吗?

fabric的交易(提案)主要是调用智能合约(链码),按我的理解,是某事在区块链中的记录。

fabric在信任方面的改变主要在许可、多通道和节点的分拆:

(1)许可指参与的节点在加入前需要认证和许可

(2)多通道指不同节点之间可以建立独立的“链”,保证节点业务的隔离和安全性

(3)节点分拆为背书节点、排序节点和提交节点

  • 背书节点负责对交易进行背书和确认
  • 排序节点对交易进行排序并打包生成新区块
  • 提交节点对交易进行(格式上的)校验并追加到区块链

可以看出,fabric中对交易的验证,实际上主要是节点的背书,即通过“有人保证”来保证数据的真实性。

因此联盟链本身只能保证数据的不可篡改和记账效率的提高,而不能保证数据的真实性。

三、善款溯源

近期看到的基于联盟链的善款溯源的应用,其目标是提高信息的透明度,从而提高公众的信任,主要有三个步骤:

  1. 背书:机构为数据进行背书并提交到区块链
  2. 记账:各节点记账
  3. 公开:在网络上公开数据

区块链参与其中,让各参与方共同维护同一个账本,可以优化各方的关系。

因为账本各方都能看到对方的行为,因此记账的节点要为自己所背书的数据负责,是对不作为机构的施压。

但从慈善机构的角度来看,可以分为公开意愿和公开能力两个维度。善款溯源的主要问题应该是机构的公开意愿。

如果慈善机构的公开意愿足够强,实际上有非常多的方法进行保证和公开来获得信任,而非一定用区块链。

比如直接在微博上公开某医院领取某物资的签字或回执,只要对方也通过一些途径进行公开确认就可以了。

再考虑到区块链目前的部署成本、维护成本、学习成本和迁移成本,在没有规模化的情况下,对比实际上能带来的效益,如果不是国家用行政手段强制推行,区块链在其中可能难以真正落地。

这也侧面说明了在某些场景下,区块链目前最大的需求在G端。

四、结论

综上所述,区块链能实现的,是去中心(介)化和不可篡改。

在特定场景下,真实的线上数据来源在区块链的加成下,可以让用户在无信任的状态下完成任务。

但在大部分场景,如果希望通过区块链获得信任,则需要保证数据的真实性,或者有权威机构对此保证(虽然这和中本聪的设想背道而驰)。

本文由 @Nix 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议