高効率な産業のためのブロックチェーン
ハードウェア・ソフトウェアシステム
奈良先端科学技術大学院大学 情報科学領域
コンピュティング・アーキテクチャ研究室研究科
助教

トラン ティ ホン
2021年10月15日

ブロックチェーン（BC）とは？

暗号化ハッシュ値

…

… …
BC 台帳

…

分散型 (Decentralized)
不変性 (Immutable)
透明性 (Transparent)

Blockchain
Network

BCはSDGs、New Normal、Society 5.0の開発に重要な技術である

2

内容

ブロックチェーンハードウェアアクセラレータ（BCA）✓汎用用✓ブロックチェーンネットワークマイニング用
ブロックチェーンソフトウェア✓Vac-chain: COVID-19ワクチンの管理・トレーサビリ
ティシステムの開発

3

BCAとは？
BCAは、ブロックチェーンネットワークを保護するため暗号化ハッシュ値(SHA-2, SHA-3など)を求めるハードウェア回路。BCAは、以下のアプリケーションに適用する：
分散型ブロックチェーンネットワークの保護
IoTネットワークに対するデータ整合性とプライバシの保護デジタル署名
ハッシュベースのメッセージ認証コード（HMAC)

など。。。
4

SHA-25632b
W0

13×48 operators

48 loops

32b…

ME
process

W15

512-b input data
W0…

W15W16…

W63

26×64 operators

64 loops

MCprocess256-bit hash>2000 operators forcalculating 1 hash value
5

SHA-25632b
W0

13×48 operators

48 loops

32b…

ME
process

W15

ハッシュ計算の特徴
512-b input data
- 多数ループ必要- ループレベルで計算に必要なデータの従属性有り
64 loops
W…
WW…
W
26×64 operators- ループ内の計算に対して、多数の演算子が必要
015

1663

MCprocess◆CPU / GPUが高パフォーマンスを達成できない
256-bit hash◆既存のASICアクセラレータは、アクセラレータとのデータ送受信のことを無視するstandalone回路として設計されている>2000
operators forcalculating 1 hash value
6従来技術とその問題点
CGRA-based

DDRAM
PCI BusGPU

BCA1024 bits
AXI Bus1024 bits

Memory & Calculation unit
are separated

PE 7

PE 0

L2 cacheLMLM

L1 cacheCore 0DDRAM

Core 1 Core 2

Core N

…
ALU

ALU

…

…

…

…

…

…

…

PE 56

PE 63

LM

LM
…

ALU
Y=A*B+CA
B
C

High complex
but …

×Y+

ALU

NOT suitable forhash functions

CGRA: Coarse Grained Reconfigurable
Architecture7

従来技術とその問題点
CGRA-based

DDRAM
PCI BusGPU

BCA1024 bits
AXI Bus1024 bits

Memory & Calculation unit
are separated
L2 cacheGPU
Tesla V100
L1 cacheCore 0Core 1 Core 2Core N

PE 7PE 0LM

1 hash / 1 clock
PE 63

Y+LM

LM
…

ALU

High complex
but …

×ALU

…

B
C

1W

…

PE 56

…

1 hash / 246clocks…
(simulation result)
…

ALU

…

…

300W

Y=A*B+C

BCA (goal) LM
…

ALU
A

DDRAM

NOT suitable forhash functions

CGRA: Coarse Grained Reconfigurable
Architecture8

従来技術とその問題点
DDRAM

Problem 1: Multiple PEs / hash loop

AXI Bus

Basic CGRA

Low speed, low efficiency
Meshnetwork
among PEs

Problem 2: Mesh network among PEs

Active PE

Inactive PE

Large area &High power consumption

9

BCA：目標と特徴
Embedded system
CPUcaches

MMU

特徴：◼Pipelined ALU◼Multiple Local Memory◼Double Processing Elements◼Cascaded BCAs

AMBA bus
DDRMemory

AXI bus目標：◼ 高処理速度◼ 低消費電力◼ データ送受信の問題の解決

BCA

BridgeIoTsensors

NIC

Decentralized
Blockchain Network10

内容説明

BCA Arch 1:
汎用用 SHA-256の計算機
アプリケーション：
IoTネットワークに対するデータ整合性とプライバシの保護デジタル署名

