EOS 的技术白皮书给出了应用所需的六个条件(如下所示),而 EOS 的软件设计的确是对应这些条件而设计的。本节我们将重点讨论 EOS 的其中三个为应用而做的特别设计:用户免费、账户体系、存储。
区块链应用的六个条件:
《EOSIO技术白皮书》翻译版:http://blog.eosdata.io/index.php/2018/04/28/eos-io-whitepaper-v2/;英文版:https://github.com/EOSIO/Do-cumentation/blob/master/TechnicalWhitePaper.md#accounts。
类似于互联网,让区块链变得有用的所有期待都寄托在应用上,通常人们也称之为去中心化应用(DAPP)。在讨论 EOS 为应用所做的特别设计之前,我们先讨论区块链应用或所谓去中心化应用的架构,这是区块链落地应用的最前沿,众人仍在探索。
对于应用的前景,在《区块链革命》一书中,唐·塔普斯科特曾展望道:“我们在进入数字化革命的一个新纪元,人们可以进行分布式软件的编程和分享。就如区块链协议本身是分布式的那样,一个分布式的应用程序或 DAPP(去中心化应用程序)会在很多计算机上运行,而不是在一个单一的服务器上运行。”
经过 20 多年的发展,我们都已经很熟悉信息互联网的网站或移动应用是什么样的,那么,和区块链相关的去中心化应用究竟是什么样的呢?
要理解区块链应用或去中心化应用,我们还是要从熟悉的事物谈起。
现在被认同的发展前景是,互联网将从信息互联网跨越到基于区块链的价值互联网。信息互联网的应用是网站与移动 App。在展望应用时,很多人自然地认为,在区块链上将出现原生的区块链应用或去中心化应用。
这样形成的结构是如图 1 a) 所示:网站、移动 App 对应的是信息互联网,而所谓的区块链应用/去中心化应用对应着区块链。早期应用的确呈现这样的状态,比如区块浏览器、每个区块链自己的钱包等。每一条区块链都是分布式账本与去中心网络,它们提供数据与功能。早期应用与这些区块链进行交互。
但我们很快发现,当普通用户要使用区块链时,应用可能变成类似于图 1 b) 的样子:网站与移动 App 中有一个与区块链进行数据和功能交互的“区块链应用”,而普通用户看到的其实还是网站与移动应用。我们甚至可以说,对于普通用户来说,可能根本没有什么区块链应用或去中心化应用,只有应用。