从中本聪的白皮书来重新审视区块链

2016-01-19 11:38 来源:区块链新经济 阅读:4815
随着我们临近2016年,感觉关于区块链的讨论层出不绝。甚至在主流媒体也越来越多地提及这个词汇,单在互联网金融领域就有一大票自称是服务提供商和用户的人,他们断言区块链将会对众多应用产生革命性影响。

 

翻译:身高差信号满格   

  随着我们临近2016年,感觉关于区块链的讨论层出不绝。甚至在主流媒体也越来越多地提及这个词汇,单在互联网金融领域就有一大票自称是服务提供商和用户的人,他们断言区块链将会对众多应用产生革命性影响。

  由于这个名词被越来越多的人使用,我们必须明确它的定义,帮助人们更好地理解它,但是这更像一个口头禅,而不是更深层次的理解。

  互联网空间内各种意见争的不可开交,但是很令人失望,我们无法找到一个统一的意见。区块链不仅仅是市场的一个夸张时髦词汇,我们必须回答一些问题。

  区块链是什么?它又不是什么?它可能会是什么?我们能否借助它,建立一种全新的和持久的系统?简而言之,什么是区块链的精髓呢?

中本聪的白皮书  

  几乎所有关于区块链的讨论都缘起于中本聪的白皮书,但是正是这个基础导致了我们产生了混乱。不管应该叫“区块链”,还是“区块 链”,这本书中提到“区块”67次,“链”27次,但是“区块链”或“区块 链”的次数是零。先把这放在一边,我们看看这本书把我们引导了哪儿。

  这本白皮书很短,只有9页纸。第一次提及“区块”和“链”是指第2页下方,第3章节,那里讨论了时间戳服务器的原理。在这之前,作者在书中描述了与比特币相关联的一系列设计目标,例如两方在不需要信任和第三方的条件下,实现交易。

  论述设计目标非常重要。它为之后介绍实现这些目标的应用做了铺垫。这种应用的特点为一层叠加在另一处之上,我们仅仅需要了解每一个新分层的作用是什么。

  在我们寻求解答区块链本质的时候,我们必须仔细查看事物的属性,而不是这些事物第一次应用的特点。

交易

  白皮书的第1章节是整本书的介绍,与第2章节相同,那里没有任何有价值的东西。第2章为数字货币做了铺垫,但是作者描述到,在一个交易链中,“币”被分配给新的所有者。在这里“币”只是关联交易历史的一个比喻。

  有意思的是,第2章节同样描述了一个中心化的系统并不需要完成上述操作。

区块与链  

  在第3章节中,我们看到了设计模式的精髓,我们可以将其视为区块链基础的最好的描述。 作者设计了一种可增编的数据块,每一块都有一个哈希加密代号,该代号与其内容相关。此外,每一块可以与其之前的数据块的加密哈希值合并,这样保证了整个链条的建设。

  公布的区块哈希值,可作为区块数据和其前一块区块哈希值存在的证据,在网上为众人公开。如果改变前一区块或者整个区块内的其他数据,系统将会生成一个不同的区块签名,该签名将无法与之前公众见证的哈希值相符。

  这些特点是整个设计的基础,如果没有它们,我们将不可能建造出任何有趣的东西。另外有趣的是这里没有提及的一些东西。这里没有提及“币”, 没有提及点对点网络,没有提及挖矿,等等。相反,作者认为以广泛的方式公布这些哈希值就已经足够了,他给出了两个例子,在报纸上或在用户网上公布。

  但我们发现一些特点,引导我们推测隐含的意思:

  除非外部的观察者,获得链条中区块的数据后,独立的进行计算,得出相同的哈希值,那么这种哈希值得公布才有意义。外部的观察者不需要去信任区块链的创作者,他们仅仅需要自己对比历史哈希值即可。

重新计算哈希值要求一种特殊算法,而区块正是基于这种算法而生成的。如果没有这种算法,外部观察者是不可能重新计算哈希值的。

