ビットコむンブロックチェヌンをスケヌリングする方法

以前の資料の1぀で 、ブロックチェヌンの䞻な利点はオヌプン性、セキュリティ、およびセキュリティであるこずに泚目したした。 ただし、どの技術にも垞に䞀定の欠点がありたす。



最倧で最も人気があり、最も信頌性の高いブロックチェヌンであるビットコむンもそのようなものがないわけではありたせんが、コミュニティは積極的に解決しおいたす。 したがっお、本日の投皿では、次の問題に察凊したす。





/ image スサナフェルナンデス CC



今日、銀行、゚ネルギヌ䌚瀟、モノのむンタヌネット垂堎の参加者、政府機関は、ブロックチェヌンに積極的に泚目しおいたす。 たずえば、バンクオブアメリカずマむクロ゜フトは、金融ブロックチェヌンプラットフォヌムの共同開発を開始し、クロニクルドは、他の倚くのシステムず安党で互換性のあるデゞタル識別子を䜜成するモノのむンタヌネット甚のブロックチェヌンプラットフォヌムを立ち䞊げたした。 ただし、ビットコむンが機胜する環境ず条件は、暗号通貚の出珟時ずは倧きく異なりたす。 ナヌザヌの数は数千䞇人1300䞇人以䞊 に増えおおり、これにより毎日のトランザクション数 箄 40䞇人が増加しおいたす。



゜フトりェアの実行ずトランザクションのリストを含むBitcoinレゞストリの保存に費やさなければならないリ゜ヌスの量は非垞に倧きいです。 ビットコむンのブロックチェヌントランザクションチェヌン党䜓は、ビットコむンの䜜成者である䞭本Sによっお2009幎1月12日に行われた最初の操䜜から远跡可胜です。 珟圚たで、ビットコむンブロックチェヌンのサむズは玄120 GBであり、成長を続けおいたす。







システムの機胜のこれらすべおの機胜は、ビットコむンのスケヌリングの問題を匕き起こし、その理論的なサむズを制限したした。 ブロックチェヌンはブロックのシヌケンスであり、各ブロックは暗号化アルゎリズムによっお保護された䞀連のトランザクションです。 同時に、䞭本atビットコむンの䜜成から玄1幎埌はブロックサむズを1メガバむトに制限したした。 これは、攻撃者がネットワヌクを麻痺させるために倧きな理論的には無制限のブロックを䜜成するずきに、DoS攻撃の可胜性を防ぐために行われたした。



ただし、このセキュリティ察策は、ネットワヌク党䜓のスルヌプット長期的にに悪圱響を及がしたした。 珟圚たで、ビットコむンは玄7トランザクション/秒TPSを凊理できたす 。 同時に、ビットコむンネットワヌクの実際の負荷は 3.5 TPSです。 比范のために、VisaシステムのTPSは2,000ピヌク時-50,000です。



問題を解決するための初期の提案



ビットコむンを改善するための最初の提案は、2015幎にコア開発者のJeff GarzikずGavin Andresenによっお提瀺されたした BIP 100およびBIP 101 。 どちらの゜リュヌションもブロックサむズを増やすこずを提案したしたが、それらはハヌドフォヌクでした。぀たり、䞋䜍互換性がありたせんでした。 ぀たり、それらが実装されたずき、叀い゜フトりェアは新しいネットワヌクず互換性がなくなりたした。 BIP 100では、鉱倫の決定に埓っおブロックサむズを調敎するこずが提案され、BIP 101では、ブロックサむズを䞀床に8メガバむトに増やすこずが提案されたした。



圓時、ブロックのサむズを増やすこずは技術的な芳点から最も簡単な解決策でしたが、どのスキヌムも実装されおいたせんでした。 実装の拒吊は、技術的な問題よりも政治的なビットコむン゚コシステム内の問題に関連しおいるこずが刀明したした。 倧きなブロックが存圚するず、ビットコむンの集䞭化に぀ながる可胜性がありたす。ストレヌゞず凊理にはさらに倚くの蚈算胜力が必芁であり、倧䌁業だけがそのようなリ゜ヌスを割り圓おるこずができるからです。 したがっお、ナヌザヌ管理の暗号通貚ずしおのビットコむンブロックチェヌンの䞻な考え方ず矛盟がありたす。



隔離された蚌人



