公有链
世界上所有人都可以阅读和发送交易。如果他们合法都有希望看到自己被包括在内。世界上任何人都能参与到共识形成过程——决定在链条上添加什么区块以及现状是怎样的。作为中心化或准中心化信任的替代品,公有链受加密经济的保护,加密经济是经济激励和加密图形验证的结合,用类似工作量证明或权益证明的机制,遵循的总原则是人们影响共识形成的程度和他们能够影响的经济资源数量成正比。这类区块链通常被认为是"完全去中心化"。
联盟链
共识形成过程由预先选择的一系列的节点所掌控,例如,设想一个有15个金融机构的团体,每个机构都操作一个节点,为了使区块生效,其中的10个必须签署那个区块。阅读区块链的权利可能是公开的,或仅限于参与者,也有混合的路径,比如区块的根散表和应用程序编程接口一起公开,使公共成员可以进行一定量的查询,重活一部分区块链状态的加密图形证明。这类区块链被认为是"部分去中心化"。
私有链
书写许可对一个组织保持中心化。阅读许可可能是公开的或者限制在任意程度。应用很可能包含对单个公司内部的数据库管理,审查等,因此公共的可读性在很多情况下根本不必要,但在另一些情况下人们又想要公共可读性。私有链/联盟链可能和公有链毫无联系,他们仍然通过投资以太坊软件开发,对以太坊整体生态系统有利。经过一段时间,这会转变成软件改善,知识共享和工作机会。
跨链
跨链,顾名思义,就是通过一个技术,能让价值跨过链和链之间的障碍,进行直接的流通。
跨链简单来说就是信息从一条链到另外一条链。由于现在我们说起区块链,脑海中浮现的基本都是 token,所以其实更多的是作为资产的 token 从一条链去另外一条链。最容易理解的是拿 ETH 换 BTC,简单来说就是资产交换。
从互联网的角度理解,有点像信息从一个内网到另一个内网。这对于已经有了底层标准化传输协议互联网来说不成问题。可是区块链每一个网络都是一个相对封闭、且互不信任的系统,每发生一件事都要“投票”(共识)一下,怎么能轻易相信链外的东西呢?原来互联网上的各个后台信息都是可以相互传递,几乎无需验证。吕旭军认为,由于区块链的资产属性尤其明显,使得其跨链不同于传统互联网信息传递,参与者说谎的动机增强。
如果说共识机制是区块链的灵魂核心,那么对于区块链特别是联盟链及私链来看,跨链技术就是实现价值网络的关键,它是把联盟链从分散单独的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。
侧链
区块链中的侧链(sidechains)实质上不是特指某个区块链,而是指遵守侧链协议的所有区块链,该名词是相对与比特币主链来说的。侧链协议是指:可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。--wiki
侧链是平行于主链的一条区块链,可以针对目前主链无法实现的功能进行特定的功能拓展和性能提升,比如2017年的时候,由于牛市来袭,这两条区块链上的交易量大幅提升,远远超过比特币每秒7笔,以太坊每秒30多笔的吞吐能力,于是出现大面积的拥堵和延迟,所以会出现一个加密猫游戏的火爆搞瘫痪整个以太坊网络的事情,现在可以将主链上的小额零散交易全部转移到侧链上进行,这样可以大大的减缓主链的交易压力,这样做还有一个好处那就是可以保证一定的安全性,因为如果你的交易地址中有大量的比特币或者以太坊,我相信你是不会愿意让其他的人都知道你是拥有人的,同时因为侧链可以进行简单支付验证,不需要将所有的交易都过一遍比特币的原生区块链系统,所以在交易的处理速度上,侧链项目也具有相当的优势。
现在的比特币具备基本的区块链功能,但是智能合约功能没有,所以侧链还可以在对主网进行价值锁定的同时开发智能合约的功能,也就是在比特币的区块链主链之外添加智能合约的功能,这样比特币自身就拥有智能合约,想象一下这样做的结果,是以太坊等以智能合约为主要卖点的区块链项目会被比特币削弱,更多的应用可以基于比特币的智能合约框架进行开发,这样做的目的是可以促进数字货币在一个统一的框架体系下进行发展,从长远来说,有利于统一底层协议标准。
同时侧链以融合大于竞争的方式对现有的区块链系统进行改造,不像其他的新创建的区块链系统,与现有的区块链系统有排斥影响。侧链的技术扩展性非常高,可以在侧链的基础上对现有的比特币进行金融生态的构建,可以轻松地建立各种基于比特币的智能化的金融合约,例如股票、期货、衍生品等等,未来可以有基于比特币的成千上万个侧链系统,其需要满足的特性和目的可以各不相同,所有这些侧链都依赖于主区块链,在这种一拖N的架构基础上,会极大的扩展现有区块链系统的应用范围和创新空间,使得传统的区块链可以进行多资产类型的资产支付,另外很多其他的功能也可以上线,诸如前面提到过的小微支付、智能合约、安全保障机制、认证注册等等。
虽然侧链是基于原生区块链建立的,但是侧链系统本身也可能存在安全性的问题,在侧链的方案中攻击者只需要攻击最薄弱的侧链就可以破坏掉整个侧链系统,单一的侧链系统发生安全性问题,对于原生链和其他的侧链系统也会造成一定程度的影响,一旦恶意成员对某个侧链完成51%的攻击,就可以黑化一条侧链,同时生成一个伪造的最长侧链,用伪造的侧链币在原生比特币链中兑换成比特币,这样就会造成比特币的损失。另外需要说明的一个问题是,所有的侧链并不会共享同一个公共的块单元,这样的含义是从一条侧链到另外一条侧链转移代币的过程中,绝大多数的侧链项目仅依赖技术体系中的SPV证明,简单来说就是侧链只会对交易是否来自最长的链做出验证,而不会真正地去验证交易信息。
解决上面说到的侧链攻击问题,有一个办法就是进行合并挖矿,通过确保所有的侧链同时以相同的哈希率进行开采,也就是利用比特币的矿工进行合并挖矿,在这种情况下,所有的侧链使用相同的哈希算法,可以同一个时刻为两个侧链生成工作量证明,矿工只需要进行一次哈希运算就有相同概率完成两个工作量证明,但是这样做的方式有一个很大的问题是,合并挖矿需要矿工运行所有侧链的完整节点,这会造成挖矿工作的进一步中心化,原来的矿工只是掌握比特币一家的挖矿权力,现在掌握了包括比特币主链在内的所有侧链的挖矿权力,比特币系统中的矿工权力进一步提升,不过这一点现在在比特币的系统中已经出现,同时达到一个微妙的平衡,之前出现过一个新闻是比特币矿池里的矿工会在某个矿池可能超过51%算力的时候切换自己的算力到其他的矿池中,所以这一点存在风险但是也无需过多担心。
目前对于跨链项目还有一个比较大的问题是,如何保证跨链项目的稳定性,因为目前还没有任何一个跨链项目已经进行成功稳定的运行,所以还无法进行最终的定性,只能说等待技术的成熟,另外还有一点是如何进行不同共识机制下的跨链操作,目前也是一个比较大的难题,终归一句话,目前跨链项目的稳定性还无法进行评判。