Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Extension Block
Search
shigeyuki azuchi
January 21, 2020
Technology
0
39
Extension Block
GBEC動画解説コンテンツのスライドです。
https://goblockchain.network/2020/01/extension-block/
shigeyuki azuchi
January 21, 2020
Tweet
Share
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
Shorのアルゴリズム
azuchi
0
10
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
10
Fiat-Shamir変換と注意点
azuchi
0
98
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
20
BIP-374 離散対数の等価性証明
azuchi
0
36
BIP-353 DNS Payment Instructions
azuchi
0
57
OP_CAT and Schnorr Trick
azuchi
0
54
Pay to Anchorと1P1Cリレー
azuchi
0
49
プロアクティブ秘密分散法
azuchi
0
70
Other Decks in Technology
See All in Technology
ペアーズにおけるAIエージェント 基盤とText to SQLツールの紹介
hisamouna
2
1.7k
"人"が頑張るAI駆動開発
yokomachi
1
620
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
230
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
160
なぜ あなたはそんなに re:Invent に行くのか?
miu_crescent
PRO
0
210
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
220
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
9.9k
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
270
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.5k
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
7
4k
障害対応訓練、その前に
coconala_engineer
0
200
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
210
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
39k
BBQ
matthewcrist
89
9.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
74
Claude Code のすすめ
schroneko
67
210k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
260
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
73
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.4k
It's Worth the Effort
3n
187
29k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
First, design no harm
axbom
PRO
1
1.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
38
Transcript
【Bitcoin】Extension Block
1. ブロックチェーンの機能追加の仕組み 2. Soft-forkでブロックサイズを増やす Auxiliary Blockの提案 3. Extension Blockの仕組み 4.
Litecoinで提案されている Extension Blockの導入 1 今日話すこと Extension Block
ブロックチェーンのコンセンサスルールに影響する変更を加える際の方法 • Soft-fork 既存のルールをより厳しくする際に使用するアップグレード方法で、 アップグレードしていない旧ノードもそのまま動作する。 ◦ ブロックサイズの縮小:32MB → 1MB
◦ OP_NOPに検証ルールを追加(OP_CLTV, OP_CSV) ◦ 新しいルールをサポートするsegwit version, programを追加 • Hard-fork(Network Upgrade) 既存のルールを易しくする際に使用するアップグレード方法で、 全ノードのアップグレードが必要。 ◦ ブロックサイズの拡大: 1MB → 2MB ◦ コンセンサスアルゴリズムの変更PoW→PoS 2 ブロックチェーンの機能追加の仕組み
3 Soft-forkでブロックサイズを拡大? 2013年にJahnson Lauが提案したSoft-forkでブロックサイズを拡大する方法。 Block Block Block Block Auxiliary Block
Auxiliary Block Auxiliary Block Auxiliary Block Block Auxiliary Block Auxiliary Blockでもメインチェーンと同様Bitcoinの送金ができる。 ① <serialized script x> OP_AUX という scriptPubkey宛にコインを送金する。 Tx ② 対応するAuxiliary BlockのコインベースTxに 同量のコインを持つUTXOが作られる。 UTXO: <serialized script xを展開したもの> コインがメインBlockからAuxiliary Blockに移動 Coinbase Tx コインがAuxiliary BlockからメインBlockに移動 ④ コインを <serialized script y> OP_AUX OP_RETURN 宛に送金する。 Tx ⑤ 対応するメインBlockで未使用のOP_AUXのUTXOを選択 し、ロックされているコインを同量、 <serialized script yを展開したもの> 宛に送金する。 ※ OP_RETURN によりAuxiliary Block 上の コインは消滅する。 ③ Auxiliary Blockの全Txのマークルルートが メインBlockのコインベースTxに記録される。
4 新旧ノードの振る舞い Block Block Block Block Auxiliary Block Auxiliary Block
Auxiliary Block Auxiliary Block Block Auxiliary Block Auxiliary Blockはどんなブロックサイズでもよく、コンセンサスルールも自由に設計できる。 ① <serialized script x> OP_AUX という scriptPubkey宛にコインを送金する。 Tx Coinbase Tx ③ コインを <serialized script y> OP_AUX OP_RETURN 宛に送金する。 Tx 新ノード 旧ノード 旧ノードから見ると OP_AUX = OP_NOPであるため、 このUTXOは誰もが使用可能なUTXOと認識する。 つまり、そのまま動作可能。 ※ 但し使おうとしても新ノードによるマイニングにより実際は使えない。 旧ノードはAuxiliary Blockについては関知しない。 新ノードは、以下の検証を行う。 • メインBlock<->Auxiliary間のコインの移動が正しく行 われているか • Auxiliary Blockのトランザクションが 新しいルールの下、有効か
5 Extension Blockの仕組み • 既存のメインBlockと1対1で対応するExtension Blockを用意する。 コインをメインBlockからExtension Blockへ移動させることで、Extension Block上では メインBlockのコンセンサスに縛られない
新しいルールの下で取引が可能になる。 ◦ Peg-in:メインBlockのコインをあるルールの下、ロックすることで メインBlockのコインをExtension Blockに移動する。 ◦ Peg-out:Extension Blockのコインをあるルールの下、 消滅させることでコインをメインBlockに戻す。 • 旧ノードはそのまま動作するため、従来ハードフォークが必要だった変更も ソフトフォークでの導入が可能になる。
6 Litecoinで提案されているExtension Block LitecoinにExtension Blockの導入を提案するLIP-0002 https://github.com/litecoin-project/lips/blob/master/lip-0002.mediawiki Block Block
Block Block Extension Block Extension Block Extension Block Extension Block Block Extension Block ① 新しいwitness program <ver> <commitment> 宛にコインを 送金してメインBlockのコインをロックする Peg-in Txを作成する。 Peg-in Tx ② 対応するEBのコインベースTxに 同量のコインを持つ UTXOが作られる。 UTXOのアンロック条件は <commitment>と対応する。 Coinbase Tx ③ コインをLitecoinのアドレスへのコミットメントの宛に 送金するPeg-out Txを作成する。 Peg-out Tx ExtAddrのscriptPubkeyは↓ ExtVer <eb_commitment> eb_commitmentは対応するEBのコミットメントで、 MimblewimbleのEBの場合は、 • EB内の全Txのトランザクションカーネル • EB内のUTXOセット のデータからコミットメントが作られる。 1つのIntegration Txにつき1つのExtAddrアウトプットが 作られ、そのブロック時点 EB側のコインの総量がロックされる。 ④ マイナーはメイン Block内のPeg-in Txを収集し、 EB内のPeg-out Txを収集し、Integration Txを 作成し、メインBlockの最後に配置する。 Integration Tx In 前のBlockのExtAddr UTXO Peg-in UTXO A Peg-in UTXO B Out ExtAddr UTXO Peg-Out UTXO Ⅰ Peg-Out UTXO Ⅱ
7 まとめ • Extension BlockはメインチェーンのBlockと1対1で対応するブロック ◦ EB側のブロックにコインを移動し、EB内では任意の コンセンサスルールを実行する拡張方法の1つ。 今までHFを必要としていた変更もSFで可能になる。 •
コインの移動の表現がサイドチェーンに似ているが、 ◦ コインの移動やEBのコンセンサスもメインチェーンの アップグレード済みフルノードにより検証される。 ◦ EB作成の手数料はメインBlockのコインとして徴収できる。 ◦ メインBlock、EBの両方がフルノードによって検証されるため、 フルノードの検証コストは上がる。 ◦ EBにはマイニング報酬はなく手数料報酬のみである。 ▪ メインBlockのTx手数料とEBのTx手数料のレートは異なるかもしれない。