ハッシュベースのメッセージ認証コード（HMAC)特徴： BCAは、相互に関連なしハッシュ関数を計算します 低処理速度で結構ですが、超低消費電力が必要です。
11

BCA Arch-1の概要アーキテクチャ
AXI busS1◆Point 1:Pipelined ALU

GRAM

PE 0
S2HRAM

ALU

WRAM

S3 …

S2

WRAM

HRAM

ALU

ALU

S3…

PE 56
S2HRAM

WRAM…

◆Point 2:Multiple Local
Memory(Multimem)

PE 7

S3…

PE 63
S2WRAM

HRAM

ALU

S3BCA

12

Point 1: Pipelined ALU

1313

Point 1: Pipelined ALU
達成できること：• ハッシュ関数の1つのループを1つのPE内でも計算できる• 処理速度は1ループ/クロックを達成できる• 回路の最大周波数が高まる。

1414

Point 2: Multimem
各ループ

Multi-mem PE
SBi

W-RAM 1LU1W-RAM 2
W-RAM 3SBi

AU1

W-RAM 4

ループ#0~#63

ME

WM (S2)
各ループ

ループ#0

SBo
LU2

H-RAM 1
H-RAM 2

AU2

H-RAM 3

AU3

H-RAM 4MC

Pipeline ALU

HM (S3)

SBo最後ループ15

Point 2: Multimem
各ループ

Multi-mem PE
SBi

達成できること：
W-RAM 1
◆ ALUには、クロックごとに15ワードのデータが必要であLU1
W-RAM 2
り、ローカルメモリがALUに十分なデータを効率的に提W-RAM 3
ループ#0
SBi供する方法が必要。 AU1
W-RAM 4

各ループ

SBo

ループ#0~#63

ME

WM (S2)提案されたMultimem（W-RAM、H-RAM）は、次のことをLU2実現できる:
H-RAM 1
H-RAM 2AU2
⚫ 外部データアクセスを回避するのにALUに十分なデータ
H-RAM 3を提供する
AU3
H-RAM 4MC⚫ ALUが100％の効率を達成できるようにする

Pipeline ALU

HM (S3)

SBo最後ループ

1616

内容説明

BCA Arch 2:ブロックチェーンネットワークマイニング用
Double SHA-256の計算機
アプリケーション：
 Blockchain network mining特徴： BCAは、Nonce値を変更することにより、ハッシュ関数を複数回計算する
 高処理速度17BCAの応用 – Blockchain Mining
Mining pool(transactions)Ver.

Prev. hash

Average 1020
repeat per block!

SHA-256

Merkle Root

Time Target Nonce+1

Double BCA
SHA-256

No

High speed low power
Double SHA-256 circuit
is required!

Merkle treehash

< target?

HeaderYes
Current
block hash

Broadcast

Transaction raw data18

BCAの応用 – Blockchain Mining

BCA Arch 1: SHA-256の計算機
BCA Arch 2: Double SHA-256の計算機

19

BCA Arch-2の概要アーキテクチャ◆Point 3:
Double-PEArchitecture◆Point 4:Cascaded BCAs

20

Point 3: Double PE Architecture21

Point 3: Double PE Architecture
達成できること：◆ Double SHA-256関数は、1つのD-PE内でも計算できる◆ D-PEは、クロックごとにハッシュ値を計算できる◆ D-PEは、入力データをロードするため計算を停止する
ことなく、有効なハッシュ値を見つけるまで無限に機能する◆ W-RAMとH-RAMのサイズが大幅に削減される

22

22

Point 4: Cascaded BCA chips

23

Point 4: Cascaded BCA chips

達成できること：◆ 実際のシステムに合わせて、処理速度と消費電力を簡単にトレードオフできる

24

実験の結果CPU: 64 times
GPU RTX 3090: 36 times
25

