“中心化”和“去中心化”的关系是相对的,从不同角度观察可能会得出不同的结论。以比特币为例,“比特币是去中心化的”和“比特币是一种去中心化的加密货币应用”,可能是业内高度一致的共识。
从比特币***的网络拓扑结构来看,比特币的节点非常多且分散,采用工作量证明共识的挖矿机制导致攻击比特币需要有超过全网50%的算力,少数节点被攻击、崩溃或被关闭,都不会影响整个比特币网络的安全和正常运行——这说明比特币网络是去中心化的。
然而,从比特币的软件开发和发行角度而言,只有Bitcoin Core团队发布的比特币新版本代码被公众认可并接受,虽然该团队公布了他们是如何采用系列措施确保代码发布的流程安全可靠的,并且采用开源的方式让人人可以参与贡献、人人可以分叉后修改,但从软件发行升级角度来看,这是比较中心化的。
从另一个角度看,比特币作为一个应用被设计为“点对点电子现金”,比特币的钱包地址由用户自主产生,不需要任何人发放和批准,没有私钥,任何人和组织都无法夺取用户的比特币。比特币的转账不需要任何第三方介入,其他任何人和组织都无法禁止或篡改交易。比特币的交易记录在比特币的区块链上永久保存,没有人能够篡改、删除和隐藏。这说明比特币本身是一个真正的去中心化应用。
耐人寻味的是,正是因为大众认可比特币的网络高度去中心化,其作为一个应用高度去中心化,所以大家都认可比特币这个网络服务——全世界只有一个比特币。从这个角度来看,比特币又是高度中心化的。这就非常有趣——一个系统在某些角度的高度去中心化,可能会导致该系统在另一个角度中心化。因此,任何中心化和去中心化的划分和定义都不是绝对的,而是相对的,甚至是不断演变的。从不同维度去审视,去中心化和中心化其实是错综交织的。从这个角度来观察我们人类社会的语言文字,就会发现它们整体上非常去中心化,但另一个角度又非常中心化,呈现出中心化与去中心化的此消彼长。
参照计算机软件应用的发展,其过程就是这样一个“中心化—去中心化—再中心化—再去中心化”的演变过程,一如辩证法所描述的事物要经历“肯定—否定—否定之否定”的螺旋曲折上升的发展变迁过程。
最早的计算机软件毫无疑问是“单机”软件。字符终端和分时系统的出现使得一台处理能力较强的计算机可以带着好多台字符终端,让多人同时操作。那时的软件应用方式相当中心化,那些字符终端被称为“哑终端”,它们离开主机什么也做不了,软件完全运行在中心计算机上。
随着个人计算机(PC)时代的降临,我们迎来了第一批真正意义上的去中心化应用。是的,不必惊讶,我们曾经熟悉的各种个人电脑“单机版”软件从某种意义而言全部是去中心化应用。在那个时代,最重要的协议是“文件”,这一最古老的计算机协议直到今天仍然深深植根于计算机文化之中。我们无法考证最初设计发明计算机文件的人是如何思考的,但可以感觉到他们一定是参考、类比现实世界来设计的。计算机的文件和文件系统在相当大程度上来自对现实世界的模仿。有了文件这样的协议,分散在无数个人计算机上的应用就有了共同的沟通“语言”,通过文件可以安装新的应用,而应用产生的结果也必须通过文件传播给其他的应用。
互联网的诞生源自美国五角大楼的研究项目ARPANET,其设计目的就是实现一个足够强大,甚至能够经受住核打击这样的灾难性后果的通信网络。为达此目的,互联网将去中心化思想根植于设计理念之中,很多早期的互联网协议,包括TCP/IP都是以去中心化思想为基础来设计的。有人曾总结出互联网的三个特点:没人拥有控制它,每个人都能使用它,任何人都能改善它。
互联网的早期应用体现出强烈的去中心化特点,不仅仅是因为互联网设计的去中心化理念,还在于当时大量的个人计算机软件本来就是“单机”的,其网络化的第一步,最现实不过的就是用网络可以更好地交换文件,这比通过磁盘、磁带要效率更高。最早一批使用网络的应用,有相当大比例建立在“网络文件交换”的基础之上,流行至今的HTTP协议也不例外。
当用文件交换这种方式越来越不能满足需求的时候,一种被称为C/S架构(“客户机/服务器架构”)的网络应用模式开始流行,这出现在前互联网时代,以企业应用为主,而且这种架构至今仍然没有过时。C/S架构是从“去中心化”开始变得“中心化”一些的演进,但每个C/S架构的系统中,客户机和服务器之间基本都“讲”着不同的“语言”(协议)。浏览器诞生之后,人们开始意识到浏览器就是一种能理解、使用更普遍标准的“语言”(HTML)的通用客户机,这使得应用可以更加中心化,从而更容易开发、部署、维护,于是B/S架构(“浏览器/服务器架构”)这样一个更为中心化倾向的模式开始流行。形成这一趋势的一个重要原因是,网络带宽和计算机的处理能力不断增加,价格却在不断下降。
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com