ZooBC ウィキ
トランザクション

トリガーとアテステーション

トリガーとは、チェーンが預かる条件付きの支払いです。ZBC を今ロックし、条件が満たされたときに後で受取人へ放出します。条件は、ブロック高か、試合の結果など、登録済みノードがアテステーションによって確認する外部世界のイベントのどちらかです。トリガーによって、コントラクトのコードなしに、時間ロック、遅延した贈り物、現実世界の結果に応じた支払いが可能になります。

トリガーの作成

CreateTrigger トランザクション(タイプ 15)は、受取人、金額、条件を示します。トリガーが運べるのは ZBC だけです。条件には 2 種類あります。

  • 高さのトリガーは、未来のブロック高を指定します。ブロックは 15 秒ごとに作られるため、高さは日付のように働きます。1 日先は 5,760 ブロックです。
  • イベントのトリガーは、イベント ID を指定し、登録済みノードがそのイベントを確定させたときに発動します。それまで、または取り消されるまで保留のままです。発動の高さも運びますが、それは使われません。

金額は直ちに作成者の残高から出ていき、ロックされます。トリガーが発動するまでは、作成者は CancelTrigger(タイプ 16)でお金を取り戻すことができます。トリガーは一度だけ支払います。スクリプトを実行することはなく、繰り返すこともありません。

ロックされた ZBC の箱から出る 3 つの道:ブロック高 H への到達、レジストリの 3 分の 2 がある値に合意すること、そして発動前の CancelTrigger で、これはお金を作成者に戻します
ロックされた ZBC の箱から出る 3 つの道:ブロック高 H への到達、レジストリの 3 分の 2 がある値に合意すること、そして発動前の CancelTrigger で、これはお金を作成者に戻します

アテステーション:イベントの確定の仕方

ブロックチェーンは、それだけでは外部の世界を読み取れません。すべてのノードがウェブページを取得したら、異なる答えを見て意見が分かれるかもしれません。ZooBC は代わりにアテステーションを使います。

  • 登録済みノードが、イベント ID と値(それぞれ最大 4,096 バイト)を運ぶ AttestEvent(タイプ 17)を送ります。
  • 各ノードはイベントごとに 1 票を持ち、新しいアテステーションは古いものを置き換えます。数えられるのは登録済みノードからのアテステーションだけです。
  • 各ブロックの終わりに、チェーンは未確定の各イベントのアテステーションを集計します。アクティブなレジストリの 3 分の 2(たとえば 11 席のうち 8 席)がまったく同じ値をアテステーションすると、その値がイベントの結果として最終的に確定します。
  • 同じブロックで、そのイベントを指定する保留中のトリガーがすべて、その受取人に支払います。
11 のノードのうち 8 つが同じ値のカードを持っています。集計が 3 分の 2 を超え、トリガーが開いて受取人に支払い、結果が最終的に記録されます
11 のノードのうち 8 つが同じ値のカードを持っています。集計が 3 分の 2 を超え、トリガーが開いて受取人に支払い、結果が最終的に記録されます

アテステーションは手数料のかからない義務です。手数料をちょうど 0 と申告し、ノード自身のアカウントから送られます(手数料 を参照)。レジストリが席数および異なるオーナー数の下限 max(3, min_registry_size)、つまり mainnet では 7 を下回っている間は、レジストリ全体の決定は何も確定しません(3 分の 2 ルール を参照)。

予約されたイベント ID

同じアテステーションが、イベント ID の予約されたプレフィックスの下で、ネットワークの他の決定も運びます。それぞれはトリガーの手順ではなく、独自の手順で確定されます。

プレフィックス用途
ZBRDEP1:ブリッジへの入金(ブリッジとラップドコイン を参照)
ZBWDR1:ブリッジからの出金
ZBCGOV1:ガバナンス
ZBCREL1:リリースに関する投票(リリースとアップデート を参照)

他の機能との組み合わせ

  • トリガーの支払いは受け取る入金なので、受取人の分配ポリシーを通ります(分配ポリシーと取引ポリシー を参照)。
  • 受取人の取引ポリシーが確認されるのは CreateTrigger 自体についてだけです。受取人が後から支払いの受け取りを拒否する設定にしても、放出された支払いは届きます。
  • 取引ポリシーにおいて、AttestEvent は Bridge のカテゴリーに属します。

繰り返す支払いについては スケジュール送金 を、1 分ごとに権利が確定していくお金については リキッドペイメント(ストリーム) を参照してください。

関連項目