Grin架构设计选择分析( 三 )


Secp256k1是高效密码标准中定义的椭圆曲线 , 用于比特币、以太坊、EOS和Litecoin等多种加密货币的数字签名 。 Grin也使用了同样的椭圆曲线 。 一些安全专家建议不要使用secp256k1曲线 , 因为已经发现了一些问题 , 但不一定会加以利用 。 这些问题之一是复数乘法字段判别式不够高 , 无法保证安全 。 这可能会导致潜在的未来利用 , 因为具有低复数乘法判别力的曲线往往更容易断裂 。
启动一个具有潜在危害的曲线的项目似乎不是一个好主意 , 特别是当确实存在具有更好的安全属性和特性的其他曲线时 。 存在许多可用于提高安全性的替代曲线 。 例如Curve25519 , 它可以与改进的Ed25519公钥签名系统一起使用 。 Ed25519签名方案利用Edwards曲线数字签名算法(EdDSA) , 在不牺牲安全性的前提下 , 利用SHA-512和Curve25519构造了一个快速签名方案 。
还有许多其他替代方案 , 由Daniel J. Bernstein和Tanje Lange维护的SafeCurves等平台可以帮助调查和选择替代安全曲线 。 SafeCurves平台将使评估许多加密曲线的安全属性和潜在漏洞变得更加容易 。
密钥库的选择
Grin最初将RocksDB用作内部键值存储 , 但是对此决定提出了一些批评 。 存在许多具有其他性能和安全性特征的替代方案 , 例如LevelDB , HyperLevelDB和闪电存储映射数据库(LMDB) 。 在这些之间选择以找到区块链应用程序的“最佳”键值存储库仍然是一个难题 , 因为许多在线资源都提供了相互矛盾的信息 。
基于一些在线基准测试的有争议的结果 , 似乎其中一些替代方案具有更好的性能 , 例如生成较小的数据库大小和执行更快的查询 。 例如RocksDB和LevelDB似乎是LMDB更好的替代品 , 因为与其他数据库库相比 , 它们产生最快的读取和删除速度以及一些最小的数据库 。 这并不完全正确 , 因为在测试过程中犯了一些错误 。 Howard Chu写了一篇题为“谎言 , 该死的谎言 , 统计和基准”的文章 , 揭露了其中的一些问题 , 并表明LMDB是最好的密钥价值存储库 。 Symas Corp执行的其他基准测试也支持这一说法 , 其中LMDB的性能优于所有测试过的密钥存储库 。
Grin后来用LMDB取代RocksDB , 以保持Grin钱包的状态 。 这种转换似乎是一个好主意 , 因为LMDB似乎是与区块链相关的应用程序的最佳键值存储库 。
02
结论 , 意见和建议
1. 选择正确的发行率 , 对于创造一个可持续的货币政策是一个重要的决定 。
2. 应注意确保在SoV和/或MoE之间找到适当的平衡 。
3. 权衡与抗ASIC相比 , 对ASIC友好的好处和潜在问题需要仔细评估 。
4. 安全曲线等工具可用于选择应用程序的安全椭圆曲线 。 甚至具有潜在安全漏洞的加密曲线也应该被忽略 。
5. 使用在线基准测试帮助选择项目库时应格外小心 , 因为结果可能会产生误导 。
相关文章阅读:
隐私加密系列|Grin与BEAM之间技术公开对比
隐私加密系列|区块链二层扩展研究综述-part2
【Grin架构设计选择分析】隐私加密系列|区块链二层扩展研究综述-part1