1、公有链-
-public blockchain
公有链通常被认为是真正去中心化的,通过共识决定哪个block最终被加到chain 中,任何人都可以参与共识过程。
公有链是完全对外开放的,用户不需注册、无需授权就可匿名访问网络和数据,节点可以自由出入网络。公有链上的区块内数据可以被任何人查看,任何人也都可以参与发起交易或是参与共识。
公有链是真正意义上完全去中心化的区块链,通过密码学数字签名保证交易不可篡改,也通过密码学验证交易信息以及激励,在互为陌生的网络中形成共识从而建立完全去中心化的信任机制。
目前的公有链在共识机制上都存在一些限制, 因为区块链去中心化的本质所以没有一个中心节点来进行保护和维持系统,所以全网的所有节点需要-起参与所有的交易并维持全状态的副本。
去中心化共识机制的优势是安全保证、政治中立和抵抗审查等等。然而,这是以扩展性为代价换来的,因为去中心化限制了区块链里全节点可处理交易的数量。
这就导致了公有链的两大性能瓶颈:
低吞吐量:区块链目前能够处理的交易非常有限
缓慢的交易速度:处理一个区 块的时间很长。
2、联盟链-
-consortium blockchain
联盟链- -般是由若干个机构共同参与管理的区块链。
联盟链上的读写权限和记账权限都由联盟规则限定,比如由40多家银行参与的区块链联盟R3和Linux基金会支持的超级账本(Hyperleder )项目就属于联盟链项目。
联盟链的共识过程由预先选好的节点控制。- 般来说适合于机构间的交易、结算或清算等B2B场景。
例如在银行间进行支付、结算、清算的系统就可以采用联盟链的形式,将各家银行的网关节点作为记账节点,当网络上有超过2/3的节点确认一个区块,该区块记录的交易将得到全网确认。
联盟链可以根据应用场景来决定对公众的开放程度。由于参与共识的节点比较少,联盟链一般不采用工作量证明的挖矿机制,而是多采用权益证明PoS或PBFT(Practical Byzantine Fault Tolerant)、RAFT等共识算法。联盟链对交易的确认时间、每秒交易数都与公共链有较大的区别,对安全和性能的要求也比公共链高。