主页 > imtoken钱包下载2.0版本 > 以太坊pow和pos区别 你真的了解 PoW 吗?

以太坊pow和pos区别 你真的了解 PoW 吗?

imtoken钱包下载2.0版本 2024-01-06 05:08:33

我们都知道比特币的POW(Proof of Work)使用的是SHA256算法。 最初个人可以通过CPU参与挖矿,但当比特大陆、阿瓦隆等芯片厂商开发出ASIC芯片后,挖矿就不是问题了。 个人可以做的事情。 后来随着显卡挖矿和矿池的出现,社区开始担心矿池会导致算力集中,违背中本聪最初“一个CPU,一票”的设计理念。 那段时间,中心化焦虑非常严重,比特币社区的讨论非常激烈。 比特币在论坛上一次次“死亡”。 直到现在,关于矿池是否违反去中心化原则的争论仍在继续。

莱特币的 SCRYPT 算法

有人将原因指向了SHA256算法,认为矿机和矿池的出现是算法太简单导致的,于是试图寻找更好的算法。

恰逢其时,基于SCRYPT算法的莱特币诞生了。 据说SCRYPT是由著名黑客开发的,但由于没有像SHA系列那样经过严格的安全审查和全面的论证,所以一直没有得到广泛的应用。 与SHA256算法相比,SCRYPT对硬件要求更高,占用内存更多,计算时间更长,并行计算难度极大。 显然,SCRYPT算法对矿工的抵抗力更强。 此外,莱特币将区块时间更改为 2.5 分钟。 在山寨币还不多见的年代,莱特币依靠这两项创新取得了巨大的成功以太坊pow和pos区别,并长期稳坐第一山寨币宝座。

后来有人对SCRYPT算法稍作修改,形成了Scrypt-N算法。 改进思路相同,都追求更大的内存消耗和计算时间,有效防止ASIC矿机。

很快,莱特币的成功催生了各种算法创新。 从2012年到2014年,算法创新一直是社区讨论的热点。 每一种使用创新算法的货币都会引起波澜。

以太坊和比特币的区别_小蚁股和以太坊的区别_以太坊pow和pos区别

串联算法和 Dash

在人类常用的发明和创新方法中,重组和组合可以说是最常用的。 除了增加内存消耗和增加计算时间的想法,一些人开始思考:“是否可以使用多种哈希算法,而不是只使用单一算法”?

于是在2013年7月,Quark发布,率先使用多轮Hash算法。 听起来很宏伟,其实很简单。 就是对输入数据进行连续9轮的哈希运算,上一轮运算的结果作为下一轮运算的输入。 这9轮哈希运算使用的6种加密算法分别是BLAKE、BMW、GROESTL、JH、KECCAK、SKEIN,都是公认的安全哈希算法,并且已经有现成的实现代码。

这种多轮哈希法一出现,直观上感觉安全、强大,追随者无数。

达世币(DASH,原名暗黑币,Darkcoin,)在此基础上进行了微创新,采用了BLAKE、BMW、GROESTL、JH、KECCAK、SKEIN、LUFFA、CUBEHASH、SHAVITE、SIMD、ECHO这11种加密算法是称为X11,后来又开发了X13、X15系列。

这类算法其实是一系列的思路,它的缺点是只要破解其中一个算法,整个算法就会被破解。 就像一条链条,环环相扣,只要一环断裂,整条链条就会一分为二。

小蚁股和以太坊的区别_以太坊和比特币的区别_以太坊pow和pos区别

与 Heavycoin 的并行算法

有了串联,自然就会想到并联,而Heavycoin(HVC)就率先尝试了。 虽然如今在国内知名度不高,但将游戏实现上链还是第一次,可谓名震一时。

HVC算法细节:

1、输入数据,进行一次HEFTY1哈希运算,得到结果d1

2、以d1为输入,依次进行SHA256、KECCAK512、GROESTL512、BLAKE512运算,分别得到输出d2、d3、d4、d5

3、最后分别提取d2-d5的前64位,经过混淆后形成最终的256位哈希结果,作为区块ID。

以太坊pow和pos区别_小蚁股和以太坊的区别_以太坊和比特币的区别

