区块链从数据库层面而言,表示一种借由密码学保护并连接的线型或网状结构的数据库,通过哈希函数、时间戳等密码学技术确保其具备“区块内容难以篡改”的特性;从网络层面而言,区块链是指通过共识机制协调和统一而成的,无服务器的P2P网络拓扑结构。在区块链出现之前,去中心化应用和分布式应用没有明显的本质区别。早期的dApp在繁荣一时之后却难以大规模推广,其关键在于:基于P2P网络的去中心化应用(dApp)由于并不归属于某一个利益主体,因此,也不存在一个商业主体去主导维护和推广该网络,此外,传统dApp缺乏一种激励机制去引导用户行为,鼓励用户克服人性的自私去维护和强化系统功能。而区块链的出现恰好弥补了传统dApp无法克服的致命缺点,通过引入共识机制和基于token的激励机制使去中心化的P2P网络既能在无维护主体的情况下安全平稳的运行,也能通过激励机制引导用户行为。因此,只有基于区块链的dApp才是功能完整且具有持续生命力的dApp,所以后文所提及的dApp均特指构建在区块链公链之上的dApp。(本书讨论的区块链主要指代公有链,因为在笔者看来联盟链和私有链与传统的分布式数据库没有本质的区别)。
由于公有区块链的去中心化特质,凡是构建于公有区块链的应用自然也归属于dApp之列。与互联网的发展类似,区块链应用的前端实现形式也分为独立应用程序和网页应用两种,后者即所谓的dWeb(源于Web3.0的实现路线)。根据Web3 Foundation的定义,Web3.0是指无服务器互联网和去中心化网页(dWeb)所组成的宏大愿景,在该网络中,用户将对自己的数据、身份和命运具有绝对的控制权。在技术架构层面,其提出了如下的技术堆栈结构,共分为4层,具体技术堆栈如图4-4-1所示。
图4-4-1 Web3 Foundation提出的Web3.0技术堆栈
(数据来源:Web3 Foundation官方资料)(www.xing528.com)
显然,Web3.0延续了传统互联网中Web的发展思路,可以发现浏览器在其技术堆栈中承担着与用户交互的重要意义。从定义上而言,Web3.0是对区块链的一份较为详细的技术发展路线图,并非绝对的区块链未来。因为,根据移动互联网的发展趋势,浏览器和Web的发展思路并不符合移动化和个性化的需求,独立应用程序的实现形式更加贴合整个互联网的移动化趋势。
根据dApp的定义,比特币实际上既是第一个区块链公链,也是该公链上的第一个原生dApp,其提供了一种全球点对点支付系统和应用,第一次将跨过转账和确认时间缩小到分钟级别,也第一次实现了价值如同信息一样在互联网能触及的角落自由流淌。在比特币之后曾涌现了大批基于比特币代码演变而来的Altcoins,然而这些Altcoin除非具有独特的功能特性和项目定位,例如,专注于匿名隐私支付的Monero、Zcash和DASH等,但绝大多数已经消失在众人的视野中(如域名币、彩色币等)。究其原因,一方面是因为这些区块链项目大多同质化严重而没有太多必要,其次是因为在早期的Altcoin大多极难进行二次开发,也不支持丰富的应用创建,只能依靠自带的原生应用打开市场和社区,因此竞争力极弱。
真正的改变发生在以太坊诞生之后,基于智能合约的以太坊旨在打造下一代的去中心化应用平台,其设计之初就强调了将EVM和应用层的剥离,允许开发者快速创建多样化的dApp,从而帮助以太坊丰富应用生态,拓展商业场景。此后,dApp才真正具备了繁荣发展的基础。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。