审计人:JeanPhilippeAumasson
我们在此宣布,Ergo已顺利通过代码某些最关键部分的安全审计。此次安全审计由Jean-PhilipeeAumasson完成。
具体报告如下所列。没有发现任何重大问题。对所发现问题的评论如下:
1.关于钱包密码,我们将在下一版协议客户端中提供建议。不确定是否会对密码进行硬性执行,但我们会对此做更多的咨询。
2.只有在启动新网络时修改“n”和“k”参数才有意义。修改挖矿节点中的这些参数将使生成的区块对其他节点来说无效。修改协议客户端中的这些参数意味着要进行另一次分叉。因此,可能不需要进行额外核验,因为那些启动新网络的人会正确设置“n”和“k”参数。
3.目前Ergo节点以及我们知道的其他区块链协议客户端和钱包还有我们正在使用的密码库均无法提供防止本地运行的侧通道攻击的保护。所以,请保护好正在运行你钱包的设备!
摘要
我们应Ergo的请求对其Ergo平台的几个组件进行了安全评估:
比特币矿企Iris Energy 6月产出148枚BTC,挖矿收入环比下降27%:7月8日消息,比特币矿企Iris Energy 6月产出148枚BTC,挖矿收入为354.6万美元,环比下降27%。该公司平均算力保持每秒1.165 exahash,而每枚BTC挖矿收入从5月的32,264美元降至23,925美元。
此外,该公司表示,它打算继续清算每日开采的比特币,并指出这一直是其从一开始的战略。该公司还预计到2022年底算力将达到4.3 EH/s,但也表示由于当前的市场状况,超出该目标的扩展计划可??能会延迟。
根据声明,Iris Energy将“推迟主要的额外资本支出,直到当前的市场不确定性消退并且融资条款得到改善。”(The Block)[2022/7/8 1:59:14]
l?西格玛协议证明的创建与验证
l?钱包对密语的安全存储
l?工作量证明
这份简短的报告概括了我们的评估,并说明了我们所发现的问题以及应对措施建议。
西格玛协议证明
Iris Energy 12月哈希率上升了 14%:金色财经报道,在周二向美国证券交易委员会提交的文件中,纳斯达克上市比特币矿企 Iris Energy (IREN) 平均算力在 2021 年 12 月环比增长 14%,而营业收入下降 6.4%?。该矿工在比特币网络上的计算能力达到了 748 petahash/s (PH/s),而 11 月份为 657 PH/s。这家澳大利亚公司将这一增长归因于安装了 1666 台 Bitmain Antminer S19j Pro 矿机,这些矿机取代了不列颠哥伦比亚省 Canal Flats 站点的旧机器。\u2028Iris Energy 在 12 月开采了 124 个比特币,而在11 月开采了 113 个比特币。同期,以美元计算的营业收入下降 6.4% 至 620 万美元,因为每开采比特币的收入暴跌至 14.8%,每开采比特币的电力成本增加 4.6%。该公司将收入下降归因于比特币价格下跌和挖矿难度增加。\u2028\u2028Iris Energy?11 月份的收入下降了 10%?。截至发稿时,Iris Energy 的股价在盘前交易中上涨了 0.81%。\u2028[2022/1/11 8:41:57]
Ergo协议依赖于ErgoScript,这是一种支持西格玛语句的脚本语言,可以通过非交互式知识证明来对其进行证明和验证。
澳大利亚比特币矿商 Iris Energy 的 IPO 每股定价为 25 至 27 美元:11月9日消息,据澳大利亚比特币矿商 Iris Energy 提交给美国证券交易委员会(SEC)的文件显示,Iris Energy 计划在首次公开募股中以每股 25 至 27 美元的价格出售约 830 万股股票。Iris 计划在未来将总算力提高至 15.2EH/s,据 Glassnode 数据显示,该算力达到了截至 11 月 8 日比特币全网算力的 10% 左右。此外,Iris 表示目前公司已卖出所有挖矿产出的比特币。
此前报道,Iris Energy 于 10 月向美国证券交易委员会(SEC)申请首次公开募股(IPO),计划筹集 1 亿美元,并在纳斯达克上市交易,股票代码为IREN。[2021/11/10 6:42:24]
这些证明是这样的语句,它被描述为由AND、OR和阈值条件组成的树,其树叶是离散对数问题的知识证明。
西格玛语句证明是非交互式的,这归功于Fiat-Shamir转换。
该逻辑在《ErgoScript白皮书》中有详细说明,且详细的证明与验证流程在其附录A中有介绍。
Ergo黑客松大赛结果出炉:据官方消息,Ergo黑客松大赛于本月19日宣告结束,获得冠军的是Raffle团队,亚军是SigmaStamp团队,季军是ErgoTeam团队,将分别获得5000美金、2500美金和1000美金奖励。Smartpools、ErgoIndex、ErgoCharts等参赛团队将分别获得100美金奖励。此外,Ergo创始人Alexander Chepurnoy表示,Ergo团队正在考虑在今年晚些时候再举办两场黑客松大赛。
此次大赛评委阵容包括:Graviton创始人、Neutrino协议和Gravity协议联合创始人Aleksei Pupyshev;dcSpark首席安全官(CSO)、原Emurgo研究负责人、Ergo基金会成员Robert Kornacki等。[2021/6/25 0:05:57]
实现挑战则是:
l?定义安全高效证明的编码,并实现总是成功处理有效输入的序列化,以及总是无法处理无效输入的反序列化。
l?根据规范正确地实现证明与验证功能,最重要的是确保没有无效语句能够成功通过验证。
ERG挖矿收益挤进前三:据官方消息,近10日来,Ergo公链原生代币ERG价格从突破4美元到目前最高涨至14.8美元,ERG挖矿收益最高跻身PoW区块链项目中第三名。截止发稿时间,ERG全网挖矿算力为10.73 TH/s,先前算力仅逾4TH/s。
Ergo基于PoW的Autolykos(奥托吕科斯)共识算法协议具有阻碍ASIC矿机的功能。PoW具有很高的安全性保证,对轻客户端友好,而且能支持NiPoPoW证明。Ergo原生代币ERG最终供应量仅为97,739,925枚,永不增发,永不销毁,总量恒定不变,数量稀缺,兼具实用性。[2021/5/17 22:10:22]
我们对这两个方面进行了审计,根据存储库sigmastate-interpreter中的代码和《ErgoScript白皮书》,对预期行为与实际所实现的行为进行仔细比较。
我们会重点审计了来自SigSerializer、Interpreter和ProverInterpreter特质和对象的代码。
我们主要寻找来自以下类别中的Bug:
l?不安全处理有缺陷的输入
l?不安全处理异常长或异常短的输入
l?大树深度或递归级时的行为
l?不安全使用Scala类型和结构
l?不合适的变量类型
l?整数溢出
l?竞态条件
l?逻辑错误
尽管进行了详尽审计,但我们并未发现任何安全问题。
协议的逻辑和内部机制是比较复杂的,我们认为最大的风险在于对证明进行分析与验证。然而,如要利用这些漏洞,攻击者必须创建一个在某种程度上会令自己受益且在不应通过验证时通过验证的语义正确脚本。
在软件安全方面,Scala消除某些类别的Bug,但是由于Scala的特定行为或未处理的错误,Scala代码可能依然会受到Bug的困扰。
钱包
Ergo的钱包功能使其用户能够在磁盘上存储并恢复密语,且在初次使用的时候,可以用一个新的种子对钱包进行初始化。
该逻辑主要在ErgoWalletActor中进行定义,有关密语存储的一个主要组件是JsonSecretStorage。
首次创建钱包时,InitWallet命令执行以下操作:
l?生成作为初始熵的settings.walletSettings.seedStrengthBits随机位。在默认情况下,生成160位。
l?从生成的随机位中生成一个BIP39,这可以被视作熵位的一次编码。采用密码可选的标准BIP39逻辑。
l?使用BIP39基于PBKDF2的推导逻辑,从助记词中推导出种子。
l?采用一个随机数,通过AES-GCM将种子加密到磁盘,使用拥有128000次迭代的PBKDF2-HMAC-SHA256,并利用一个随机盐从密码中推导出一个密钥。
如要解锁一个已创建好的钱包,用户提供密码,钱包将尝试解密所存储的数据。
如要从BIP39口令恢复现有帐户,需要执行一个类似于初始化的流程,只不过钱包将从助记词中而非通过挑取随机助记词的方式获得种子。
我们在此确定的两种风险包括:
l?缺乏对密码长度的检查:由于钱包是在磁盘上存储密语,密码足以访问种子,因此,从理论来讲,密码的熵至少应当与助记词相同,而在实际上应该很难破解。因此,我们建议采用最短的密码长度,如16个字符。
l?在钱包软件执行后,密语值的副本可能会留在内存中,这是诸如Scala等垃圾收集语言的内在局限性。
共享相同内存地址空间的另一进程或用户可能会恢复这些密语,并且它们也可能出现在崩溃转储中。据我们所知,在纯Scala中没有有效的缓解。
工作量证明的验证
在先前审计Autolykos工作量证明的安全性之后,我们进行了另一轮审计,重点审计了其最新的验证逻辑,特别是在提交eb0f85a中所做的更改。
主要的相关文件是AutolykosPowScheme,其他重要操作在诸如HeadersProcessor和ModifierValidator中实现。
经过检查,我们发现所实现的验证逻辑与Autolykos规范中所阐述的验证逻辑是一致的,且其已被妥善整合进区块头的验证逻辑中。
我们认为应解决以下两点:
l?对k和n进行更严格的验证:虽然类强制执行k<=32和n<31,但依然可以从授权参数中创建弱。因此,validate()函数可能需要进行额外的验证,确认n和k是否等于预期值。
l?主张k和n为正值,因为当前的负值将传递assert语句。
安全审计人简介
全球顶尖密码学专家Jean-PhilipeeAumasson
Jean-Philippe(JP)Aumasson是世界著名密码学专家、KudelskiSecurity的技术副总裁兼首席密码学家、Teserakt的联合创始人和TaurusGroup的首席安全官。Jean-Philippe于2009年取得世界顶尖理工院校洛桑联邦理工学院博士学位,且在KudelskiGroup从事应用密码学、安全架构和网络安全领域工作已有8年时间。Jean-Philippe撰写了广受赞誉的著作《严肃密码学》,并设计了得到广泛使用的BLAKE2和SipHash等算法。他已为领先区块链和加密货币组织执行了大量安全评估。他曾在BlackHat、DEFCON、RSAC、CCC和Infiltrate等会议上发表了有关应用密码学、量子计算和平台安全性的演讲。他也是《密码技术编码标准》和密码哈希竞赛的发起人。
Ergo平台简介
Ergo平台是一个安全、适应力强、开放、无需许可、去中心化的DeFi应用底层公链平台,主要专注于提供一种高效、安全、简便的方式去实现金融合约,也是一个合约币和智能合约平台。其背后技术团队拥有10年区块链理论研究和实战开发经验,Ergo将以此为基础构建高级加密功能和全新DeFi功能。Ergo现有实例涉及众筹、预言机、去中心化交易所、稳定币、NFT拍卖等。另外,Ergo将永守PoW,支持普通人GPU挖矿。
原文链接:
https://ergoplatform.org/en/blog/2020_01_12_security_audit/
审计人简介参考链接:
https://www.aumasson.jp/
https://www.blackhat.com/us-19/speakers/Jean-Philippe-Aumasson.html
https://opencryptoaudit.org/people
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。