内容ブロックチェーンハードウェアアクセラレータ(BCA）✓汎用用✓ブロックチェーンネットワークマイニング用
ブロックチェーンソフトウェア✓Vac-chain: COVID-19ワクチンの管理・トレーサビリ
ティシステムの開発

26

Vac-chainシステムの概要
Vac-chainの解決できる問題：
偽ワクチンの流通
ワクチンの重篤な副作用の原因を調査するための情報不足
ワクチンパスポート

SYSMAN
VMs

GOVs

VAOs

VADs

Vac-chain

Users

VacGateways

GOV: Government organization
SYS-MAN: System manager
VMs: Vaccine manufactures
VAOs: Vaccine Approved Organizations
VADs: Vaccine Authorized Distributors

27

Vac-chainの重要な技術

28

偽ワクチン・品物に対策とは？
従来方法：
 高価で特別なQRコードラベルを作成する必要がある➢ 低い経済効率➢ 偽物を完全に回避できない

提案方法：
偽のワクチンは、3つのセキュリティ手順を介してチェーンから排除される。
• SYS-MANの警備員• QRコードの大量の違法コピーを回避するためのCGCP方法• QRコードの単一の違法コピーを回避するためのGPP方法
CGCP: Genuine Code Generator & Protector
GPP: Genuine Product Protector

28まとめブロックチェーンハードウェアアクセラレータ（BCA)✓汎用用✓ブロックチェーンネットワークマイニング用→ FPGAに乗せたBCAの電力効率はGPUの電力効率より36倍優れている
ブロックチェーンソフトウェア✓Vac-chain: COVID-19ワクチンの管理・トレーサビリティ
システムの開発→経済的で高効率な偽物排除対策

29

実用化に向けた課題

30

現在、完成したこと:✓Arch-1 とArch-2の回路設計とFPGAボードでのパフォーマンス評価。
✓Xilinx Alveo U280とZCU102などFPGAボードで載せたArch-2はOffline Bitcoin miningの実装を完了。

しかし、以下の点が未解決です：✓BCAのArch-2を使用してLive Bitcoin Miningの実装。

✓Arch-1は、FPGAボードのバスシステムの制限により、データ転送にボトルネックが残っている。

30

実用化に向けた課題

31

今後の実施予定：✓小型化（USBタイプにチップ化する）BCAを既存FPGAボード・PCに接続して、高速マイニングを実現する。
✓小型化（カードタイプにチップ化する）BCAをraspberry piボードに接続して、IoTシステムのデータ整合性とプライバシを保護する。

31

企業への期待• ライセンス• 共同研究✓ 提案したBCAアーキテクチャを各アプリケーションに適用できるように✓ Vac-chainまたは製品の偽造防止管理システムの開発と社会に適用できるように
32

本技術に関する知的財産権• 発明の名称• 出願番号• 出願人• 発明者：処理要素、その制御方法および制御プログラム、並びに処理装置：特願2021- 9164
：奈良先端科学技術大学院大学：トラン テイ ホン、中島 康彦

33

お問い合わせ先奈良先端科学技術大学院大学
産官学連携推進部門
ＴＥＬ ０７４３－７２－ ５１９０
ＦＡＸ ０７４３－７２－ ５１９４
e-mail ip-3f＠ip.naist.jp

34

APPENDIX

35

BCAの応用 – Blockchain Mining
Mining pool(transactions)

BCAはSHA-256など暗号化ハッシュー値を求めるハードウェア回路である
Ver.

Prev. hash

Average 1020
repeat per block!

SHA-256

Merkle Root

Time Target Nonce+1

Double BCA
SHA-256

No

High speed low power
SHA-256 circuit isrequired!

Merkle treehash

< target?

HeaderYes
Current
block hash

Broadcast

Transaction raw data36

BCAの応用 – Blockchain Mining

BCA Arch 1: SHA-256の計算機
BCA Arch 2: Double SHA-256の計算機

37

なぜ超低消費電力・高速BCAは必要？
Local server

Local
server

BCA

Local server
BCA

Local server
BCA

5GBCA
BCA
BCA
BCA

BCA
BCA38従来技術とその問題点
32b
W0

32b…

13×48 operators

48 loops

MEprocessW15

512-b input data
W0…

W15

W16…

W63

26×64 operators

64 loops

ハッシュ計算の特徴- 多数ループ必要MC- ループレベルで計算に必要なデータの従属性有り
process- ループ内の計算に対して、多数演算子要り(>2000)- ループ内のデータの従属性有り
256-bit hash39