教程网

您现在的位置是: 首页 > 聚焦

币圈子解析:Grin币PoW共识算法之Cuckoo Cycle算法!

币圈子解析:Grin币PoW共识算法之Cuckoo Cycle算法!
PoW的共识最开始由比特币BTC选用,都是区块链技术最开始应用的一种的共识方式 。迄今为止PoW是容错机制工作能力最好是的公有制链的共识体制。公有制链的安全性根基是的共识体

PoW的共识最开始由比特币BTC选用,都是区块链技术最开始应用的一种的共识方式 。迄今为止PoW是容错机制工作能力最好是的公有制链的共识体制。公有制链的安全性根基是的共识体制,PoW以物理学算率为基本,当链的算率超过一定经营规模后,像BTC,因为务必有着各大网站一半左右的算率(51%进攻),这促使进攻十分价格昂贵,在算率较为区块链技术的那时候,没办法产生算率进攻。

因此计算方式电机选型趋向于算率的分散(抗并行处理挖币计算方式)。它是根据使主存储器延迟时间变成短板来保持的,由于DRAM延迟时间维持稳定,而CPU速率和存储芯片网络带宽在硬件配置构架和解决技术性中间发生变化。

常见的POW算法类型:

纯hash类型的算法:随机碰撞、计算困难

Equihash类算法:广义生日悖论问题、memory-hard

ethhash:基于DAG解决约束、memory-hard

Cuckoo Cycle:图论式工作模式证明、memory-hard

而在此之上延伸出PoW的Cuckoo Cycle算法,该算法是一种更平等的共识方式,可以最大限度地降低硬件架构中的性能差异,并使硬件的开采具有成本效益。

Cuckoo Cycle是一种新颖的图论理论算法设计,它结合了可扩展的内存需求和即时可验证性。此外,它也是第一个设计运行时内存延迟主导。除非出现任何无法预料的内存时间权衡,否则它会产生近乎理想的内存限制工作证明,其商品硬件的成本效益可以极大地有利于矿业的分散化。

Cuckoo Cycle的一个有趣特性是制造ASIC并不符合成本效益。尽管如此,ASIC几乎无法避免,因此在某些时候,用于Cuckoo循环的ASIC将变得可用。然而,即使发生这种情况,硬件制造商也无法在普通用户上创建ASIC。

Grin的PoW算法:Cuckoo Cycle

Grin的基本Proof-of-Work算法称为Cuckoo Cycle,2014年由John Tromp 发明。它主要是一种内存约束算法,意味着解决方案时间受内存带宽而非原始处理器或GPU速度的约束。 因此,Cuckoo Cycle的解决方案应该在大多数商品硬件上都是可行的。 Grin 引入了两种POW算法。主要算法是被设计为 ASIC 友好的,而次要算法是抗 ASIC 的。在最初发布时,Grin 挖矿从最初抗ASIC 逐渐过渡到对ASIC友好。

网络启动时90% 的区块将会被次要算法挖出,而主要算法只会挖出大约 10% 的区块。主要算法称为Cuckatoo31+,次要算法Cuckaroo29 ,Cuckaroo29抗ASIC是通过每6个月改变一次算法来实现的。

Cuckoo Cycle问题

Cuckoo Cycle问题是指从Cuckoo图中找到一个L长度的环。Cuckoo图是一个二分图, 其中边(即连接节点的线)仅在2个单独的节点组之间连接的图。由N个节点和M个边组成, 节点采用Cuckoo散列表表示。

图的一侧是用奇数索引编号的数组(最大为图的大小),另一侧用偶数索引编号。下面的简单图表就是这样一个图形,偶数侧(顶部)有4个节点,奇数侧(底部)有4个节点,4条边。

Cuckoo Cycle的存在概率

要保证POW的工作量证明的安全性和公平性,意味着需要所有参与方无法通过某种方法来提高解决问题的概率。Cuckoo Cycle存在的概率,和图的节点多少,边的多少有关,随着M、N的增加,图中寻找到L大小的环路概率 会趋于稳定。

下图是L=42时,随着M/N的比例变化,所能找到的环的概率。可以看到M=29 、31. N=2M,M/N = 50%,此时寻找到L=42的环的概率在1/42.

Cuckoo 图的Edge修剪和环路检测

通过计算节点的自由度,反复修剪小于2的边(永远不会成为循环的一部分),可以大幅度减少环路寻找算法所需的边数 。比如下图,先是可以把(2.15) (11.12) 的边剪掉,此时(10.11) (4.15) 又出现可以剪掉的条件,最后剩下右边的修剪完成对图,实现其边数减少了40%。

环路的检测是从第一条边开始,依次加入其他边,在没有环的时候会形成树结构;对新加入的边,根据深度选择一颗树,通过回溯根节点判断是否形成环路。对所有点边执行一次可以找到所有边相关的环路,并和目标参数比较,如果有相等长度的环路,即解决问题成功。

