摘要
在我的区块链上一篇博文中,简单介绍了区块链的架构,链接:区块链学习——区块链架构。那么本文我将继续简单介绍一下区块链的分类。
根据网络范围
根据网络范围,区块链可以分为公有链、私有链、联盟链。
1.公有链
所谓公有就是完全对外开放,任何人都可以任意使用,没有权限的限定,也没有身份认证之类,不但可以任意参与使用,而且发生的所有数据都可以任意查看,完全公开透明。比特币就是一个公有链网络系统,大家在使用比特币系统的时候,只需要下载相应的软件客户端,创建钱包地址、转账交易、挖矿等操作,这些功能都可以自由使用。公有链系统由于完全没有第三方管理,因此依靠的就是一组实现预定的规则,这个规则要确保每个参与者在不信任的网络中能够发起可靠的交易事务。通常来说,凡是需要公众参与,需要最大限度保证数据公开透明的系统,都适用公有链,比如数字货币系统、众筹系统、金融交易系统等。
这里需要注意,在公有链的环境中,节点数量是不固定的,节点的在线与否也是无法控制的,甚至一些节点可能是恶意节点。我在介绍区块链工作流程的时候,提到了一个问题,在这种情况下,如何知道数据是被大多数的节点写入确认的呢?实际在公有链的环境下,这个问题没有很好的解决,目前最合适的做法就是通过不断地去互相同步,最终网络中大多数节点都同步一致的区块数据所形成的的链就是被承认的主链,这也被称为最终一致性。
2.私有链
私有链是与公有链相对的一个概念,所谓私有就是指不对外开放,仅仅在组织内部使用的系统,比如企业的票据管理、财务审计、供应链管理等,或者一些政务管理系统。私有链在使用过程中,通常是有注册要求的,即需要提交身份认证,而且具备一套权限管理体系。有朋友可能会问,比特币、以太坊这些等系统虽然是公链系统,如果将这些系统搭建在一个不与外网连接的局域网中,这个不就成了私有链吗?从网路传播范围来看,可以算,只不过由于使用的系统本身没有任何的身份认证以及权限设置,因此从技术角度上来说,这种情况只能算是使用公链系统的客户端搭建的私有测试网络。当然