什么是公有链、私有链

原文: On Public and Private Blockchains

公有链(Public blockchain)

任何人都可读,任何人都可以发送交易,任何人都可以参与共识过程(consensus process)。所谓共识,就是决定将哪个块加入到区块链,决定当前状态。与中心化或类中心化信任不同,公有链由密码学和经济学保障安全,即将经济激励和使用像 PoW 或 PoS 等机制的密码学验证组合到一起。对于共识过程有个基本原则,简单来说,就是谁有多少经济资源,谁就能对共识过程产生多大的影响。所谓经济资源,PoW 就是算力,PoS 就是代币。这样的区块链,就可以认为是“完全去中心化的”区块链。

联盟链(Consortium blockchain)

如果一个区块链能够参与共识的节点是预先选定的,那么就是联盟链。比如一个有着 15 个金融机构的联盟,每个机构维护一个节点,只有至少其中 10 个节点按照顺序签名过的块,才是有效区块。可能所有人都可以读取,也可能只有部分人有读取权限,也可以采用混合方式,比如利用一个开放的 API 进行有限次数的查询。这样的区块链,就可以认为是“部分去中心化的”区块链。

私有链(Private blockchain)

如果一个区块链的写入权限由一个组织完全控制,那么这就是私有链。私有链的读取权限可以是公开的,也可以施加任意程度的限制。由于像数据库管理,审计等等应用都是属于公司内部事务,所以很多时候,公开可读其实也并非必要。

私有链,准确来说,就是一个传统的中心化系统附加某种程度的密码学审计功能。

私有链与公有链,各有其长处与短处。

私有链的优势有:

  1. 可以很容易地修改区块链的规则,回滚交易,修改余额等等。
  2. 验证人已知,所以不会出现中国矿工共谋的 51% 攻击。