4.トランザクション
ブロックチェーン上のデータ更新はトランザクションをネットワークにアナウンスすることによって行います。
4.1 トランザクションのライフサイクル
トランザクションを作成してから、改ざんが困難なデータとなるまでを順に説明します。
- トランザクション作成
- ブロックチェーンが受理できるフォーマットでトランザクションを作成します。
- 署名
- アカウントの秘密鍵でトランザクションを署名します。
- アナウンス
- 任意のノードに署名済みトランザクションを通知します。
- 未承認トランザクション
- ノードに受理されたトランザクションは、未承認トランザクションとして全ノードに伝播し ます
- トランザクションに設定した最大手数料が、各ノード毎に設定されている最低手数料を満たさない場合はそのノードへは伝播しません。
- ノードに受理されたトランザクションは、未承認トランザクションとして全ノードに伝播し ます
- 承認済みトランザクション
- 約30秒に1度ごとに生成されるブロックに未承認トランザクションが取り込まれると、承認済みトランザクションとなります。
- ロールバック
- ノード間の合意に達することができずロールバックされたブロックに含まれていたトランザクションは、未承認トランザクションに差し戻されます。
- 有効期限切れや、キャッシュからあふれたトランザクションは切り捨てられます。
- ノード間の合意に達することができずロールバックされたブロックに含まれていたトランザクションは、未承認トランザクションに差し戻されます。
- ファイナライズ
- 投票ノードによるファイナライズプロセスによりブロックが確定するとトランザクションはロールバック不可なデータとして扱うことができます。
ブロックとは
ブロックは約30秒ごとに生成され、高い手数料を支払ったトランザクションから優先に取り込まれ、ブロック単位で他のノードと同期します。 同期に失敗するとロールバックして、ネットワークが全体で合意が取れるまでこの作業を繰り返します。