Grin的PoW运行流程

当处理完一个块后,可以得到其区块头,对区块头的哈希结合Cuckoo算法,寻找图中的环,并对找到的结果进行哈希和目标难度比较,当小于目标时,PoW工作量完成。其流程如下:

对新块头进行哈希处理以创建哈希值K。

哈希值K将用作SIPHASH函数的KEY,该函数将为图中的每个元素生成位置对。

通过剪边,执行Cuckoo循环检测算法试图在生成的图中找到解(即长度为42的循环)。

对找到的环进行Blake2b哈希并将其与当前目标难度进行比较。

如果哈希难度大于或等于目标难度,则将块广播到网络,并在下一个块开始工作。

如果没有找到解决方案,则将区块头中的Nounce增加1.并更新时间戳,以便下一次哈希值迭代。

 众所周知,以太经典是一种独立的加密货币,英文名称是Ethereum Classic,简称ETC,是由以太经典团队于2016年7月20日研发的,每产生一个新的区块需要60秒,以太经典的货币总量是2.3亿。下面小编来给大家讲解下以太经典etc挖矿算法。

以太经典是什么算法?以太经典的核心算法是POS。

以太经典(ETC)是从以太坊中分叉出来的两条链,以太经典保留了以太坊的代码规则和特色,和原有的以太坊有着相似之处,是一种坚守以太坊模式的方式。以太经典作为一种完整的货币,吸引了错失投资数字资产的人群。

以太经典的产生起于一个黑客攻击事件,在2016年6月,以太坊最火爆的项目TheDAO被黑客利用智能合约的漏洞进行攻击,导致价值5000万美元的以太币损失,因为此漏洞,之前辛辛苦苦获取以太币的人不甘心,最终通过投票使以太坊进行硬分叉,挽回大部分人的损失。

以太经典挖矿POS算法讲解

什么是POS:全称Proof of Stake,股权证明。

这又是什么意思呢?简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在股权证明POS模式下,有一个名词叫币龄,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000,这个时候,如果你发现了一个POS区块,你的币龄就会被清空为0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(可理解为年利率5%),那么在这个案例中,利息 = 3000 * 5% / 365 = 0.41个币,这下就很有意思了,持币有利息,非常好!(需要注意的是,5%的年利率仅仅是小编举例,并非每个POS模式的币种都是5%,比如点点币PPCoin就是1%年利率)

所以说,想要投资以太经典就需要先来学习好专业的理论知识,在掌握好了技术以后就可以开始挖矿了。

权益证明共识算法是什么?在2011年,权益证明共识算法在Bitcointalk论坛上被提出,以解决当时最流行的共识——工作量证明中出现的问题。尽管这两者都有一个共同的目标:在区块链中达成共识,但是它们达到目标中的过程却截然不同。

Sunny King 和 Scott Nadal 于 2012 年撰写的学术论文首次引入了权益证明(PoS)的概念,而且一开始就被设计成是浪费型比特币协议的替代方案。自此以后出现了很多不同的共识算法。正如工作量证明(PoW)一样,替代共识算法存在一些问题,导致原始协议出现了许多改编版本。

总的来说,权益证明算法主要分为两大类:一类基于区块链,另一类基于拜占庭容错(BFT)。基于区块链的权益证明验证者是通过伪随机的方式选出来创建下一个区块的。在基于拜占庭容错的权益证明中,提议下一个区块以及创建下一个区块的行为是分开的。

之后,多轮投票机制会决定最后是哪个区块被添加到区块链上。与基于区块链的权益证明不同,拜占庭容错共识不依赖于区块链的长度或大小。对一个区块的共识可以仅限于这个区块本身。重要的是要记住权益证明设计会带来天差地别的选择,以及共识算法的区分有时并非那么绝对,因为一个项目可以在很大程度上是基于权益算法的,不过也包含拜占庭容错的成分(如 Casper 或 Neo)。

权益证明共识算法是如何工作的?

权益证明使用伪随机选举来选择作为下一个区块验证者的节点,基于包括币龄,随机化和节点资产等多种因素。

值得注意的是,在权益证明系统中,区块被称为“锻造”而非挖掘出来。使用权益证明的加密货币通常首先销售一些预先开采的硬币,或是在启动时先使用工作量证明算法,然后切换到权益证明。

在基于工作量证明的系统中,矿工的奖励是越来越多的(被挖出的)加密货币,而权益证明的系统中奖励通常是交易手续费。

想要参与到锻造过程的用户需要先将一定数量的币在网络中锁定作为他们的股权。一个节点股权的多少决定了它被选为下一个区块验证者的机会 - 股权越多,机会越大。为了防止在这个过程中网络不会偏向最富有的节点,选择过程中有一些特殊的步骤。两种最常用的方法是“随机区块选择”和“币龄选择”。

