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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
フロントエンドイチゲキ実装 ― Figmaデザインと画面設計書からAIに実装・テストを書かせるための”下ごしらえ” / 20260627 Yusuke Mazuka
shift_evolve
PRO
0
100
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
210
product engineering with qa
nealle
0
130
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.7k
MySQL & MySQL HeatWave Report - June 2026
freshdaz
0
250
Terraform 101 (初心者向け) 資料
shuadachi
0
140
技術・能力を向上する原理原則 #きのこセッションa #きのこ2026
bash0c7
0
190
從觀望到全公司落地:AI Agentic Coding 導入實戰 — 流程整合與安全治理
appleboy
0
320
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
1.5k
そこにあるから地図ができる~位置を示す"モノ"を愉しむ~ - Interface 2026年6月号GPS特集オフ会 / interface_202606_GPS_offline
sakaik
1
160
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
1
480
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
300
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
160
We Are The Robots
honzajavorek
0
260
What's in a price? How to price your products and services
michaelherold
247
13k
Thoughts on Productivity
jonyablonski
76
5.2k
Between Models and Reality
mayunak
4
360
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
170
Un-Boring Meetings
codingconduct
0
330
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Utilizing Notion as your number one productivity tool
mfonobong
4
330
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Bash Introduction
62gerente
615
220k
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 サイコロの偏り除去し、乱数生成 チェックサム計算用ワークシート 有限体上の加算用回転盤 有限体上の乗算用回転盤 ラグランジュ補間用回転盤