Skip to content

Latest commit

 

History

History
330 lines (252 loc) · 23.8 KB

00-introduction.md

File metadata and controls

330 lines (252 loc) · 23.8 KB

BOLT #0: Lightning Networkの紹介と目次

皆さんこんにちは! このドキュメントは、Bitcoinのオフチェーン取引(ブロックチェーン外の高速な取引)を行え、必要な時はオンチェーン取引を頼って実行される、 Lightning Networkというレイヤ2プロトコルに関して説明しているドキュメントです。通称「Basis of Lightning Technology(BOLT)」といいます。

一部の要件はやや不確実です。私たちは動機と結果に基づく推論を強調してここに記そうとしました。 何か分かりにくいところや間違っているところがありましたら、ご連絡をいただき、改善にお役立てください。

このドキュメントはバージョン0です

  1. BOLT #1: Lightning Networkにおける基盤プロトコル
  2. BOLT #2: Channel管理のためのピアプロトコル
  3. BOLT #3: Bitcoinの取引とScript形式
  4. BOLT #4: Onionルーティングプロトコル(Torネットワーク関連)
  5. BOLT #5: オンチェーン取引の取り扱いについてのおすすめ
  6. BOLT #7: P2PノードとChannelの発見
  7. BOLT #8: 暗号化と認証済みトランスポート
  8. BOLT #9: 割り当て済み特徴フラグ
  9. BOLT #10: DNSブートストラップとアシストノードの場所
  10. BOLT #11: Lightning支払いにおける請求プロトコル

スパーク: Lightning Networkの簡易的な紹介

Lightning NetworkはChannelを用いたネットワークでBitcoinの高速な支払いを行うためのプロトコルです。

Channels

Lightning NetworkはChannelを確立することで機能します。 2人の参加者がLightning Networkの支払いChannelを生成し、 そこにBitcoin NetworkにロックされたBitcoinを含みます(例えば、0.1BTCをNetwork上にロックします)。 これらは双方の署名(Signature)によって支払い可能になります。

最初に、彼ら(2人)がお互いにBitcoin取引を発行し、 Lightning Network上で使用する全てのBitcoin(ここでは0.1BTCとする)を一つのパーティ(アドレス)に集約します。 これらは、後に異なった新しいBitcoin取引によって分けて署名することができます。 例えば、0.09BTCを一方のパーティに、もう一方のパーティに0.01BTCを送金することができます。 そして、以前のBitcoin取引を無効化します。

BOLT #2: Channel Establishmentを見ることで、Channel確立についてさらに詳しく知ることが出来ます。 また、BOLT #3: Funding Transaction Outputを見ることでChannelを作るにあたってのBitcoin取引形式について知ること出来ます。 更に、BOLT #5: オンチェーン取引の取り扱いについてのおすすめを見ることで参加者が拒否したり失敗したりした時の要件や、 Bitcoin取引を使うためのクロス署名について知ることができます。

条件付き支払い(Conditional Payment)

Lightning NetworkのChannelは参加者2人の間での支払いのみ可能です。 しかし、Channel同士を接続することで、ネットワークに参加する全ての人との支払いを可能にするネットワークを形成できます。 この際に要求される技術が条件付き支払い(Conditional Payment)です。 例えば、「あなたが6時間以内にSecretを明かせば0.01BTCがもらえます」といった具合に。 この条件に乗った人(受信者といいます)がSecretを明かすと、Bitcoin取引の条件付き支払いが受信者あての支払いに変換されます。

参加者が条件付き支払いを追加するために使用するコマンドはBOLT #2: Adding an HTLCをご覧ください。 また、BOLT #3: Commitment Transactionでは完了した際のBitcoin取引のフォーマットについて記載しています。

Forwarding

上記のような条件付き支払いは安全に、そしてより短いタイムリミットで参加者に転送されなければなりません。 「あなたが5時間以内にSecretを明かせば0.01BTCがもらえます」のような具合に。 これにより、仲介者の信頼なしにChannelをネットワークにつなぐことができます。

BOLT #4: Packet Structure for how payment instructions are transported. BOLT #2: Forwarding HTLCsを見れば、支払いの転送の詳細を知ることができます。 また、支払い指示の転送方法・形式についてはBOLT #4: Packet Structureをご覧ください。

Network Topology

支払いを作成するには、参加者はどのChannelを使えば送信できるのか知っておく必要があります。 参加者は他の人にChannelとNodeの作成について尋ね、更新します。

BOLT #7: P2PノードとChannelの発見では、通信プロトコルに関する詳細を知ることができます。 また、BOLT #10: DNSブートストラップとアシストノードの場所で最初のネットワークブートストラップについて説明しています。

支払い請求(Payment Invoicing)

参加者はどのように支払いを行えばよいかを示す請求を受け取ります。

BOLT #11: Lightning支払いにおける請求プロトコルでは、支払者が後で支払いの成功を証明できるように、 支払いの宛先と目的を説明するプロトコルについて説明しています。

技術用語集・用語ガイド

元の用語を出来る限りそのまま掲載しています。 基本的に説明文の頭に用語自体の日本語訳をつけています。

Theme Song: テーマソング(※未翻訳です)

  Why this network could be democratic...
  Numismatic...
  Cryptographic!
  Why it could be released Lightning!
  (Release Lightning!)


  We'll have some timelocked contracts with hashed pubkeys, oh yeah.
  (Keep talking, whoa keep talkin')
  We'll segregate the witness for trustless starts, oh yeah.
  (I'll get the money, I've got to get the money)
  With dynamic onion routes, they'll be shakin' in their boots;
  You know that's just the truth, we'll be scaling through the roof.
  Release Lightning!
  (Go, go, go, go; go, go, go, go, go, go)


  [Chorus:]
  Oh released Lightning, it's better than a debit card..
  (Release Lightning, go release Lightning!)
  With released Lightning, micropayments just ain't hard...
  (Release Lightning, go release Lightning!)
  Then kaboom: we'll hit the moon -- release Lightning!
  (Go, go, go, go; go, go, go, go, go, go)


  We'll have QR codes, and smartphone apps, oh yeah.
  (Ooo ooo ooo ooo ooo ooo ooo)
  P2P messaging, and passive incomes, oh yeah.
  (Ooo ooo ooo ooo ooo ooo ooo)
  Outsourced closure watch, gives me feelings in my crotch.
  You'll know it's not a brag when the repo gets a tag:
  Released Lightning.


  [Chorus]
  [Instrumental, ~1m10s]
  [Chorus]
  (Lightning! Lightning! Lightning! Lightning!
   Lightning! Lightning! Lightning! Lightning!)


  C'mon guys, let's get to work!

-- Anthony Towns aj@erisian.com.au

Authors: 著者

[ FIXME: Insert Author List ]

Translator: 翻訳者

@y-chan

Creative Commons License
この仕様書はCreative Commons Attribution 4.0 International Licenseでライセンスされています。