如何用第一性原理解释可复制的共享式总账的价值
面神吐槽:第一性原理这个东西其实可以撕逼/科普/论战成一篇长长的东西。而作者的用法用了最文科生的用法,也就是说,在本文中,第一性原理就是不需要任何参数,只依靠最基本的常量/逻辑,从头推演,得到符合体系的基本性质的原理。话说既然如此作者你干嘛要用这么装逼的词,简单地说,“从零开始解释可复制的分布式总账的价值”不就好了……至于第一性原理到底是什么,量子物理学欢迎你入坑。
要解释共享式总账的重要性,我们根本不用涉及“数字货币”。
在本文中,我从第一性原理开展一个关于可复制共享式总账的讨论。本文作为一篇“科普文”写给那些,尤其是金融业内的,更喜欢用基于真实世界的商业模型来解释新技术,而不是用传说中的终极解决方案来解释新技术的人。因此,在本文中,你将不会看到数字货币等等被提及,因为当你讨论共享式总账技术的优势时,根本不需要提到那些。
我们从银行系统开始
我们从今天银行系统的现状开始。下面,我以银行的存付款为例。但是同样的逻辑在其他领域一样是可行的,我们在后面会讨论到。
让我们想象,世界上有三个银行:银行A,银行B,和银行C;两个顾客:顾客A和顾客B。每一个银行都有独立的信息系统,来核算自己的收支情况。这样的世界与我们的真实世界是很相像的。
因此,银行A的信息系统记录银行A的客户的账户收支,银行B的信息系统记录银行B的客户的账户收支。以此类推。
图示的话,大概会是这个样子:
从上图我们可以迅速的看到很明显的两件事:
第一,记录的重复性。看看银行A和银行B,银行A的系统记录着,银行B欠银行A一百万欧元。而银行B的系统也记录这个事实。也就是说同样的事实被两个独立发展,运行和操作的系统,记录了两次。而在其他领域,这种重复更加庞大也更加昂贵,我们会在下面谈到。
第二,看看顾客A,他在银行A和银行C有存款,而在银行B是处于透支状态。换句话说,银行A和银行C欠顾客A钱,那么是谁记录这个欠钱的事实呢?银行A银行C自己!我们习惯的将这种情况视为理所当然,但是,总是哪里不对劲吧,顾客A不得不相信这两家银行会妥善处理自己放在银行的钱,银行会保持所有记录的准确。感觉顾客的利益与银行的利益有时候会冲突呢,如果有那么一……
因此我们看到了两个有趣的现象:存款方不得不相信银行会妥善保管存款,并准确记录账户信息。而银行自己也不得不花费大量的时间和金钱来建立一套系统,以相信自己可以妥善保管顾客的钱并保持账户信息的准确。然后银行会花费更多的时间和金钱,互相检查,以保证他们的系统可以达成共识。
即便是在我们简单的模型里面,也有7个独立的匹配要被核实。
银行“事实”通常最少要由两个不同的实体记录,并且需要昂贵的重复确认过程来保证各方的记录是一致的。
不仅仅是银行存款,保险业和衍生品市场也是同样的模型。
这个故事是关于银行的,但是同样的故事套在保险业和金融衍生品系统也是完全合适的。事实上,在后者,这个模型带来的问题会更加严重:我们不仅仅需要确认谁和谁做了什么样的交易,还要确认他们以及他们的系统都同意交易带来的结果——他们一定要在商业逻辑上达成一致。
想一想在金融领域有多少几乎一样的系统存在,每一个都几乎无差别的运行,制造更加几乎无差别的结果,这些结果不得不以昂贵的方式检查和解决。这个花费是十分巨大的.
回到银行的故事
我们暂时专注于银行的故事。
我们上面已经看到的5个独立账本,我们可以对它们做一些有趣的事。我们可以换一种方式写账本,可以把所有的信息存储在一张表格中,而不是分布在5个不同的表中。
左边的5张分开的表格,可以完全等价的写成,右边单一的表格,反之亦然。唯一的不同是右边的表多一列,这样我们就可以记录一项宣称的发起者和承担着。
换句话说,相对于由不同的银行分别持有所有事实的一部分,我们可以用一张表记录一切,并且得到与原来的方案同样的结果。
那么为什么世界上没有采用单一的银行总账呢?
这就带来了一个有趣的问题。如果每一个银行都运行自己的系统,是如此的昂贵和复杂,并且不可避免的带有局限性,不得不在与其他系统重叠的部分反复检查以互相匹配。那为什么不直接让大家都使用,由大家都相信的某权威运行的一份统一单独的总账呢?
毕竟,就像我们上面展示的,任何银行都可以容易的从这个荟萃到一起的总账本中找出与自己相关的部分,毫不费力。
当然,我们将不得不好好想一下,怎样协调这个系统——谁可以被允许读取或者更新什么记录——但是我们知道怎样做这些事……这并不是关键的问题。
你疯了吗?!
很容易说这样的一个东西将会是疯狂愚蠢的:想象一下运行这样系统的公司将会拥有多大的权力,想象一下如果系统运行中断,会带来怎样灾难性的影响!也许今天我们使用的昂贵、易错的系统是值得付出的代价,因为从另一个角度讲,这个系统是去中心和强健的。
但是这又带来了一个有趣的问题:如果有办法获得全球分享的总账系统的好处,又不必为怎样控制这个权力巨大的运行者带来的政治问题伤脑筋,不必担心这个重要的中心机构崩溃的风险,岂不是两全其美?
也许真有这样的办法……
可复制的共享式总账
记住我们在上面的图表中得到的内容:我们创造了一个单独的表格,可以记录所有银行的收支情况,并且它天然是可共享的:不同的参与者可以有不同的权限更改相应的部分。
但是对这一部分的担心是,全球共享的账本可能被单一的强力实体控制,还有中心化的系统可能会有系统性的风险。因此我们可不可以对模型做两个微调?
第一,为什么不大量的复制账本?这样,不是一份拷贝,我们有大量的拷贝,也许每一个银行都有一份。这样,单点出现故障就不会影响总体。我们可能会担心这么多份拷贝如何实现同步,当然,每一个银行都有一个总账本也许能使现存金融机构的整合变得更容易。也许这也能推动新系统的接受度。
第二,为什么不将这个系统的参与者——也许仅仅是银行,也许还包括银行的顾客——一起参与进来为保持和守护这个系统负责呢。毕竟,我们知道这个世界上其他人是谁,如果他们欺骗,我们知道该去惩罚谁。因此我们将一个单一权力的实体替换为每一个人都参与系统安全的新模型。
如果是这样的话,也许图片看起来是这样的:
如果一个全球化的分享式总账存在风险,那么将它给所有的参与方复制一份就是各方最好的选择。现在问题变成了自动保持系统同步,而不是核对和处理交易。
上面的图看起来很像我在文章一开始画的第一幅图。但是他们有一个根本的区别。在这个模型中,所有的参与方都有一份总账的拷贝,但是只有修改自己部分的权限。因此它既是可复制的又是分布式的。
这就是我为什么将这个概念称作“可复制的共享式总账”。我想这个词比“分布式总账”更能使人们联想到正确的模型。
至于你是否要在不同参与者之间建立余额,或者其他资产或者其他合约的模型,很多创业企业已经在做这方面的工作。我去年写了一篇文章试图有所贡献,自那以后这方面的内容越来越多。
【面神吐槽:作者就这样跳过了账本间如何保持同步的问题……】
“智能合约”
尤其值得注意的是,将“商业逻辑”添加进这个概念中是很重要的:这样被记录的“事实”就不再仅仅是谁欠了谁什么,还有双方的合约。
“智能合约”带来了有趣的可能性:这样一个新世界,衍生品交易的对手方通过一段共享的代码来代表他们之间互相订立的合约,并且合约在共享的可复制的总账上实行——也许这完全消灭了建立、维持、运行并核对他们自己的衍生品交易平台存在的必要?甚至可能允许代码自动在总账上托管资产,管理现金流和利润?
问题
但是我要强调,这种方法随之而来的是很多技术问题:这不是一个毫无争议的主意。比如,在千奇百怪的场景下,复制技术会如我们描述的那样完美运行吗?我们如何保证一个银行(或者顾客)不能看到(或者修改)其他方的信息?这样的系统可以承载多少数据?将有法律效力的合约用代码书写而不是用英语,真的是个好主意吗?
结论
在多个地区的银行系统中,确实已经出现了不少昂贵的复制系统的例子。共享式总账的理念有其存在的必然,因为参与方的复制可以成为降低风险和促进互利行动的机制。但是这个论点是否站得住脚还需要在实践中检验。因此我十分乐意,在未来的时日里,见到银行和其他方面进行越来越多的这方面的实验。
作者:Richard Brown
译者:面神护法
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場