公有链中的“公有”就是任何人都可以参与区块链数据的维护和读取,不受任何单个中央机构的控制,数据完全开放透明。
公有链的典型案例是比特币系统。使用比特币系统,只需下载相应的客户端。创建钱包地址转账交易、参与挖矿,这些功能都是免费开放的。比特币开创了去中心化加密数字货币的先河,并充分验证了区块链技术的可行性和安全性,比特币本质上是一个分布式账本加上_套记账协议,但比特币尚有不足,在比特币体系里只能使用比特币一种符号,很难通过扩展用户自定义信息结构来表达更多信息,比如资产、身份、股权等,从而导致扩展性不足。
为了解决比特币的扩展性问题,以太坊应运而生。以太坊通过支持一个图灵完备的智能合约语言,极大地扩展了区块链技术的应用范围。以太坊系统中也有以太币地址,当用户向合约地址发送一笔交易后,合约激活,然后根据交易请求,合约按照事先达成共识的契约自动运行。
公有链系统完全没有中心机构管理,依靠事先约定的规则来运作,并通过这些规则在不可信的网络环境中构建起可信的网络系统。通常来说,需要公众参与、需要最大限度保证数据公开透明的系统,都适合选用公有链,如数字货币系统、众筹系统等。
公有链环境中,节点数量不定,节点实际身份未知、在线与否也无法控制,甚至极有可能被一个蓄意破坏系统者控制。在这种情况下,如何保证系统可靠可信的呢?实际在大部分公有链环境下,主要通过共识算法、激励或惩罚机制、对等网络的数据同步保证最终一致性。