什么是公链?
公链是区块链世界的“操作系统”,是为区块链生态提供数据储存、网络传输、交易计算、共识机制等的底层协议。公链提供的接口,则可供开发者研发基于此公链的应用。
公链的发展阶段
第一代公链即比特币。其设计定位为单纯的支付渠道,安全性极高,但可扩展性差,许多高级应用无法建立。
第二代公链即以太坊。它允许开发者自行开发各种智能合约,从而拓展了区块链的商业用途。目前,以太坊上的去中心化应用(DAPP)已达1311个(数据来自stateofthedapps.com)。但是,因为扩展性不足、安全性差、开发难度高、依赖手续费等问题,以太坊的商业应用遭遇了瓶颈。
第三代公链的定位是要实现大规模商用,即所谓区块链3.0时代。
公链的核心要素
该报告明确了公链建设需要考虑及具备的五个要素:
1.可扩展性和传输技术:包括系统节点数和交易吞吐能力两个方面;
2.系统安全:包括双花攻击、交易及合约漏洞的防范机制、身份识别和匿名性、数据库安全等;
3.分布式存储:解决数据存储需求,保证分布式账本的运行;
4.监管兼容性:去中心化与中心化世界的兼容设计;
5.共识机制:决定了公链能否建立完善的激励机制,以鼓励更多的节点参与其中。
公链的技术实现形式和共识机制
1.可扩展性和传输技术
现有公链系统需要提高吞吐能力。针对比特币的扩容方案有:BCH分叉(大分叉)、闪电网络LightingNetwork(状态通道技术);针对以太坊有Sharding(分片)、Plasma(侧链)、雷电网络RadienNetwork(状态通道技术)等;针对NEO的扩容技术有Trinity提供的状态通道技术;Bytom采用类隔离见证技术,将数据、签名等分离,并采取了基于多资产的状态通道技术、基于BUTXO的分片机制。
跨链技术方面,目标是实现链与链之间交流,是赋予区块链生态价值。此类技术有:BTCRelay,基于以太坊的智能合约,连接了比特币和以太坊网络,允许用户在以太坊网络上验证比特币交易,对跨链通信进行了有意义的尝试;Cardano的NIPoPoW(Non-interactiveProofsofProofofWork)侧链技术,可以让Cardano成为其他数字货币的“粘合剂”,实现不同代币间的流动;另外,Bytom采用了XRelay技术,与BTCRelay类似。
点对点传输技术方面,Cardano采用了一种类似于BitTorrent的点对点协议,参与网络的节点越多,传输速度越快。
2.系统安全性
以太坊计算层的计算和存储没有分离机制,相对不安全。对此,现有公链项目一般采用计算分层、侧链或多链架构等方式解决。
3.分布式存储
对大部分公链来说,如何让大量数据存储在自己的主链上,是一个急需解决的问题。对此,ProtocolLab提出了与IPFS(Inter-PlanetaryFileSystem,P2P分布式文件系统)相佐的Filecoin,计划利用全球数据中心和硬盘的闲置空间,以一定激励机制鼓励各方参与,解决所需的存储规模。NEO也有自己专属的分布式文件储存技术NeoFS,可将大文件分割为数据块,分别存储在众多节点中,但其原理和Filecoin略有不同。
4.监管兼容性
这一问题即让去中心化系统在中心化的现实世界中应用的问题。NEO计划从合规和可审查性角度,让数字身份和数字资产获得现有法律的许可和政府监督。量子链也在自身系统中给监管者留好了各种形式的入口。
5.共识机制
共识机制是在区块链上建立信任的基础,现有常见共识机制及其优劣如下:
POW(工作量证明):所有节点计算一个随机数,最先找到该数的节点即该区块的生产者,获得比特币奖励,这一过程即“挖矿”。
POS(权益证明):以系统权益(例,持币数量乘持币时间)决定区块记账权,权益越大,成为下一个区块生产者的可能性越大。
DPOS(代理权益证明):在POS的基础上,将区块生产者的角色专业化,先通过权益选举出生产者,再由生产者出块。
BFT(拜占庭容错算法):又分为PracticalBFT和DelegatedBFT,前者旨在让系统中的大部分诚实节点覆盖恶意节点或无效节点的行为。该算法中的节点数量是固定的,节点身份是提前确定的。而后者和DPOS类似,会通过选举过程选出代理记账人,以减少共识过程所需的节点数量。
各种共识机制对比如下:
以上就是给大家带来的区块链公链技术实现以及公链项目的介绍了,如果您还对公链不太了解,请来