Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Codex32
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
shigeyuki azuchi
October 17, 2023
Technology
68
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Codex32
GBECの解説動画の資料です。
https://goblockchain.network/2023/06/codex32/
shigeyuki azuchi
October 17, 2023
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
FORS
azuchi
0
9
クラスターmempool
azuchi
0
32
W-OTS+
azuchi
0
34
Shorのアルゴリズム
azuchi
0
56
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
42
Fiat-Shamir変換と注意点
azuchi
0
220
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
55
BIP-374 離散対数の等価性証明
azuchi
0
72
BIP-353 DNS Payment Instructions
azuchi
0
88
Other Decks in Technology
See All in Technology
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
330
ご挨拶「10周年を迎える共創ラボのこれまでとこれから」
iotcomjpadmin
0
170
組織における AI-DLC 実践
askul
0
240
AI Agentをシステムに組み込む前にゆるく向き合ってみる
hayama17
0
180
フロントエンドイチゲキ実装 ― Figmaデザインと画面設計書からAIに実装・テストを書かせるための”下ごしらえ” / 20260627 Yusuke Mazuka
shift_evolve
PRO
0
100
水を運ぶ人としてのリーダーシップ
izumii19
4
1.1k
Microsoft のサポートとフィードバック総まとめ
murachiakira
PRO
0
130
5分でわかるDuckDB Quack
chanyou0311
4
290
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
150
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
210
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
250
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
0
430
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
1
3.7k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
880
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
The Invisible Side of Design
smashingmag
301
52k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Facilitating Awesome Meetings
lara
57
7k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
610
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
180
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
170
Leo the Paperboy
mayatellez
7
1.9k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
290
Transcript
Codex32
1 Codex32とは? 手計算でマスターシード/シェアを生成・検証可能な新しいエンコード方式 BIP-93:https://github.com/bitcoin/bips/blob/master/bip-0093.mediawiki 【既存のエンコード方式】 • ニーモニックワード(BIP-39)
• ニーモニックワード+シャミアの秘密分散法(SLIP-39) マスターシードを複数のシェアに分割し、 各シェアをニーモニックワードでエンコード 参考:Shamir Backup ◦ https://goblockchain.network/2020/01/shamir-backup/ Master Seed agree cup word shop real hard proof east final zoo wire city
2 既存のエンコード方式との違い • エンコード結果がコンパクト: 単語リストなどは使わなず、Bech32エンコードするので、 12個のワードよりはコンパクトに。 • 手計算可能: ◦
バックアップしたシード・シェアの正しさを検証するのに、 デジタルデバイスへの入力が不要 ◦ 手計算を可能とするため、BIP-39のようなパスフレーズの保護はない
3 Codex32のフォーマット • HRP:MS • セパレーター:1 • データ: ◦ 閾値:リカバリに必要な閾値数(2〜9)
◦ ID:鍵のFingerprint(4つのbech32文字) ◦ シェアインデックス ◦ シェアデータ ◦ チェックサム:13文字のチェックサム 最大4文字の誤り訂正、8文字の消失に対応
4 新しいマスターシードの作り方 1. シードのビットサイズを決める(128 bit 〜 512 bit) 2.
リカバリに必要なシェアの閾値kを決める(2〜9) 3. 4文字の識別子を決める 4. k個分シェアを作成する: a. シェアインデックスを選択(bech32アルファベット1文字:aから順に) b. シードのbitサイズ / 5 を切り上げた個数分、 ランダムなbech32文字を選択(128bitであれば 26文字) c. チェックサムを計算する マスターシードは、↑のk個のシェアから計算される(シャミアの秘密分散法): • シェアインデックスをxの値としてk-1次の多項式f(x)を構築 • x = 16(シェアインデックスs)で多項式を評価した値f(16)がマスターシード ※ 先にシードがあるのではなくシェアからシードを生成 ※ その他に必要なシェアは、新しいシェアインデックスで f(x)を評価して生成
5 既存のマスターシードがある場合 1. リカバリに必要なシェアの閾値kを決める(2〜9) 2. 4文字の識別子を決める 3. マスターシードを8bit単位→5bit単位に変換してbech32文字列を作成 (シェアインデックスはs) 4.
チェックサムを計算 5. 他にk-1個のシェアを作成する(1つ少ないのはマスターシードがあるから) 6. k-1個のシェアとマスターシードから多項式f(x)を構築 マスターシードのリカバリーとは? • k個のシェアを集めて、多項式f(x)を復元し、f(s=16)を計算すること
6 どうやって手計算するの? 準備するもの: • 5つのサイコロ • 計算用のCodex32冊子: ◦ https://secretcodex32.com/
◦ https://secretcodex32.com/docs/2022-09-26--color.pdf 手順は→ https://techmedia-think.hatenablog.com/entry/2023/03/15/192116 サイコロの偏り除去し、乱数生成 チェックサム計算用ワークシート 有限体上の加算用回転盤 有限体上の乗算用回転盤 ラグランジュ補間用回転盤