当前位置:首页 > 物联网 > 区块链
[导读] Eaglesong 是专门为 Nervos CKB 设计的新型哈希算法。这是第一个成功结合了创新性、简洁性和安全性三个设计要求的哈希算法。今天这篇文章,我们将详细解释Eaglesong的设计思路

Eaglesong 是专门为 Nervos CKB 设计的新型哈希算法。这是第一个成功结合了创新性、简洁性和安全性三个设计要求的哈希算法。今天这篇文章,我们将详细解释Eaglesong的设计思路以及它带来的优势。

背 景

Nervos CKB 的共识机制(NC-Max)是改进版的比特币中本聪共识(Nakamoto Consensus, NC),它是就网络参与者的支付权限来达成共识的。通过这种机制,只要满足以下两个条件,那么任意节点都可以对系统状态进行更新(这种更新也被称为出块):

· 该区块是有效的;

· 出块者解出了一个叫作工作量证明的计算难题。

不断尝试解出这个难题并争取下一个区块出块权的节点被称为矿工,矿工会在难题被解出时获得相应的奖励。中本聪共识降低了网络所需的安全性,使其不受覆写历史的攻击,这是对算力分布的一种假设,即超过 50% 的算力都在诚实的矿工手中。

工作量证明难题是根据提出的块来定义的;这保证了难题的解和区块一一对应,并能够唯一地证明这一个块。具体来说,每个块都有一个唯一的 block_header,用于验证待确认队列中的一系列交易及验证人。以往的工作量证明难题一般会包括找到一个有效的随机数,比如:

H(block_header || nonce) 《= t 。

这里面:

· t 表示难度系数,该难度系数是周期性调整的,以控制平均出块时间;

· || 表示比特串(Bit Strings)的串接;

· nonce 是一串随机的比特;

· H 是一个单向加密哈希函数。

这个哈希函数 H 有以下几种作用:

· H 是公开的,因此网络上的任何节点都可以仅通过验证上述公式来验证所提出的节点是否有效。此外,任何节点都可以在无需许可的情况下成为矿工。

· H 是难以预测的,因此矿工的最佳策略是随机地猜测 nonces 且不断尝试新的 nonce,直到满足这个公式为止。这就意味着,矿工得到的奖励与他为保护整个网络所付出的算力份额相匹配。

比特币的哈希函数 H 是两次重复的 SHA2-256 运算。从结果来看,重复这个函数两次似乎有点多此一举,因为近二十年的密码分析都未能产生真正有意义的攻击。然而,在比特币刚出现的时候,SHA1 正在面临被破解的危机,那时的 SHA2 则更新颖一些。当然 SHA2 也有可能被 SHA3 取代,如果 SHA2 也到了和 SHA1 同样的境地的话。

虽然用 SHA2 定义工作量证明难题对比特币来说是一个不错的选择,但对后来的很多加密货币来说却不一样。很多为了挖比特币而特意开发的专用设备现在已经过时了,而采用相同工作量证明难题的新加密货币则可以重新启用那些过时的设备。甚至那些没有过时的设备也可以租出去,重新挖新的币。因此,算力分布变得非常难以预测,也可能遇到突然的算力大幅度波动。同样的道理也适用于为 SHA2 而量身定制的算法优化,它可以降低函数的软件计算成本,而不需要采用基于降低硬件成本的解决方案。

对于一种新的加密货币来说,使用一种其他的加密货币尚未使用过的工作量证明函数来定义工作量证明难题是非常可行的。对于 Nervos CKB 而言,我们会更进一步,选择一个全新的、完全不可能面临过早优化问题的工作量证明函数。

另外,挖矿设备达不到预期的情况仅会出现在早期。长远来看,部署专用的挖矿设备将会是非常有益的,这大大增加了攻击网络的难度。因此,对于一种新的加密货币来说,其工作量证明函数的前两个设计目标,除了创新性以外,还应该是简单的,这样它能够显著地降低专业挖矿设备开发的门槛。

第三个设计目标显然是安全性。虽然说,一个已知的漏洞对所有矿工来说都是一样的,大家都可以利用,但这只会导致更高的难度;而一个未公开的漏洞可能会给发现这个漏洞的矿工带来不一样的挖矿优势,这会导致他付出的算力和奖励不成正本。为了避免这种情况,最好的方法是为系统的安全性做一个强有力的论证。

Eaglesong

这时,Eaglesong 的用武之地就显现了。

Eaglesong 是专门为 Nervos CKB 工作量证明设计的新的哈希函数,它也适用于其他需要安全哈希函数的应用场景。其设计标准正是上面列出的那样:创新、简单和安全。我们希望这样的设计足够新颖,并且想要为技术的进步做一点小小的贡献,同时,也希望这样的设计仍然符合现实场景,以提出强有力的安全论证。为此,我们选择使用 ARX 步骤(添加,循环然后 xor —— 是不是很简单!)构建的排列来实例化 Sponge 架构 (与 Keccak/SHA3 相同),并基于宽路径策略为其安全性做出论证 (与 AES 的基本论证相同)。

安全到底意味着什么呢?让哈希函数适用于(诸如此处描述的)工作量证明难题的这个属性被称为多目标单向性(Multi-target One-wayness)。该属性是根据一场游戏定义的,在这个游戏中,会给对手一个目标列表,如果他能够在 H 下,对任意一个目标生成单一原像,那么他就获胜。除了一个个试错之外,如果对手没有其他更好的方法,那么就意味着函数 H 具有此属性。然而,哈希函数通常还具有其他属性,例如抗第二原像攻击(Second Preimage Resistance),抗碰撞性(Collision Resistance)和相关不可行性(CorrelaTIon Intractability)。对一个属性的攻击不会自动转换为对另一个属性的攻击。因此,从方法论角度来看,仅用多目标单向函数来实例化一个工作量证明难题是合理的。尽管如此,在 Eaglesong 的设计中,我们还是设定了轮数,这样一来,我们就无法区分所得的结果是随机排列的,还是在给定工作量的情况下排列的。Sponge 框架的结果是所得到的函数具有与哈希函数相关联的所有安全属性。
来源: Nervos 中文社区 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