使点对点成为可能  

  在下一章节,第4章节,白皮书论述了工作证明。第一行字非常有趣:“想要在点对点(P2P)基础上布置一个分布式的时间戳服务器,我们必须使用一种与Adam  Back Hashcash相似的工作证明系统。建立区块链不需要工作证明,工作证明只是为了确保时间戳服务器的布置。

  随后的加密货币设计证明还有其他的方法可以使用(例如:权益证明,或者两者的混合),但是如果我们觉得客户-服务器模式已经符合要求,上述几种方法就没有任何必要了。

  我并不是说工作证明在区块链设计中没有其他的用处,但是似乎对我们的问题不是很重要。

网络和之外的其他内容  

  第5章节描述了比特币网络的应用特征。这里并没有明确,或者要求扩展区块链的概念。此外之后的6,7,8,9,10,11或12章节(最后一章节)也没有对区块链提出任何新的想法。

回答我们的问题  

  如果中本聪的白皮书是区块链设计的源头,他给我们留下了一个单薄的定义,也许这是最启迪人的方面。作者对特殊设计选择和它们的目的解释的很明确,我们似乎可以得出:区块链的各种论述可能仅仅是一个应用,而不是一个结构的问题。

  以下是一些具体的问题!

区块链必须要“币”的参与吗?  

  为P2P网络提供安全的参与者,应怎样提供激励以确保他们诚实,是否在系统中引入“币”,白皮书中对此有一番精彩的讨论,但是很明显,讨论是在P2P网络的框架内。书中认为“币”的概念是不必要的可信任的“巨款”。

  可信任的巨款非加密货币所愿,但是如果我们想要建造一个加密链接的区块链,我们似乎不需要“币”。这是一个关于信任的问题,我们待会回来讨论。

区块链必须包含智能合约吗?  

  从白皮书的角度,这不太可能。白皮书中未出现“合约”一词。

  区块链上可以运作智能合约吗?当然,区块链还可以运作其他的很多内容。

区块链必须是可编程的?  

  同样,这个问题的答案似乎是不。 白皮书中既没有出现“程序” 也没有出现 “脚本”。

  区块链的确对可解释性有要求,区块链必须能被一个或数个独立观察者所解读,所以区块链是建立在一个或多个定义明确的数据结构。本数据区块结构必须包括前一个区块哈希值,而且区块的加密哈希必须遵循一种特殊的方式,但是上述原则中没有任何一条要求数据结构含有可运行编码概念。

  区块链能够包含某些形式的程序编码吗?这是一个执行的问题,答案为是。比特币包括一种有限度的脚本语言,而其他系统,例如随后的以太坊,尝试着去支持更复杂的程序模式。

  如果能设计区块链从而支持这些概念,那么这种设计非常有雄心。 但是区块链似乎需要更可程序化,而不是其他关联数据列表结构。

区块链是数据库吗?  

  另外一个答案是否定的问题。如前文,“数据库”这个词没有在白皮书中出现。

  区块链的核心是一种特殊类型的数据结构。链条内的区块包含数据,但是我们不能将其看做数据库;区块链最多是代表特殊数据应用的一种交易记录。

  同样,不存在对区块链语义上的质询,也没有对关联列表的质疑。一种特殊的应用也许会允许质疑,但是应用不能定义事物本身。

  作为一个比较点,TCP信息包的IP信息包中包含这种要求,我们定义它们是一连串IETF(互联网工程任务组)RFC (置评请求)中的数据结构。上述两个文件描述了信息包的形态和传输信息包时,信息包的行为。信息包接收方,可在没有任何他们与信息发起者之间网络参与的情况下,自己确定信息包是否有效。

  任何路由器、防火墙都可以接收这些信息包,然后稍后进行分析,这些仪器或提供信息表的数据质询,但是尽管IP信息包有上述特性,我们并不把它当做数据库,RFC中也没有任何内容可让我们推导到它是数据库的结论。应用特性和自我属性是完全不同的两码事。

区块链不需要人与人之间的信任?  

  这里的答案依然是否定的,但这个问题太宽泛了。借助区块链,与以往传统系统相比,我们的确需要的信任更少,但是区块链的任何应用的执行仍然需要某种程度的信任。

  接收方必须信任,数据区块的传送过程中没有被任何中间方改变破坏。 建立比特币内的区块链P2P分布网络和其他网络,其目的是降低人与人之间的信任要求,但是即使是这种模型,依然有某些潜在失败点,举例如下:

