暗号資産購入
マーケット
スポット
先物
金融
特別企画
さらに
reward-center新規登録ゾーン
レポート分析詳細
業界調査

CoinExリサーチ:ブロックチェーン資産のセキュリティ課題:追加のセキュリティ層として現実世界の時間が必要とされる理由

  • ETH0%
  • DOT0%
  • ATOM0%
  • LUNA0%
  • BTC0%
CoinEx logo
投稿日: 2022-04-07

2020年のDeFiサマー以降、ブロックチェーンインフラの継続的な進化に伴い、DeFiプロトコルはSwapからLend、Yield Farmingへと発展し、さらに高度なプロトコルへと進化してきました。これにはブロックチェーンデリバティブに基づくAMM(自動マーケットメイキング)のYield Farming戦略、レンディングインフラ上に構築された構造化レンディングプラットフォーム、実世界の担保物件と接続するオンチェーンレンディングプロトコルなどが含まれます。

DeFiイノベーションの急成長の背景にある重要な要因の1つが、コンポーザビリティという概念です。通常、新しいDeFiプロトコルがリリースされる際、そのソースコードの大部分も公開されます。これにより、1つまたは複数のDeFiプロトコルのスマートコントラクトのソースコードを容易に組み合わせて、新しいプロトコルを作成することができます。これらはレゴブロックのように機能し、異なる形状のブロックを組み合わせてユニークなプロジェクトを構築でき、イノベーションのコストを大幅に削減することができます。

しかし驚くべきことに、このような大規模なイノベーションにもかかわらず、2020年以降、DeFiユーザー数は大きな成長を見せていません。また、従来の金融機関もブロックチェーン分野に流動性を提供していません。この主な原因の1つは、DeFiのセキュリティに関する懸念です。

従来の金融には、十分に確立された安全なシステムが存在します。例えば、A銀行からB銀行に資金を移動する際には、現金輸送車と武装警察官が資金の安全を確保し、これは安心できるプロセスとなっています。さらに、銀行は顧客の財産に対して責任を負い、プロセス中の損失に対して補償を提供します。一方、DeFiは従来の金融システムとは異なります。スマートコントラクトは設計上、不変であり、本質的にブラックボックスで、読み取り可能なログを送信しないため、内部プロセスを明確に把握することができません。多くのスマートコントラクト監査は、新しいタイプの欠陥ではなく、既知の攻撃形態のみに焦点を当てているため、あまり役立ちません。また、多くのDeFiプロトコルは「自己責任」の製品としてラベル付けされています。これは一般ユーザーにとって不安要素となり、銀行預金の大部分をDeFiエコシステムに預けることへの信頼を失わせる原因となっています。DeFiは、それを信頼しなかった人々の懸念を裏切ることはありませんでした。これまでにDeFiでは82件のセキュリティ侵害が発生し、初期の被害額は18億ドルを超えています。特にフラッシュローンは最も一般的な攻撃で、33件を占めています。フラッシュローン攻撃の背景にあるセキュリティ上の理由の1つは、 ブロックチェーンにおける正確な時間の概念と確認メカニズムの欠如 です。具体的な理由については、以降の章で説明します。

CoinExリサーチ:ブロックチェーン資産のセキュリティ課題:追加のセキュリティ層として現実世界の時間が必要とされる理由

I. 時間とコンピュータの時間ネットワーク

まず、従来のコンピュータプログラムにおける時間の扱い方を見てみましょう。

時間はコンピュータプログラムにとって不可欠な概念です。時間の概念がなければ、TLS対応のウェブサイトへのアクセス、特定のアルゴリズムのエントロピーの生成、秘密情報の交換、Windowsライセンスの認証などは不可能です。私たちはコンピュータの時間管理を当たり前のように考えていますが、実際の運用において、時間の交換と追跡は非常に困難な問題です。

時間は本質的に宇宙の現在のグローバル状態を表現するものです。つまり、任意の瞬間において、すべてのエンティティが完全に同じ値を共有しなければなりません。これは明らかにコンピュータにとって大きな問題です: 宇宙の中心に巨大で高精度の原子時計があり、インターネットを通じて時間データを送信していると仮定しましょう。このプロセスでの問題は、データの送信自体に時間がかかることです。デバイスがインターネットを介して時間データを受信し、自身のシステムに適用する時点で、宇宙のグローバル状態(時間)はすでに変化しています。つまり、ネットワークデバイスが実際のグローバル時間値と完全に同期することは不可能なのです。