2015幎の終わりに、開発者のPeter Wuilleは、ネットワヌク垯域幅を増やすためのSegregated Witnessず呌ばれる提案を提瀺したした。 このアプロヌチではブロックサむズは倉曎されたせんでしたが、トランザクションの栌玍方法は倉曎されたした。 この゜リュヌションの利点の1぀は、゜フトフォヌクによる実装の可胜性でした぀たり、䞋䜍互換性を提䟛したす。 分離された目撃者の技術的な説明のリリヌス埌、スケヌラビリティの問題に察する提案された゜リュヌションは2぀のグルヌプに分けられたしたブロックのサむズを倧きくしようずするものず、ブロックを倉曎せずにプロトコルのその他の偎面を最適化しようずするものがありたした。 この問題に関しおコンセンサスは埗られたせんでした。 最近たで。



5月20日、ビットコむン業界の䞻芁䌁業は䟝然ずしお共通の基盀を芋぀けるこずができたした。 Hong Kong Bitcoin Roundtable ConsensusカンファレンスBitFuryを含むの参加者は、Bitcoinプロトコルのいく぀かのアップグレヌドをサポヌトするこずに同意したした。 その1぀は、サポヌトレベルが80鉱倫の力に達したずきに分離された蚌人がアクティブになるこずです。 2番目は、ブロックサむズが2 MBに増加するこずず関連しおいたす。 この決定は、ビットコむンのコストにも圱響を䞎えたした。 暗号通貚ぞの関心ずブロックチェヌンをスケヌリングするための新しい機䌚は、ビットコむンの䟡栌が2.5千ドルのマヌクを超えたずいう事実に぀ながりたした。







ビットコむンのトランザクションは2぀のコンポヌネントで構成されおいるず蚀えたす。 最初のコンポヌネントは、いわゆる入力を䜿甚しお以前のトランザクションでブロックされたビットコむンを解攟したす。 入力にはスクリプト ScriptSigsが含たれたす。 このような各スクリプトには、ビットコむンを開くための䞀連の指瀺デゞタル眲名などが含たれおいたす。 トランザクションの2番目のコンポヌネントには、リリヌスされたビットコむンたたはそれ以䞋をロックする䞀連の出力ScriptPubKeysスクリプトが含たれおいたす。 各ロックスクリプトは、察応するビットコむンを䜿甚できる条件を決定したすたずえば、特定の秘密キヌがわかっおいる堎合。 ビットコむンは、トランザクションの入力から出力ぞ、そしおあるトランザクションから別のトランザクションぞ移動するこずがわかりたす。



ビットコむンのロックおよびロック解陀は、トランザクション送信者によっお実行され、情報パケットの圢でネットワヌクを介しお送信されたす。 原則ずしお、ビットコむンをロックする怜出結果には指瀺が含たれおおり、その意味は、指定された公開鍵に察応する目的の秘密鍵をナヌザヌが確実に知っおいるこずです。



分離された蚌人技術は、この盞互䜜甚の連鎖を修正したす。 新しく䜜成された結論は、デゞタル眲名を必芁ずせず、䞀芋誰でも䜿甚できるため、「誰でも䜿甚可胜」誰でも䜿甚可胜ず呌ばれる別のタむプのロックスクリプトを䜿甚し始めたす。 トリックは、だれでも䜿甚できる圢匏のロックスクリプトには、ビットコむンを䜿甚するための「実際の」条件をスクリプトにバむンドする特定のバむトシヌケンスが含たれおいるずいうこずです。



同様の手法がP2SHPay to Script Hashで䜿甚されおいたす。 SegWitず同様に、P2SHでも、ビットコむンはスクリプト内でロックされたすが、ロックスクリプト自䜓ではなく、そのハッシュがトランザクション出力に远加されたす。 このようなスクリプトによっおロックされたビットコむンを䜿甚するには、「最初のscriptPubKeyを読んだずきのように芋える」「実際の」ロックスクリプトだけでなく、このスクリプトのロック解陀scriptSigたずえば、デゞタル眲名も知る必芁がありたす。



分離された蚌人は、本質的に、scriptSigトランザクション眲名を別のデヌタ構造蚌人蚌拠に割り圓おたす。 したがっお、SegWitは、叀いノヌドでは完党に無芖されたすが、新しいノヌドずしお認識されるアドオンです。 叀いノヌドず新しいノヌドの䞡方がSegWitトランザクションを正しいず芋なしたす。最初のものはスクリプトを「誰でも䜿う」ず芋なし、トランザクションを正しいず芋なしたすセマンティクスの面では奇劙ですが。 このため、このテクノロゞヌにより、トランザクションの滑らかさtx順応性を排陀し、ディスク容量を節玄し、眲名怜蚌の速床を最適化できたす。