为什么会有第一轮 HEFTY1 哈希? 由于HEFTY1计算难度极高,其对抗矿机的性能远超SCRYPT。 但和SCRYPT一样,其安全性并没有得到官方机构的论证,所以加入了后四种安全性公认的算法来增强安全性。

PRIMECOIN 和素数币

就在有人如火如荼地探索算法,有人指责 POW 浪费能源时以太坊pow和pos区别,POS 机制就在那个时候实现了。 支持POW的人虽然极力维护,但也不得不承认POW确实耗能的事实。 这一指控开启了另一条探索之路,即如果能找到一种算法,既能维护区块链的安全,又能以其他方式产生价值,那就完美了。

在这条探索之路上,最激动人心的成就就是素数币。 它是由 Sunny King 发明的,他之前也开发过 Peercoin。 素数币算法的核心思想是在进行哈希运算的同时寻找大素数。 为什么要寻找素数? 由于素数在数轴上稀有且分布不规则,在数轴上寻找素数只能盲目搜索检测,这正是POW的特点。

POW 的另一个要求是易于验证。 在这方面,人类经过数百年的探索,已经取得了一些成果。 素数币采用两种方法进行测试,首先进行费马测试(Fermat Test),然后通过欧拉-拉格朗日-利夫希茨测试(Euler-Lagrange-Lifchitz Test),如果两个测试都通过则可以视为质数.

需要指出的是,该方法不保证通过测试的百分百是质数,但这并不影响系统的运行,即使测试结果错误,只要各节点认为是是质数。

小蚁股和以太坊的区别_以太坊和比特币的区别_以太坊pow和pos区别

素数币是市场上第一个不采用哈希工作量证明机制的加密货币,其挖矿过程本身具有一定的科学价值。 但是为什么没有得到大力推广呢?

根据目前的知识,素数在数轴上的分布是不均匀的,数字越大,素数就越稀有,找到它们的难度也不会线性增加,因此耗时难以预料。 但是区块链需要稳定的出块,所以素数币算法一直没有得到大家的青睐。 但这种探索并非没有意义,使用 POW 工作负载的探索仍在继续。

ETHASH 和以太坊

以太坊原本计划​​使用POS,但由于POS设计存在一些问题,开发团队在以太坊1.0阶段决定使用POW。 之后,在 Serenity 阶段,以太坊将从 PoW 转换为 PoS。 工作量证明意味着将电能转化为热能、以太币和网络稳定性。

以太坊的POW算法称为Ethash(Dagger-Hashimoto算法的改进版),与比特币的工作量证明算法略有不同,这使得用普通硬件挖矿成为可能。

最新版本的 Ethash 旨在实现以下目标:

以太坊pow和pos区别_小蚁股和以太坊的区别_以太坊和比特币的区别

1. IO饱和:算法应该消耗几乎所有可用的内存访问带宽,这是一种实现ASIC-resistance的策略,它针对的是可用RAM,尤其是GPU中的显存,比计算机内存更快更接近理论最优值)

2、对GPU友好:尽可能让GPU挖矿更简单。 以 CPU 为目标几乎是不可能的,因为潜在的专业化收益太大,而且对 CPU 友好的算法确实容易受到僵尸网络攻击。 所以综合考虑后,我选择了对GPU友好。

3、轻客户端可验证性:轻客户端在C语言的桌面上要能够以0.01秒为单位验证一轮挖矿,在Python或JavaScript中以0.1秒为单位验证一轮挖矿。 最多占用 1 MB 内存(但呈指数增长)。

4. 轻客户端变慢:使用轻客户端运行算法的过程应该比使用完整客户端慢得多,因此在轻客户端(包括通过专用硬件)上运行算法并不是一种经济上可行的挖矿方式。

5. 轻客户端快速启动:轻客户端应该是完全可操作的,并且能够在 40 秒内用 Javascript 验证块。

基于以上考虑,开发组最终解放出来的Ethash挖矿基本与CPU性能无关,与内存大小、内存带宽正相关。 以太坊中的这种工作量证明算法降低了通常用于比特币挖矿的特定硬件 ASIC 的效率。

此时此刻,除了工作量证明机制,其他共识算法也在不断突破创新。 对于区块链等基于协议、需要大规模社会协作和参与的颠覆性技术,值得期待。