ネットワークを介した時間管理のもう1つの問題は、データ送信に必要な時間を完全に予測できないことです。ネットワーク状況は常に変化し、現実世界での完全な信頼性を保証することはできません。最初の問題と組み合わさると、これは受信者が時間値を完全に複製することができず、不整合が生じることを意味します。

ネットワークタイム・プロトコル(NTP)は、世界中に分散されたタイムキーピングサーバーの相互検証構造(最大15階層)とベルマン-フォード最短経路全域木(遅延と転送時間の不一致を両方削減)の構築によってこの問題を解決します。これは個人用コンピュータや集中型サービス、特に正確なタイミングに依存するアプリケーション(暗号化プログラムなど)にとって完璧に機能します。NTPを通じて得られるタイムスタンプは推定値に過ぎませんが、時間が重要なアプリケーションが依存できるほど正確で成熟しています。

CoinExリサーチ:ブロックチェーン資産のセキュリティ課題:追加のセキュリティ層として現実世界の時間が必要とされる理由 - image 2

出典: https://medium.com/@gokhansengun/bilgisayarlar-zaman%C4%B1-nas%C4%B1l-do%C4%9Fru-tutar-78c1203397f0

II. ブロックチェーンネットワークにおける時間メカニズム

ブロックチェーンにも時間の概念は存在します。ブロックチェーン自体が時間の概念の派生物だと言う人もいますが、ブロックチェーンネットワークの時間処理は、NTPシステムの64ビットの精度と比べると極めて不正確です。これは、ブロックチェーンの時間のサービス対象がDeFiアプリケーションのような時間に敏感なスマートコントラクトアプリケーションではないためでもあります。むしろ、コンセンサスメカニズムの安全かつ効率的な実行を可能にすることを目的としています。このような異なる目標により、ブロックチェーンネットワークは時間の不正確さにより寛容になっています。以下では、いくつかの一般的なコンセンサスメカニズムとその時間決定方法について説明します。ただし、ブロックチェーン上の時間確認は一般的に非常に不正確であり、数百億ドル相当のオンチェーン資産の金融取引やセキュリティチェックを実行することはできないことに注意が必要です。

1. ビットコイン

ビットコインは、プルーフ・オブ・ワークのコンセンサスメカニズムに必要なため、時間の概念を持っています。有効なタイムスタンプがなければ、マイニング中の特定の取引が以前の取引を改ざんしようとしているかどうかをネットワークが検証できません。各ビットコインブロックにはUNIXタイムスタンプが含まれていますが、ブロック時間はUNIXタイムスタンプを正確に表現するものではありません。これは、ビットコインのコンセンサスがタイムスタンプをPoWセキュリティシステムの一部としてのみ考慮し、ブロックチェーン上で時間を測定する実際のツールとしては考慮していないためです。

ビットコインWikiによると、各ブロックにはマイナーが提供するUnixタイムスタンプが含まれており、1)直前11ブロックの中央値タイムスタンプより大きく、2)ネットワーク調整時間プラス2時間未満である場合に有効として受け入れられます。したがって、ブロック時間と実世界の時間との差は1時間から2時間の範囲となります。

CoinExリサーチ:ブロックチェーン資産のセキュリティ課題:追加のセキュリティ層として現実世界の時間が必要とされる理由 - image 3

出典: https://en.bitcoin.it/wiki/Block_timestamp

2. イーサリアム