在随机区块选择中,通常通过查找同时有最低的散列值和最多的股权的节点作为验证者,由于股权的数量是公开的,因此下一个锻造者可以被其他节点预测。

币龄选择根据股份的时间长短选择节点。币龄的计算方法是作为股权的币的数量乘以作为股权的天数。一旦一个节点锻造了一个区块,它的币龄就会重置为零,并且还需要等待一定时间后才能锻造下一个区块 - 这样防止股权多的节点垄断区块链。

每一个使用权益证明算法的加密货币都有自己的一套它们认为对自己和用户最好的规则和方法

当一个节点被选为锻造下一个区块时,它首先将检查块中的事务是否有效,然后对块进行签名并将其添加到区块链中。作为奖励,节点获得了这个区块中事务的手续费。

如果一个节点想停止锻造者的身份,那么它的股权和所得的奖励将在一段时间后被释放,从而使网络有时间验证该节点是否向区块链中添加了假区块。

安全性

股权是让节点不验证或者伪造假交易的财务激励因素。如果网络检测到假的交易,则锻造该交易的节点将失去其部分股权以及将来作为锻造者参与的权利。所以只要股权高于获得的奖励,验证者尝试欺诈时的损失将高于可获得的收益。

为了有效地控制网络并批准伪造的交易,节点必须拥有网络中大多数的股权,这也被称为51%攻击。为了获得对网络的控制权,个人需要获得当前加密货币51%的循环供应量,考虑到加密货币的价值,这相当的不切实际。

权益证明算法的主要优点是能源消耗和安全性。更多的用户有动力运行节点,因为它简单且经济实惠。这与随机化的过程一起使得网络更加分散,因为不再需要矿池来挖矿。此外,由于不需要产生新的货币作为奖励,这有助于保持加密货币的价格更加稳定。

值得注意的是,加密货币行业的发展和变化十分迅速,还有许多其他的算法和方法正在开发和实验中。

第一代权益证明:(基于区块链的)代币

针对浪费型工作量证明协议,Sunny King 和 Scott Nadal 在 2012 年创造出了一个更加环保的加密货币,即 Peercoin 。Peercoin 分享了很多源代码和技术实施方案给比特币。在创生方式上,它与新代币存在根本差异。Peercoin 使用的是权益证明/工作量证明的混合型系统,这意味着一些代币是在个人持有量的基础上被创造出来的。每年,Peercoin 持有者手中的代币数量将增长 1%。

Peercoin 存在的问题是没能激励代币持有者果断选择某一条链。相反,代币持有者可能会在不需付出任何代价的情况下给多个有冲突的区块投票,从而破坏安全性。这就是所谓的“无利害关系问题”。 工作证明会避免挖掘多个区块,因为矿工必须将自己的算力一分为二并且造成资源浪费。

第二代权益证明:(基于区块链的)以太坊 Casper

虽然以太坊目前是基于工作量证明共识算法运行的,该项目的长期策略是将 Casper 从工作量证明过渡到权益证明。Casper 的第一个版本 the Friendly-Finality-Gadget (FFG) 采用的是工作量证明/权益证明的混合型系统。

Casper 试图解决上一段中形容的权益证明共识算法中的“无利害关系问题” 。点点币的主要问题是只奖励出块,但没有惩罚措施。签署任何区块都不会受到惩罚,代币持有者可以签署链上的所有分叉。其中包括想要撤销有效交易的恶性分叉。

如此一来,不管哪条分叉赢了,下注的人都会得到奖励。Casper 会通过惩罚参与者来抑制伪造者在所有分叉上下注的倾向。如果验证者签署了两个有冲突的区块头,其权益将受到全部或部分削减。

混合工作量证明和权益证明的 Casper 初始版本将于 2018 年年末推出。

一些权益证明项目:Peercoin、Qtum、Ethereum

授权型权益证明

主要的设计差异在于系统是否允许代币持有者授权其他参与者代表代币持有量较少的人下注。授权型权益证明(DPoS)被提议用来作为一种激励代币持有者继续参与该系统的方式。正如我们在这篇关于中心化的博文中讨论过的那样,因为代币持有量大的人利润率更高,区块链上可能会出现中心化。

为了确保能将协议中的权益集中起来,授权型权益证明的使用者会被鼓励将他们的代币授权给拥有更多权益的人。作为回报,他们可以从协议那里得到部分权益奖励。授权型权益证明的一个明显特点是它将对网络的控制集中起来,从而导致少量节点控制大部分网络。与此同时,这对代币持有者来说可能更加方便了,因为他们不一定要通过授予控制权的方式来做出每个治理决策了。

 1/5    1 2 3 4 5 下一页 尾页