2019年08月03日

白書:次世代のスマート契約と分散アプリケーション・プラットフォーム(11)


The algorithm for checking if a block is valid, expressed in this paradigm, is as follows:
ブロックが妥当であるかどうか調べるためのアルゴリズムは、このパラダイムで表明されて、次の通りです:

1.      Check if the previous block referenced by the block exists and is valid.
ブロックによって参照された前のブロックが存在して、そして妥当であるかどうか調べること。

2.      Check that the timestamp of the block is greater than that of the previous blockfn. 2 and less than 2 hours into the future
ブロックのタイムスタンプが前のブロックfn. 2のそれより大きいことと将来に向けて2時間未満であるか調べること。

3.      Check that the proof of work on the block is valid.
ブロック上の仕事の証明が妥当であることを調べること。

4.      Let S[0] be the state at the end of the previous block.
S[0]が前のブロックの終わりの状態であること。

5.      Suppose TX is the block's transaction list with n transactions. For all i in   , set  S[i+1]  =  APPLY(S[i],TX[i])   If any application returns an error, exit and return false.
TX がn個の取引を持つブロックの取引きリストであるとしよう。0...n-1の すべてのiために、S[i+1]  =  APPLY(S[i],TX[i])で、もしアプリケーションがエラーを返すなら、終了して、そして偽を返すこと。

6.      Return true, and register S[n] as the state at the end of this block.
真を返して、そしてこのブロックの終わりの状態としてにS[n]を登録すること。

Essentially, each transaction in the block must provide a valid state transition from what was the canonical state before the transaction was executed to some new state. Note that the state is not encoded in the block in any way; it is purely an abstraction to be remembered by the validating node and can only be (securely) computed for any block by starting from the genesis state and sequentially applying every transaction in every block. Additionally, note that the order in which the miner includes transactions into the block matters; if there are two transactions A and B in a block such that B spends a UTXO created by A, then the block will be valid if A comes before B but not otherwise.
本質的に、ブロックでのそれぞれの取引きが、取引きが実行される前に、規準的な状態であったものから若干の新しい状態まで妥当な状態遷移を提供しなくてはなりません。 状態がどんな面にしてもブロックにコード化されないことに注意を払ってください; それは純粋に妥当性を検査しているノードによって覚えていられる抽象概念であって、そしてただ、起源状態から始めて、そしてすべてのブロックで連続的にすべての取引きに応用することによって、どんなブロックででも(安全に)計算することができるだけです。 さらに、鉱夫がブロックに取引を含む順番が重要であることに注意を払ってください; もし、ブロックにBがAによって作成された UTXO を費やすような2つの取引AとBがあるなら、ブロックは妥当でしょう。もしAがBの前に来るなら、そうではないでしょう。


=====================================================================
 

人気ブログランキングへ人気ブログランキングへ

=====================================================================

posted by 平成アフィリエイトへの挑戦 at 11:51| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。