ZooBC ウィキ
セキュリティとアーキテクチャ

セキュリティとアーキテクチャ

ZooBC の安全性は、費やされたエネルギーではなく、署名とハッシュに基づいています。すべてのブロック、トランザクション、レシート、シードの証明は署名されており、すべてのノードが受け入れるものすべてを確認するため、どのノードも他のノードの言葉を鵜呑みにする必要はありません。その中核の周りに、アーキテクチャはいくつかの確固とした制限を加えています。確定した履歴は書き換えられないこと、新しいノードが自力で本物のチェーンを見つけられること、そして署名は 1 つのチェーンでしか有効でないことです。

ZooBC が想定する攻撃者

設計が想定しているのは、任意の数のノードとアカウントを動かし、すべてのメッセージを見ることができ、どんな論理上の欠陥も突き、資金も豊富だが、署名を偽造することも、ハッシュの衝突を見つけることも、すべてのトークンを買い占めることもできない攻撃者です。その目的は、盗むこと、検閲すること、履歴を書き換えること、チェーンを混乱させることでしょう。Proof of Participation が防ぐもの では、各攻撃とそれへの答えを順に取り上げています。

すべてのノードに 2 つのチェーン

すべてのノードは 2 つのチェーンを保持しています。メインチェーンは 15 秒ごとにブロックを作ってトランザクションを運び、そのブロックは抽選で選ばれた登録済みノードが作ります(Proof of Participation を参照)。スパインチェーンは mainnet では 1 日に 1 ブロックを作り、トランザクションは運びません。各ブロックは、メインチェーンのチェックポイント、加わったり離れたりしたノード鍵の記録、最新の状態スナップショットのマニフェストであり、席の 3 分の 2 によって共同署名されています。

防御の層

層保証すること記事
すべてのノードによる検証ブロックが数えられるのは、抽選された生成者が署名し、シードの証明、トランザクション、レシートが確認を通った場合だけProof of Participation
平等でペースの決まった席力を素早く買うことはできない。席ごとに等しい確率 1 つ、サイクルごとに加入 1 つProof of Participation が防ぐもの
制限されたロールバックどのノードも 720 ブロック(3 時間)を超えてロールバックしないファイナリティとロールバック
スパインのチェックポイントどのノードも、席の 3 分の 2 が共同署名したチェックポイントより下で再編成しないスパインチェーン
確認付きのファストシンク新しいノードはスパインが指定する状態を読み込み、すべてのハッシュを確認し、ピアをサンプリングするスナップショットとファストシンク
リリースピン新しいインストールは、そのリリースと矛盾するスパインの履歴を拒否するリリースピン
チェーン束縛署名あるチェーン用に署名されたトランザクションは、他のすべてのチェーンで拒否されるチェーン束縛署名
3 分の 2 の決定チェックポイント、ブリッジの送金、オラクルの事実、リリースの拒否には席の 3 分の 2 が必要3 分の 2 ルール
予測不能なシード次の生成者を選ぶランダム性を、どの生成者も選べないブロックシード(VRF)
二重署名の報告1 つの親の上に 2 つのブロックに署名した生成者は、証明されて代償を課される二重署名(equivocation)

これらの層は重なり合っています。たとえば 1 年前からの履歴の書き換えは、ロールバック制限、チェックポイントの下限、スパインの共同署名、リリースピンという複数の層のそれぞれで、単独でも失敗します。

ずっと過去から分岐した偽のブランチが、3 つの盾に阻まれます。720 ブロックのロールバック制限、スパインのチェックポイントの下限、リリースに含まれるスパインピンです。その上には、各ブロックが 3 分の 2 の署名を持つスパインがあります。稼働中のノードも新しいノードもそれを拒否します。
ずっと過去から分岐した偽のブランチが、3 つの盾に阻まれます。720 ブロックのロールバック制限、スパインのチェックポイントの下限、リリースに含まれるスパインピンです。その上には、各ブロックが 3 分の 2 の署名を持つスパインがあります。稼働中のノードも新しいノードもそれを拒否します。

過半数にできること、できないこと

席の過半数を握る攻撃者でさえ、できるのはトランザクションを遅らせたり検閲したりすることと、3 時間の制限内で最近のブロックを置き換えることだけです。署名を偽造すること、他人のコインを使うこと、コインベースのスケジュールを超えて発行すること、スパインのチェックポイントより下に戻ることはできません。すべてのノードがすべてのブロックを自分で確認するからです。

ZooBC の安全性が頼らないもの

  • 秘密性。 ピア間の通信は平文の gRPC です。保護は署名と検証から得られます。
  • エネルギーやハードウェア。 解くべきパズルはなく、どのマシンも有利になりません。
  • 信頼される第三者。 ブロックに副署する財団も、スナップショットを保証するウェブサイトもなく、最も重いチェーンを知るには誠実なピアが 1 つあれば十分です。

関連項目

このトピックの記事