イーサリアムネットワークでは、タイムスタンプもマイナーによって大きな柔軟性を持って直接提出されます。簡単に言えば、イーサリアムのタイムスタンプは真偽どちらの可能性もあり、コンセンサスメカニズムがその正確性を確認する方法はありません。イーサリアムフォーラムの投稿(出典:https://ethereum.stackexchange.com/questions/413/can-a-contract-safely-rely-on-block-timestamp/428#428)によると、イーサリアムのタイムスタンプの過度な偏差を防ぐためにいくつかのメカニズムが使用できます:1)ブロックのタイムスタンプが実世界の時間から大きく逸脱している場合、このブロックを親ブロックとしてさらにブロックを生成しようとする人はいません;2)最新ブロックのタイムスタンプは親ブロックより早くなることはできません;3)ブロックの難易度は、ブロックが必要以上に早く記録されない場合に最も低くなります。これらのメカニズムにより、マイナーは自発的に正しいと考えるタイムスタンプを提出することができます。しかし、他の外部インセンティブが存在する場合、イーサリアムネットワークにはマイナーが正しいタイムスタンプを提出し続けることを保証する厳密なメカニズムがありません。そのため、ネットワークは時間に敏感なプロトコル(イールドファーミング、レンディングなど)の適切な実行を保証できません。そのため、大手機関はイーサリアムに資金を信託しません。

3. ポルカドット

Substrateのドキュメントによると、Polkadotもマイナーから直接提供されたタイムスタンプでブロックをマークしています。しかし、そのようなタイムスタンプを確認または同期する厳密なメカニズムは存在しません。また、ドキュメントには、ブロックの時間を証明することはできないものの、バリデーターはそれが自身のシステムクロックからある程度の誤差の範囲内にあることに同意できると記載されています。

CoinExリサーチ:ブロックチェーン資産のセキュリティ課題:追加のセキュリティ層として現実世界の時間が必要とされる理由 - image 4

出典: https://wiki.polkadot.network/docs/build-protocol-info

4. Cosmos

CosmosのTendermintは、コンセンサスメカニズムに時間を組み込んだ唯一のコンセンサスアルゴリズムであり、最も堅牢な時間の概念を備えています。具体的には、ブロックのノードが提出された時間について投票してコンセンサスに達し、ノードが合意したタイムスタンプのみがブロックに含まれます。

CoinExリサーチ:ブロックチェーン資産のセキュリティ課題:追加のセキュリティ層として現実世界の時間が必要とされる理由 - image 5

出典: https://docs.tendermint.com/master/spec/consensus/bft-time.html

III. ブロックにおけるタイムスタンプシステムの欠如

ブロックチェーンは、タイムスタンプの生成が不正確であるだけでなく、ブロック内にタイムスタンプシステムやメカニズムが欠如しています。現実世界のトランザクションは一つずつ送信され確認され、それぞれに明確な時間と順序が付与されます。これにより、多くの不正なトランザクションは発生または確認されることがありません。一方、ブロックチェーンネットワークでは、各ブロック内のトランザクションはまとめてパッケージ化され、一つずつ正確なタイムスタンプが付与されることはありません。

ブロック生成後にすべてのトランザクションを検証することは可能ですが、各トランザクションの具体的な提出時間と順序を特定することは不可能です。これが、フラッシュローンやフラッシュスワップなどの多くの攻撃が成功する一因となっています。検証の証明としてブロック内に正確な時間のマークが提供されれば、アプリケーションプロトコルはより安全で安定したアルゴリズムを開発できるでしょう。また、その本質的な特性により、時間は不可逆で不変な高度に安全なコンセンサスネットワークです。

IV. 潜在的な解決策

ブロックチェーンにおける時間の問題は、内部的または外部的に解決することができます。

内部的解決策:ブロック時間を実世界の時間と照合するコンセンサスレベルの確認メカニズムを導入するか、より高精度の独立した時間システムを確立する必要があります。

外部的解決策:ブロックチェーンには、NTP類似の時間オラクルネットワークを使用して、ネットワークブロックとブロック内のトランザクションに正確なタイムスタンプを追加する分散型ネットワークが必要です。

マルチチェーンの連携を考慮すると、外部的解決策がより適切かもしれません。例えば、EthereumとTerraがそれぞれ独自のクロックを持っている場合、これらのクロックが提供するタイムスタンプが異なると、両者の相互作用時にどちらが正しいのか判断が困難になります。従来のコンピュータネットワークでは、最終的に1つのマスタークロックが全体の時刻を決定します。ブロックチェーンにも同様にマスタークロックが必要です。

将来のマルチチェーンによるマルチバースでは、異なるコンピュータ上のクロックの数が想定を大きく上回るという新たな課題に直面します。例えば、ゲームのクロック、DeFiの利息計算クロック、ブロックチェーンのクロックなどがあります。これらのクロックはメタノードの時間を混乱させる可能性があるため、すべてのトランザクションを統一し同期させるための信頼できる単一の時間ソースが必要になります。このような時間オラクルネットワークが最終的に広く採用されると、現実世界と同様に、各トランザクションに追加の時間確認を提供する追加のセキュリティレイヤーとなります。時間はブロックチェーンネットワークの追加のセキュリティレイヤーとなるでしょう。

参考文献:

  1. https://medium.com/@gokhansengun/bilgisayarlar-zaman%C4%B1-nas%C4%B1l-do%C4%9Fru-tutar-78c1203397f0
  2. https://en.bitcoin.it/wiki/Block_timestamp
  3. https://ethereum.stackexchange.com/questions/413/can-a-contract-safely-rely-on-block-timestamp/428#42
  4. https://wiki.polkadot.network/docs/build-protocol-info