or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
FPGA-accelerated TrustZone-enabled IOTA Swarm Nodes
動機
在 IOTA 中,一個錢包完整發出交易 (transaction) 請求會被劃分為四個命令:
getTransactionsToApprove
attachToTangle
broadcastTransactions
storeTransaction
也就是先向 Host 取得兩個 tips (trunk, branch) 交易,接著錢包會將 trunk, branch,以及要發出的 transaction trytes 以
attachToTangle
送到 Host,讓 Host 簽發交易 (也就是 PoW),這步驟是發起交易最耗時的部分。接著請求 Host 將這筆交易廣播給其他鄰居,最後將這筆交易存下來。針對物聯網和大規模部署的需求,我們實作了 IOTA Swarm nodes 並允許在中低階 Arm 環境佈署,而在 2018-06-13 會議記錄 提及評估透過 FPGA 加速 IOTA PoW (attachToTangle 命令) 並期望在 Arrow SoCKit Evaluation Board 建立兼具 FPGA 加速和 Arm TrustZone 安全隔離的系統雛形。
現有 IOTA PoW 的 FPGA 加速器實作:
用 FPGA 加速的 IOTA PoW 時間分佈 (橫軸單位: ms)

預期 iota-swarm-node 整合方案
評估
Q1: 是否有TrustZone?
Q2: 選擇 shufps/dcurl或 LampaLab/iota_fpga?
PS:
Q3: FPGA合成資源初步判定
PS:
ALM: Adaptive Logic Module

LE: Logic Element
Q4: Weakness: FPGA與CPU有共有區塊,此區塊會保存seed,可以透過mmap存取
TODO
PS: seed在normal world與seucre world共享區塊是加密的,TA負責解密
PS: shufps/dcurl的第二步驟如果無法突破將會放棄,執行LampaLab/iota_fpga的移植; 如果成功,將不執行LampaLab/iota_fpga的移植。
Future Work
Weakness解決方案執行順序:
PS: nornal world與sercure world共享區域存放加密的seed
參考資訊
Altera DE1

Intel DE10-Nano Board: