在谈及去中心化应用前,我们需要首先理解我们日常工作和生活中接触的互联网应用程序和软件是如何运作的。常见的互联网应用程序一般采用中心化架构,可分为客户端应用和网页应用(WEB),前者属于客户端/服务器端架构(C/S架构,常见的手机App就属于此类),后者属于浏览器/服务器端架构(B/S架构),但两种架构都无法脱离对后端服务器的依赖。在这两种架构中,服务器一般承担了主要数据的存储和处理工作,从而处于绝对的核心地位,因此,应用程序的拥有者(公司或个人)可以通过应用程序积累用户数据,进一步利用用户数据获取巨额利润,如广告营销、用户消费行为的大数据分析等。例如,虽然互联网巨头Alphabet旗下的谷歌搜索业务为免费服务,但基于用户搜索数据的广告业务收入在2019年Q1达到了总营收的84.5%,约307亿美元。
然而,集中式的服务器同样也存在不少弊病。虽然服务器集群的性能越来越强大,稳定性也有所提升,但由于中心化的网络架构,一旦服务器出现故障将对其负责的客户终端产生严重影响(即所谓的单点故障)。鉴于此,近年来抗单点故障的分布式系统和分布式应用得到长足发展和进步。
分布式应用,即Distributed Application,是指同时运行于同一分布式网络的多台计算机上的应用程序或软件,具备跨终端和跨操作系统等优秀特性。此处的分布式网络并非仅仅指代P2P网络,也包括基于以服务器为中心(CS架构)的多中心网络。而去中心化应用(Decentralized Application,dApp)则特指运行在P2P计算机网络中的应用程序,其既满足分布式系统抗单点故障的特点,同时也具备了多中心化或去中心化的特征,典型产品如P2P文件传输协议BitTorrent。去中心化应用是分布式应用的子集概念,两者的最大区别在于中立性和中心化程度,其中,分布式应用在架构上是多中心化或去中心化的,但整个分布式系统的拥有者却可以是中心化的实体;而去中心化应用则指不仅在系统架构上是去中心化架构设计,同时也要求整个系统不能归属于某个特定的主题或利益集团。(www.xing528.com)
例如,在类似于BitTorrent的P2P文件传输应用里需要鼓励用户多贡献文件种子才能更有效的保障网络中文件资源的丰富程度和下载速度,然而保留文件种子则意味着用户需要耗费硬盘存储空间和牺牲网络带宽,因此,在缺乏激励的情况下,大多数用户选择了删除闲置的种子文件,从而直接削弱了整个系统的文件资源丰富程度和下载速度。事实上,P2P文件传输工具早在20世纪80年代初期便已经盛行,曾被誉为下一代互联网应用的希望,然而,时至今日,存留下来的P2P文件传输工具,要么保持去中心化,但用户增长和规模陷入停滞,如Bit Torrent;要么被商业化,由中心化的公司进行维护和强化,如著名软件下载工具迅雷。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。