之前提到Git时候,我总习惯说Git的设计是分布式、去中心化,好像“分布式”和“去中心化”这两者天然的就是联系在一起的。

然而昨天我在看比特币介绍时,忽然想到了一个问题:分布式和去中心化到底有什么区别?

睡觉前想了下,下面是我的回答:

#####分布式和去中心化的区别,在于追求的目标不同。

#####去中心化追求的是一种状态,身处其中的各个个体之间都可以平等、自由的交换信息。这种状态本身就是去中心化的目的所在。

#####分布式追求的是完成一个任务或者一个工作,身处其中的所有个体都是在为这个任务或者工作服务。完成任务时分布式的目的所在。

#####就比如熟悉的Git。去中心化意味着每个使用Git的人(或者Git Repo)都可以自由的交换信息,利用任意节点的资源进行创新。分布式则是指一个(可能是虚拟的)团队,对一份代码进行协作开发。

#####于是,去中心化和分布式要解决的问题就产生了区别,尽管他们归根结底都是在解决关于协作的问题。

#####去中心化要解决的问题是如何保持其中个体信息的完整、独立,分布式要解决的问题是如何将其中各个个体的信息进行综合。

#####最重要的就是看各个符合去中心化或是分布式的系统是如何解决好这几个问题。