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
Atomic Loans
Search
shigeyuki azuchi
July 18, 2019
Technology
0
60
Atomic Loans
GBEC動画解説コンテンツのスライドです。
https://goblockchain.network/2019/07/atomic-loans/
shigeyuki azuchi
July 18, 2019
Tweet
Share
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
2
Fiat-Shamir変換と注意点
azuchi
0
42
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
8
BIP-374 離散対数の等価性証明
azuchi
0
27
BIP-353 DNS Payment Instructions
azuchi
0
43
OP_CAT and Schnorr Trick
azuchi
0
40
Pay to Anchorと1P1Cリレー
azuchi
0
40
プロアクティブ秘密分散法
azuchi
0
59
v3トランザクションリレー
azuchi
0
58
Other Decks in Technology
See All in Technology
組織改革から開発効率向上まで! - 成功事例から見えたAI活用のポイント - / 20251016 Tetsuharu Kokaki
shift_evolve
PRO
2
210
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
10
5.2k
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
120
Azureコストと向き合った、4年半のリアル / Four and a half years of dealing with Azure costs
aeonpeople
1
230
Codexとも仲良く。CodeRabbit CLIの紹介
moongift
PRO
1
260
現場データから見える、開発生産性の変化コード生成AI導入・運用のリアル〜 / Changes in Development Productivity and Operational Challenges Following the Introduction of Code Generation AI
nttcom
1
400
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
3
2k
[2025年10月版] Databricks Data + AI Boot Camp
databricksjapan
1
220
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
1
130
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
160
OSSで50の競合と戦うためにやったこと
yamadashy
3
630
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
45
7.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
600
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Automating Front-end Workflow
addyosmani
1371
200k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Scaling GitHub
holman
463
140k
Transcript
Atomic Loans
1 Atomic Loans ブローカーのような第三者を抜きに 借り手と貸し手の間で担保付き融資契約を 結ぶためのプロトコル。 BIP-197 Hashed
Time-Locked Collateral Contract とし ても定義。 https://github.com/bitcoin/bips/blob/master/bip-0197.mediawiki https://arxiv.org/pdf/1901.05117.pdf
2 HTLCベースのAtomic Swap HTLC(Hashed Time-Locked Contracts)はハッシュのプリイメージ (シークレット)とコインを交換するタイムロック付きのコントラクト
アリスはLitecoin上でシークレットSを公開してLTCを入手し、 ボブは公開されたSを使ってBitcoin上でBTCを入手する。 アリスはBitcoinを以下のアンロック条件のスクリプトに送る。 • H(S)のプリイメージ=シークレットSが 分かればボブはBTCを入手できる。 • 10日経過したらアリスはBTCを入手できる。 Secret S H(S) ボブはLTCを以下のアンロック条件のコントラクトに送る。 • H(S)のプリイメージ=シークレットSが 分かればアリスはLTCを入手できる。 • 5日経過したらボブはLTCを入手できる。 BTC/LTCを交換
3 HTLCベースのAtomic Swap • Bitcoinのスクリプト(BIP-199)
• ボブが償還する際の scriptSig • アリスが償還する際の scriptSig ※実際は、P2SHになるのでredeem scriptが追加される。 OP_IF OP_HASH160 <H(S)> OP_EQUALVERIFY OP_DUP OP_HASH160 <ボブの公開鍵のハッシュ> OP_ELSE <ロック期間> OP_CHECKLOCKTIMEVERIFY OP_DROP OP_HASH160 <アリスの公開鍵のハッシュ> OP_ENDIF OP_EQUALVERIFY OP_CHECKSIG <ボブの鍵で生成した署名> <ボブの公開鍵> <s> OP_TRUE <アリスの鍵で生成した署名> <アリスの公開鍵> OP_FALSE scriptPubKey scriptSig scriptSig
4 Hashed Time-Locked Collateral Contract Bitcoin Network 融資元本の通貨 Network アリス
(借り手) ボブ (貸し手) ② 融資の担保をロック ① 融資の元本をロック ③ 担保と融資の条件に合意したら融資実行可能になる。 ④ 返済期限までに元金+利息を返済したら 担保はアリスに戻る。 ④ 債務不履行になった場合、 • 担保の精算の両者が合意する場合は入札を行う。 • 担保の精算に合意しない場合、担保の一定割合を差し押 さえ、精算する。 入札者 bid
5 融資プロセス Bitcoin Network 融資元本の通貨 Network ① 融資情報を送信 融資要求 •
金額 • 融資開設期間 • 精算期間 • 差し押さえ期間 A1 A2 借り手がローンを引き出した際に 明らかになるシークレット 入札者が担保資金を引き出す際に 明らかになるシークレット B1 B2 借り手の担保のロックを受け入れ、借り手が ローンを引き出す際に明らかになるシークレット 借り手の担保のロックを拒否 or 借り手による元本+利息の返済を受け入れる 際に使われるシークレット それぞれシークレットを作成し、 そのハッシュを交換する。 B3 入札者が担保資金を引き出す際に 明らかになるシークレット
6 融資プロセス Bitcoin Network 融資元本の通貨 Network ② 融資額をHTLCにロック • シークレットA1,
B1が分かれば、アリスは融資の資金を 入手できる。 • 有効期間経過したらボブはシークレットB2を公開して資 金を取り戻す。 Hashed Time-Locked Principal Contract ③ 融資金がロックされた確認し、 担保となるBitcoinを HTLCにロックする。 B1 B2 A1 A2 • シークレットB2 & アリスの鍵の署名 • 以下のいずれかでアンロック可 ◦ ローン期間後、A2およびB3の情報、 アリスとボブのマルチシグ ◦ 精算期間後、アリスの鍵の署名 Refundable Collateral Contract B2はボブが返済を受け入れる際に明らかになるので、 返済が無事終わればアリスに戻り、 債務不履行の場合は、精算するか、精算に合意しない場合は アリスに戻ってくる資金。 B3
7 融資プロセス Bitcoin Network 融資元本の通貨 Network ③ 融資金がロックされた確認し、 担保となるBitcoinを
HTLCにロックする。 ④ ロックされた担保額、内容を確認し、 問題なければシークレット B1をアリスに明かす。 • シークレットB2 & アリスの鍵の署名 • 以下のいずれかアンロック可 ◦ ローン期間後、A2およびB3の情報 + アリスとボブのマルチシグ ◦ 以下のいずれかでアンロック可 ▪ 入札期間後、A1とボブの鍵の署名 ▪ 差し押さえ期間後、アリスの鍵の署名 B1 Seizable Collateral Contract Refundable Collateral Contract A1 A2 B1 B2 B2はボブが返済を受け入れる際に明らかになるので、 返済が無事終わればアリスに戻り、 債務不履行の場合は、精算するか、精算に合意しない場合は ボブが差し押さえるか、差し押さえ期間後にアリスが回収。 B3
8 融資プロセス Bitcoin Network 融資元本の通貨 Network ⑤ 両者条件に合意し、 B1を入手したのでA1を 使ってボブがHTLCにロックした融資を引き出す。
A1 A2 B1 B2 B1 • シークレットA1, B1が分かれば、アリスは融資の資金を 入手できる。 • 有効期間経過したらボブはシークレットB2を公開して資 金を取り戻す。 Hashed Time-Locked Principal Contract A1 1つめの条件を使って融資の元金を引出し B3
9 返済プロセス Bitcoin Network 融資元本の通貨 Network ① 元金+利息を融資返済 HTLCに送金する。 A1
A2 B1 B2 B1 • シークレットB2が分かれば、ボブは融資の 元金+利息を受け取ることができる。 • 有効期間経過したらアリスは元金+利息を 取り戻す。 融資返済HTLC A1 ② B2を使って、返済を受け入れる。 B2 B3
10 返済プロセス Bitcoin Network 融資元本の通貨 Network ③ 返済によりB2を入手したので、ロックされて いた担保を取り戻す。
A1 A2 B1 B2 B1 A1 B2 • シークレットB2 & アリスの鍵の署名 • 以下のいずれかでアンロック可 ◦ ローン期間後、A2およびB3の情報、 アリスとボブのマルチシグ ◦ 精算期間後、アリスの鍵の署名 Refundable Collateral Contract • シークレットB2 & アリスの鍵の署名 • 以下のいずれかアンロック可 ◦ ローン期間後、A2およびB3の情報 + アリスとボブのマルチシグ ◦ 以下のいずれかでアンロック可 ▪ 入札期間後、A1とボブの鍵の署名 ▪ 差し押さえ期間後、アリスの鍵の署名 Seizable Collateral Contract B3
11 債務不履行の場合 • シークレットB2 & アリスの鍵の署名 • 以下のいずれかでアンロック可 ◦ ローン期間後、A2およびB3の情報、
アリスとボブのマルチシグ ◦ 精算期間後、アリスの鍵の署名 Refundable Collateral Contract • シークレットB2 & アリスの鍵の署名 • 以下のいずれかアンロック可 ◦ ローン期間後、A2およびB3の情報 + アリスとボブのマルチシグ ◦ 以下のいずれかでアンロック可 ▪ 入札期間後、A1とボブの鍵の署名 ▪ 差し押さえ期間後、アリスの鍵の署名 Seizable Collateral Contract 1. アリスとボブ両者が精算に合意すると、担保資金を全て入札にかける。 2. 精算に合意しない場合 a. Refundable Collateral Contract分はアリスに戻り b. Seizable Collateral Contract分はボブが差し押さえ
12 Atomic Loansの特徴 • Atomic Loansは、ブローカー抜きに借り手と貸し手の間で担保を 設定した融資契約を結ぶプロトコル。 • 借り手と貸し手の間で、複数のシークレットとそのハッシュおよび、
その公開タイミングをタイムロックで制御するようHTLCを拡張。 • BitcoinとEthereumのKovan testnetを使用したクローズドアルファが 公開中(https://atomicloans.io/) https://atomicloans.io/blog/atomic-loans-testnet-alpha-is-live/