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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
shigeyuki azuchi
October 17, 2023
Technology
75
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
15
クラスターmempool
azuchi
0
36
W-OTS+
azuchi
0
39
Shorのアルゴリズム
azuchi
0
64
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
48
Fiat-Shamir変換と注意点
azuchi
0
240
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
60
BIP-374 離散対数の等価性証明
azuchi
0
77
BIP-353 DNS Payment Instructions
azuchi
0
96
Other Decks in Technology
See All in Technology
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
450
Goでデータパイプラインを作ろう
sansantech
PRO
1
360
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
190
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
570
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
210
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
130
Agent 時代の Kaggle 展望 / kaggle-in-the-agentic-era
upura
1
680
個人OSSが、机の上から世界に広がるまでの話
shinyasaita
1
370
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
190
Pavlokで始める電撃駆動開発
sgrsn
0
180
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
380
Mobile First: as difficult as doing things right
swwweet
225
10k
Designing Powerful Visuals for Engaging Learning
tmiket
1
480
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
We Are The Robots
honzajavorek
0
290
Un-Boring Meetings
codingconduct
0
380
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
240
It's Worth the Effort
3n
188
29k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
25k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
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 サイコロの偏り除去し、乱数生成 チェックサム計算用ワークシート 有限体上の加算用回転盤 有限体上の乗算用回転盤 ラグランジュ補間用回転盤