![見出し画像](https://assets.st-note.com/production/uploads/images/81012352/rectangle_large_type_2_326ceb76d14b5803538bfd53a3b73216.jpeg?width=1200)
インターネット・コンピュータのビットコイン統合が完了に近づく(2022/3/2)
インターネット・コンピュータのビットコイン統合が完了に近づく
Internet ComputerブロックチェーンのBitcoinとの直接統合と、閾値ECDSA署名の実装に関する進捗状況
元記事:インターネット・コンピュータ・レビュー/Dfinityより
https://medium.com/dfinity/the-internet-computers-bitcoin-integration-nears-completion-2b9b3a874b9c
インターネットコンピュータのビットコインとの直接統合は、高度なスマートコントラクトを仲介者やブリッジなしで世界最大の暗号通貨にもたらし、ビットコインを使用するDeFiプロジェクトに信頼できる基盤を提供します。インターネットコンピューターのスマートコントラクトがBTCやその他の暗号通貨を安全に保有・使用できるようにするためのBitcoin統合と閾値ECDSA署名の開発は、非常に探索的な性格を持つため、DFINITY研究開発チームは、完全実装に向けてさまざまな困難を克服しなければなりませんでした。
この間、DFINITYの研究開発チームは、素晴らしい成果を上げています。先日、テストネットにレプリカを導入し、ビットコインとの統合を可能にし、ビットコインテストネット全体を同期させました。最終化率やチェックポイントの時間など、テストネット上のメトリクスはすべて健全な状態に見えます。以下は、テストネットのログのスニペットです。
![](https://assets.st-note.com/img/1655638526281-0s0sWCAzjz.png?width=1200)
今週は、新しい Internet Computer サブネットを展開し、そこで Bitcoin の統合を有効にする予定です。その後、そのサブネット上でビットコインテストネットの同期を開始する予定です。システムが意図したとおりに動作することが確認されたら、Bitcoin APIを有効にして、テストと開発のために一般に公開する予定です。Bitcoin APIは、今のところBitcoinテストネットのみをサポートする予定です。一部の機能は欠落しますが、それ以降、迅速かつ段階的に導入していく予定です。
#ICP<>#BTC integration update: proposal https://t.co/uZd7MrIOX8 turned on BTC testnet sync on subnet 2fq7c. Note that it's not answering requests yet, only pulling in BTC testnet blocks, so we can gain confidence in the syncing mechanism running on #ICP mainnet. pic.twitter.com/QMJnDvjRIU
— Manu ∞ (@manudrijvers) May 2, 2022
Chromium(別名Satoshi Release)のマイルストーンは、2022年5月末までのリリースを目標としている。Bitcoinの統合と閾値ECDSAの機能は、このマイルストーンに不可欠な部分です。この2つの機能については、このスケジュールに間に合うようにチームが熱心に取り組んでいますが、その複雑さゆえに、通常の「コモディティ」ソフトウェア開発のように計画的に進めることはできません。すべてが順調に進めば、このスケジュールを達成できるかもしれませんが、何週間か遅れる可能性もあります。
この時点に至るまでに克服しなければならない重要な課題の1つは、Bitcoinの状態を効率的に保存する方法を決定することでした。単純なRust標準のコレクションを使用すると、レプリカのランタイムの一部になりますが、レプリカは数分ごとにメモリの内容を取り出してディスクに永続化するチェックポイント処理を行うため、かなりの困難が伴います。さらに、メモリの消費も問題です。ビットコインの状態をこの方法で表現すると、状態を保存するために数十GBのRAMが必要になります。
StableBTreeMapと呼ばれるBTreeMapは、Rust標準のBTreeMapと非常によく似たインターフェースを持っていますが、独自のメモリを管理するという重要な違いがあります。このため、キャニスターのメモリが永続化されるのとまったく同じ方法で永続化されるキーバリュー・ストアを持つことができるのです。ビットコインの状態のほとんどはディスク上にあり、このキーバリューストアからデータを取り出す必要があるときはいつでも、ディスクからメモリの関連ビットを取り出すだけです。チェックポイントは、レプリカのメモリにあるものとディスクにあるものとの差分だけをシリアライズします。(StableBTreeMapは、安定したメモリを使用するための効率的なアプローチで、インターネットコンピュータのメモリ管理の他の側面にも影響を与え、研究開発チームが現在調査しています)。
インターネットコンピュータのビットコイン開発者プレビューが利用可能に
開発者は、Internet Computerの新しいBitcoinを利用するCanisterスマートコントラクトをすぐに書き始めることができます...
ミディアムドットコム
最近行ったBitcoinテストネットに展開されたレプリカとの同期では、UTXOセットの正しさと、StableBTreeMapの実装の正しさを検証しました。次のステップでは、ICメインネットのサブネットに初めて展開し、観測とテストを行う前に、すべてが意図したとおりに動作することを確信するために、テスト環境でさらに実行することになります。
副次的な作業として、別のチームはこの機能のSDK統合に取り組んでいます。つまり、SDKからBitcoin Adapterプロセスを管理し、その設定も行います。これは、開発者がBitcoin APIに対して便利にキャニスターを実装できるようにしながら、この機能を完全に完成させるための重要な作業です。
This describes a key element that makes #btc <> #icp integration possible! Ie how a canister on #icp can have an ECDSA public key and sign with it (eg sign #BTC or #ETH transactions) https://t.co/5JCbB5gMEF
— jan.icp ∞ (@JanCamenisch) April 28, 2022
DFINITYの研究者であるVictor Shoup氏とJens Groth氏は、最近、threshold ECDSA機能の背後にある暗号プリミティブを説明する論文を発表しましたが、例えば、threshold ECDSA鍵のXNet再共有や、システム統合の他のいくつかの部分と同様に、合意との統合を確定する作業が行われているところです。例えば、鍵管理(特にディザスタリカバリ)に関するネットワーク神経系提案に関連する機能については、まだ作業が必要である。DFINITYのコマンドライン実行環境であるdfxとの統合も残っています。これは、基本的にこの機能を有効にし、dfxがローカル開発環境でレプリカを起動する際に鍵を生成/ロードするものです。
もう一つ重要で差し迫った課題は、ビットコイン統合機能全体と、閾値ECDSAコードのコンセンサス関連部分のセキュリティレビューを外部機関に依頼することです。これは間もなく開始され、その結果得られた監査報告書を対処が完了した時点で公開し、その洞察をインターネットコンピュータ・コミュニティと共有する予定です。threshold ECDSAの暗号プロトコル部分については、すでに独立した監査が行われています。
まだかなりの作業が残っていますが、このプロジェクトの最も困難な要素に対処することに成功しました。Taprootアドレスのサポート、UTXOのページネーションサポート、パフォーマンスの最適化など、一般公開までに残っている多くのタスクは比較的簡単なものです。
ビットコインとインターネット・コンピュータのブロックチェーンのためのエキサイティングなユースケースの多くを解放するビットコイン統合と閾値ECDSA機能の立ち上げを待つために、我々はあなたの忍耐を感謝します。