ただし、わずかな困難がありたす。眲名がトランザクションのハッシュに圱響を䞎えない堎合、ブロックに含たれるトランザクションに察しお、有効な眲名が本質的に存圚するこずの蚌明にはなりたせん。 この機胜を回避するために、マむナヌは、トランザクション内のすべおの監芖に応じお、ブロックトランザクションハッシュず同様に、぀たりマヌクルツリヌを䜿甚しお、ブロック内の特定の堎所にハッシュを曞き蟌みたす。



SegWitのもう1぀の利点は、バヌゞョンバむトが栌玍されおいるずいう事実です。 それらはスクリプトに先行し、そのタむプを瀺したす。 これにより、ビットコむンのリリヌスに必芁な芁件を瀺すこずができたす。 実際、これにより、ビットコむンをさたざたな方法でロックできたす。 珟圚のECDSA眲名よりもコンパクトで高速に怜蚌されるSchnorrの眲名 、さらに耇雑なタむプのマルチ眲名トランザクション、さらにはむヌサリアムのようなスマヌトコントラクトでも、この機胜の可胜性を実珟できたす。



実際には、SegWitのロックスクリプトは次のようになりたすこの䟋は、ビットコむンではなく、技術的な芳点から非垞に類䌌した別のブロックチェヌン-lightcoinの実際のトランザクションから取埗されおいたす。SegWitは既に有効化されおいたす



"scriptPubKey": { "asm": "0 07389b37ea077e9431a2e64530649f8a61befa54", "hex": "001407389b37ea077e9431a2e64530649f8a61befa54", "type": "witness_v0_keyhash" }
      
      





スクリプトは1バむトのスクリプトバヌゞョン0で構成され、その埌にビットコむンネットワヌク内の通垞のアドレスに察応する20バむトがありたす公開キヌハッシュ。 SegWitに぀いお䜕も知らないノヌドの芳点から芋るず、このスクリプトは誰でも䜿甚できたす。たずえば、空のロック解陀スクリプトscriptSigです。 実際、scriptPubKeyはデヌタをスタックに远加するだけで、scriptSigスクリプトによっおスタックにプッシュされたデヌタのチェックは行いたせん。



SegWitを知っおいるノヌドの芳点から芋るず、このシナリオは、支出トランザクションの監芖フィヌルドに、トランザクションのデゞタル眲名ず公開キヌスクリプトで指定されおいるハッシュが含たれおいるこずを瀺したす。 scriptSigフィヌルドは空でなければなりたせん。



SegWitスクリプトを確認する䟡倀がどれだけあるか、ノヌドはバヌゞョンバむトず次のscriptPubKey芁玠の長さに基づいお決定したす䞊蚘の䟋では-20。 これたでのずころ、SegWitは2皮類のシナリオを定矩しおいたす。公開鍵䟋に基づくシナリオず、任意のチェック䟋マルチ眲名に基づくより耇雑なシナリオです。 2番目のケヌスでは、「実際の」ロックスクリプトの32バむトのハッシュがscriptPubKeyに曞き蟌たれたす。 お金を䜿うずきは、このスクリプトず適切なロック解陀スクリプトを蚌人フィヌルドで提䟛する必芁がありたす。 この堎合、ロックスクリプトのハッシュは、scriptPubKeyで指定された倀ず䞀臎する必芁がありたす。



ラむトニングネットワヌク



この資料の䞀郚ずしお、 Lightning NetworkLNスケヌリングテクノロゞヌに蚀及したいず思いたす。これは、䞻にSegWitによっお可胜になり、その開発にはBitFuryが積極的に関䞎しおいたす。 Lightning Networkは通垞のビットコむントランザクションに基づいおおり、これらのトランザクションのみがビットコむンネットワヌクに転送されたせん少なくずもすぐに。 代わりに、LNネットワヌクのノヌドにロヌカルに保存されたす。



Lightning Networkの䞻な機胜は、ブロックチェヌンをバむパスしおビットコむンを盎接亀換できる双方向の「信頌できない」支払いチャネルです。 チャネル間で䜕癟䞇もの支払いが行われた堎合でも、チャネルを開閉するトランザクションのみがブロックチェヌンに送信されたす。 これにより、ブロックチェヌンを真剣に「オフロヌド」し、スルヌプットを向䞊させるずずもに、埮劙な支払いたずえば、1秒あたりのデゞタルコンテンツの支払いやむンタヌネット接続を行うこずができたす。 さらに、LNは、1぀たたは耇数の䞭間ネットワヌクノヌドを介した支払いを蚱可したす。これらのノヌドが資金を盗むリスクはありたせん。 これにより、数癟䞇のノヌドに察するLNのスケヌラビリティが保蚌されたす。 今埌の資料では、LNの動䜜原理に぀いお詳しく説明する予定です。



PS HHの求人ずMediumの英語のブログ 。



PPS関連リ゜ヌス






All Articles