loading...
常见区块链算法
Published in:2024-04-10 | category: 区块链 | 算法

0x00前言

区块链自诞生以来就以去中心化、公开公平透明、不可追踪完全匿名化的特点吸引了大量的人前来研究和追捧。作为区块链,是如何实现去中心化的?又是如何做到公平的?其实无异于以下的几种算法

0x01算法盘点

1、Pbft

2、Raft

3、Pow

4、Pos

5、dPow

0x02POW

pow在区块链中是比较著名的算法,全称是工作量证明共识算法(proof of work)

什么是工作量?也就是算力,所有节点都参与记账的过程,消耗的这个算力称为工作量。

该算法的代表就是比特币(BTC)

优点:完全地去中心化,节点自由进入,目前来说是最安全的共识算法

看起来比较完美,但仍然还存在一些不可逆的缺点:

1、会造成资源大量损耗

2、每次达成共识,需要让全网节点进行计算,效率会很低,所以为什么每次交易的确认时间会比较长,就是这个原因

3、物理层面上的缺点,我们都知道,算力拼的就是显卡,这种算法会造成显卡厂商垄断市场,也就是矿卡居多,也会消耗大量电力资源

4、矿工会承担周期性的风险

代表的代币有BTC、ETH、BCH、LTC、Doge

0x03POS

pos在区块链中也是比较新的一种算法,全称是权益证明共识算法,也称为股权质押证明算法(proof of stake),这个算法的提出也是为了解决pow算法的缺点(全体节点记账),不允许所有人参与记账过程,会减少能量的损耗

如何理解这个算法,其实说白了就是谁的抵押物多,谁的话语权就大,就好比现实世界中的公司占股,你占的股越多你说话就越有分量,用股权来说话

优点:

1、在这个算法中,51%攻击基本不会发生,因为需要的成本非常昂贵,打个比方,如果一家公司,你要做到一家独大但是又需要其他股东的资金支持,那么你就要拿到51的占股,这样意味着你有一票否决权,而拿到这个否决权就意味着你需要有超过其他股东的资金来持股。所以想要实现攻击,你就得通过质押来获得51%的节点

2、矿工的挖矿能力取决于他拥有多少代币,其原理跟第一点类似

3、减少电力资源的耗费,因为矿机数量减少,不依赖所有人参与记账

4、pos的社区之间节点联系不会紧密,更加去中心化了

缺点:

完整攻击后区块链容易失去价值,这里注意一点(完整),具体的原因没讲得很清晰,有空补上这里点

代表代币:ETH2.0

*以太坊网络已于2022 年9 月15 日完成了与信标链的合并(The Merge),由PoW 共识机制成功*升级PoS 共识机制**

0x04RAFT

这个也是比较经典的算法了,无论是区块链还是微服务分布式,还是负载均衡。

在这个算法中,服务器节点有三种状态:

1、跟随状态

2、候选状态

3、领导状态

动画演示网站: https://raft.github.io/raftscope/

0x05PBFT

PBFT算法全称为实用拜占庭容错算法(practical byzantine fault tolerance)

是一个升级的算法,用来解决原来的原始拜占庭容错算法效率不高的问题

​ 1. 预准备(Pre-prepare):主节点(Primary)向所有副本节点(Replica)广播交易提案。

​ 2. 准备(Prepare):副本节点验证提案并互相广播准备信息。

​ 3. 提交(Commit):节点确认收到足够的准备信息后,广播提交信息。

​ 4. 决议:当节点收到足够的提交信息后,认为提案达成共识并提交交易。

通俗来讲就是

预热:大哥先跟小弟说清楚自己的行动命令

准备:小弟给他们自己的手下发出命令,并小弟之间互相确认大哥下发的命令是否一致

提交:小弟的手下完成了所有的任务后向小弟们进行汇报确认,当一定数量的小弟都收集到他们手下的信息后一起向老大反馈情况

决议:老大听取所有小弟的汇报后再做下一步行动

PBFT能容忍1/3的恶意节点存在

常见币种:

​ 1. Hyperledger Fabric - 一个用于企业区块链解决方案的平台,广泛应用于企业级应用中。

​ 2. Zilliqa (ZIL) - 通过分片技术提高扩展性,使用 PBFT 达成共识。

​ 3. Algorand (ALGO) - 采用 PBFT 变体来实现快速、低成本的交易。

​ 4. Stellar (XLM) - 虽然主要使用 SCP 共识,但在特定情况下借鉴了 PBFT 原理。

0x06DPOW

DPOW全称是delay proof of work,是一个在POW的基础上再次创新的算法。

原理是将小型区块链的区块哈希嵌入到更大的更安全区块哈希中,通常是比特币。

一般来说小型区块链的区块验证速度都比较快,因为数据少,但是缺少了安全性,因为是一种小型链,而把它嵌入到POW这种大型区块链中会大大提高安全性,且不用频繁进行POW运算,拖慢时间,而是周期性的进行,一般用来抵抗双花攻击。

常见币种:

​ 1. Komodo (KMD): Komodo 是 dPoW 的发明者和主要使用者。

​ 2. Verus (VRSC): 使用 dPoW 提供额外的安全层。

​ 3. Pirate Chain (ARRR): 一种隐私币,利用 dPoW 保护其区块链。

Prev:
UAC初探&Bypass
Next:
solidity入门教程
catalog
catalog