IOTA 加密核心FPGA – 第四次进展报告

IOTA 加密核心FPGA  - 第四次进展报告

这是我的第四份进度报告。 如果您错过了第3个:链接(https://medium.com/@punpck/iota-crypto-core-fpga-3rd-progress-report-3611b030d80d

第三个里程碑已经完成!

我被问到很多关于该项目的ELI5。 所以我试试:)

什么是FPGA?

FPGA是“现场可编程门阵列”的缩写。 数字逻辑可以用诸如VHDL或Verilog的硬件描述语言来描述,而synthesis-Tools可以从这些描述中合成数字硬件。

你可以看到这样的方式:CPU正在执行程序。 可以配置FPGA来运行例如执行程序的CPU 🙂

FPGA通常用于原型硬件,后来可用其制造ASIC(真实芯片)。 ASIC速度更快,能耗更低,但其制造成本极高(6位数)。 如果发生了变化 - 例如新的哈希算法 - 芯片必须全新制造。

由于FPGA的配置易变,因此可以很容易地重新配置。 每次的充电周期,配置都会再次加载到FPGA中。 许多的FPGA也支持加密。 这意味着,配置可以加密,FPGA只接受可以通过FPGA内部存储的(易变性或永久性)解密密钥进行解密的配置。 这可以用作复制保护或防篡改或分析配置。

什么是FPGA模块?

在第二个里程碑中开发了FPGA的FPGA-核心(配置),该里程碑是关于使用FPGA核心开发FPGA模块。

两者相结合可以被看作是具备硬件加速功能的安全的加密货币处理器,用于IOTA经常使用的算法。

在模块与1欧元的硬币进行尺寸比较之后。

安全处理器并不是新的 - 例如有一些ST Micro也用于Nano Ledger钱包。 通常它们具有专用硬件,显著加速了例如 SHA256或ECDSA的算力 - 但没有安全处理器支持IOTA中使用的算法。

这是FPGA内核+模块发挥作用的地方。它就像一个安全处理器,但支持IOTA中使用的算法。

它可以执行以下操作:

  • 集成的Cortex M1(32位ARM,100MHz时钟),可在C / C ++中编程。它也可以通过标准调试接口(SWD)进行调试。
  • 它具有Trinary < - >二进制类型转换的加速器,Hashing(CURL-P81,KECCAC384,Troika;每个哈希循环的单个时间周期),并可以非常快速地进行工作量证明(~330ms avg)。
  • 它可以进行私钥管理,并可以在安全存储器中存储8个私钥。
  • 它提供了一个可以通过RS232使用的JSON-Api。目前它提供命令,用于生成地址或随机私钥,签署交易和PoW  - 加速所有硬件。
  • 所有内容都包含在FPGA中,并且可以加密FPGA的配置文件。更新FPGA的配置非常容易,但是不可能篡改微处理器代码(作为ROM嵌入)或提取诸如密钥的敏感信息。
  • 它集成了RS232或SPI等外围设备以及数字输入和输出,这些输入和输出连接到模块连接器,并在模块的上侧提供备用(未使用)引脚。

*:在安全方面没有“不可能”。 但加密算法AES128是完整的。

此外,还开发了“dev”-board(用于测试模块并尝试一些东西)。 在下图中,您可以在左侧看到FPGA模块(尺寸为30x26mm)。 更大的电路板是“dev”-Board。

在目前的状态下,FPGA模块和电路板已经可以运行独立的应用程序。 它有一个以太网芯片,用于与LAN网络通信(例如IOTA的全节点)。 之前的测试表明,该性能足够高将PoWed值束提交到大约1TPS的缠结(Tangle)(带有3 TX的PoWed值束;1个安全级别为2的签名输入,1个输出)。 不幸的是,全节点API调用“getTransactionsToApprove”另外需要3-4s左右。 但gTTA的性能问题是众所周知的,并且在不久的将来肯定会得到改善。

文档和代码

主要项目文档(已经更新并在里程碑3结束时进行了扩展)可以在这里找到:https://gitlab.com/iccfpga/iccfpga-core/wikis/home

所有的存储库都在这里:https://gitlab.com/iccfpga

下一步是什么?

下一个里程碑是关于开发一个Linux系统级模块,它将使用FPGA模块作为安全加密处理器:)

这将比FPGA模块更具挑战性。 我希望它能奏效。

再次感谢您阅读这么多文字:)

原文:
https://medium.com/@punpck/iota-crypto-core-fpga-4th-progress-report-e83363d2ea8d


DAG007,系分布式的区块链贡献者社区--Blockchain007成员。
Blockchain007--分布式的区块链贡献者社区,追寻优质的区块链项目。通过构建社区渠道、整合项目资讯、对接行业资源等方式,助推项目的运营推广、上线交易与生态布局。我们是敏锐的探寻者,也是忠实的拥护者,更是无私的贡献者,希望能与志同道合的你共同成长为IOTA的见证者。

注:本篇文章涉及较多的专业性词汇,译者能力有限,存在较多不准确翻译之处,请各位不吝指出,以便作出修改,可文章评论留言,或联系微信:dagfans007,感谢。

专栏作者:DAG007

个人简介:Blockchain007社区发起成员之一,Volunteer In Blockchain! ...

作者邮箱 作者主页 Ta的文章

1条评论 “IOTA 加密核心FPGA – 第四次进展报告”

发表评论

电子邮件地址不会被公开。 必填项已用*标注