Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
82
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
SLH-DSA (SPHINCS+)
azuchi
0
16
Hyper Tree
azuchi
0
18
FORS
azuchi
0
31
クラスターmempool
azuchi
0
43
W-OTS+
azuchi
0
50
Shorのアルゴリズム
azuchi
0
71
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
56
Fiat-Shamir変換と注意点
azuchi
0
260
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
69
Other Decks in Technology
See All in Technology
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
770
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
140
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
830
AWS FinOps Agent 結局何が得意なの?
siromi
0
220
Claude起点の仕様駆動開発
tanakaseiya
0
230
1人アドミンな私はAWSアカウント申請をSlackで完結したい!
ysuzuki
0
100
データ品質を壊しながらSnowflakeのAIに分析させてみた
kawanago
0
320
GitHub Agentic Workflows を触ってみる
htkym
2
880
覗いてみよう 関数型ビジュアル言語×2Dグラフィックスの世界
yohyamasaki
0
150
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
500
20260930_Gemma4_Hands-on
tsho
0
170
TiDBファミリーにDWHが新登場!! TiDB最新情報 / TiDB update 202609
yoshiakiyamasaki
0
160
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.6k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
290
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Tell your own story through comics
letsgokoyo
1
1.1k
Bash Introduction
62gerente
615
220k
Site-Speed That Sticks
csswizardry
13
1.5k
BBQ
matthewcrist
89
10k
It's Worth the Effort
3n
188
29k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
930
Color Theory Basics | Prateek | Gurzu
gurzu
1
480
A Modern Web Designer's Workflow
chriscoyier
699
190k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
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 サイコロの偏り除去し、乱数生成 チェックサム計算用ワークシート 有限体上の加算用回転盤 有限体上の乗算用回転盤 ラグランジュ補間用回転盤