·          我们信任区块链软件,相信它在运行中不受破坏,而传输的是非伪造的数据。

·          我们信任运行区块链软件的运行系统,它在运行中不受破坏,而传输的是非伪造的数据;

·          我们信任为系统提供网络的中央处理机,相信它不受破坏,而传输的是非伪造的数据。

 “我们相信编码”是一个有趣的口号,但是恶毒软件,间谍软件等已有超过30年历史,我们依然需要对这种战略持有可疑态度。

  区块链设计不能加大伪造的难度,但是可疑大大降低偶然失误的可能性。我们可以“信任加证明”(在界限之内),这已经是对盲目信任的巨大改进。更为重要的是,这些消减信任的特点不是P2P网络设计的特征,但它们是区块编码的本质。

区块链不需要许可或需要少量许可?  

  区块链只是数据结构,所以实际上这个问题无意义。谁具有在数据结构上阅读或编写的能力完全是不同的问题。

我们先放下这个微妙的区别,但是作为问题,似乎有意义。考虑比特币的例子,谁在编写区块链?

  答案是那些矿工(或更明确些,区块创造者,例如矿池操作者,而不是那些制作哈希区块的人),他们在编写新的区块。网络上的处理工提供备选交易,以便编入区块,但是他们不保证区块中包含这些交易。在比特币中,我们将其称为“未经允许”,因为没有任何人需要明确的许可以成为区块创造者。

  如果我们考虑区块链设计的其他潜在应用,其中有一伙明确的参与者,他们希望能够编写区块数据。但在很多情况下,甚至只有一个参与者。

  这种对区块链潜在用途的批评,让区块链比数据库好不到哪里去,但是传统的数据库中,必须有盲目信任的一席之地,但是区块链的内在状态一般不为人所知。甚至是区块链最简单的用途可以至少为系统提供一种验证方法,为了完成验证,必须确保历史能够被验证。但这只是多种可能的开始!

区块链是网络货币吗(或者是其他事物的网络吗?)  

  从实际上来说,不会,或者至少它自身不会。

  当我们看到“不是数据库”的表述时,我们同时也触及了为什么这个论断不对。从表面上看,论据比较吸引人。有一种看法是,我们可以在区块链之上建立很多技术,如此,一个网络叠加就是一个层。

  这种建议里有很多问题,但最明显的是区块链仅仅是一个数据结构。利用区块链,我们可以在互联网顺利地传递信息,但是区块链并不能生成其内在和外在的任何事物。

  将区块链与区块链的传送区分开来, 的确为区块链给出更多希望,即区块链可以帮助创造更有效的互联网金融应用。一个清晰的区分同样让设计系统上每个分层的试验变为可能,这个也是当年确保互联网成功的关键特点之一。

  利用互联网,网络堆叠的各层可以实现替换或更改,确保最好的设计胜出。与此相似,以标准为基础的方法,确保不同的应用能协同工作,而不丧失货币化的商业优势。

  区块链的例子,我们已经发现已经存在对外部观察者的必要支持,这需要某种程度上的协同。

最后的几点想法  

  我们已经研究了区块链可能是什么,或不是什么,区块链能实现什么,可能大家已经发现了一些线索。我们可以将支持比特币的技术用来做很多事情,比特币的遗产不能仅仅是它自己—它已经为我们展示出了一个更基础的性质。

  什么构成区块链的讨论不会就此结束,但是我们必须推进讨论,我们必须遏制它变成另外一个市场时髦语的冲动。

  要实现上述目标,我们不仅需要明确的定义,还需要合理的使用。我们应避免混合很多不同想法,我们需要那些可行的和可以达到的技术。如果我们失败,“区块链”这个名词将没有任何意义,必须被取代。这将为一个错误的结果。

  如果我们成功,那么区块链的想法将不是故事的结尾。区块链将会是一个分层,之后会有更好的,更有用的系统建立在它之上。


声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。

点击阅读全文