トランザクションの処理は順序通りでない?|DApps(ブロックチェーンを活用したアプリケーション)のことなら

TOP  コラム  トランザクションの処理は順序通りでない?

トランザクションの処理は順序通りでない?

2019.02.02

コラム

トランザクションの処理は順序通りでない?

トランザクションのライフサイクルに関する理解を深めよう!
近年、ブロックチェーン技術は、さまざまな方面から高い関心を寄せられる対象となっています。いわばネットワーク共有型の、正しさを保証し合って有効な情報だけが維持されるデータベースということもできるブロックチェーンですが、その仕組みや技術面に対する理解は、まだまだ浸透しているとはいえません。

特定の権限を持った管理主体を置かないことによる非中央集権的仕組みで、高い透明性を維持できる点や、特異点を作らないことによる安定性、自動修復が可能な性質、耐改ざん性の高さなどがとくに優れたポイントで、トラストレスに高い信頼性・信用性を要求される取引も実行できることから、現在はこれを基盤技術とする仮想通貨の取引が活発に行われるようになっています。

このページにたどり着いた方も、仮想通貨には一定以上の興味関心を抱いていることでしょう。仮想通貨取引を賢く行っていくには、ブロックチェーンの仕組み全般について、中でもトランザクションの生成から処理完了にいたる流れをよく理解しておく必要があります。

一見、ややこしく思われるブロックチェーンですが、実は既存技術の巧みな組み合わせによって成り立っているため、ひとつひとつ理解を重ねていけば、意外にシンプルなものであることも分かってきます。今回はトランザクションの処理における順番について、少し解説しましょう。

処理への着手は投函された順番と違う?
仮想通貨の場合、ブロックチェーンには、アドレス間のやりとりを主に記録したトランザクションデータが記録されます。ブロックチェーンの維持・運用を図っていく上で、重要な存在として「マイナー」と呼ばれる人々があり、マイニング作業が行われているということは、耳にしたことがあるかもしれません。

取引を希望するユーザーが起こしたトランザクションの生成から、ブロックチェーンに記録されるまでの流れには、このマイナーの動きが深く関わっています。

送金取引として、あるアドレスへ一定量のコインを送るため、新規でトランザクションを生成したとしましょう。送金元となるユーザーは、取引開始時点でそのコインの所有権を確かに有している本人であることを示さなければなりませんから、秘密鍵を用いた電子署名を付して、ネットワークへ投函します。

送られてきたトランザクションは、いったん「トランザクションプール」と呼ばれる場所に置かれ、検証・承認を待つ保留状態になります。このプールされたトランザクションを問題のないものかどうか確認し、記録台帳としてのブロックチェーンに書き込むため、必要な処理作業を行うのがマイニングで、それを自主的に担うのがマイナーです。

マイナーは、ネットワークに参加するノードならば誰でもなることができ、計算リソースを提供して処理を実行、マイニングに成功すると報酬が得られます。マイニングの成功は、他のマイナーと計算処理競争を行って、1位になった時に達成されるようになっています。

マイナーがトランザクションプールから、検証するトランザクションを選択するのは、自由に行えるルールですから、投函された先着順に処理されていくわけではありません。当然ながら、より有利に報酬が得られそうなものから選ばれていくと考えられ、報酬に直結する手数料に違いがあれば、高い方から着手される可能性が高いでしょう。よってここで処理の順番は、生成や投函の順とは異なるものになってきます。

順序が守られなくても大丈夫?
マイニングが成功し、そのトランザクションが収められるブロックが決まって生成されると、これまでのチェーンの末端にそのブロックが連結され、晴れてブロックチェーンに記録されたものとなります。

いったんマイニングで検証に必要な値が発見されると、確認・承認作業はごく簡単な計算で済みますから、各ノードに伝播してネットワーク内で承認が積み重なり、次のブロック、その次のブロックとチェーンが伸びていくことで、トランザクションの記録はより確かなもの、間違いのない正当なものと認められるようになります。

トランザクションは世界中からどんどんと送られてくるため、次々にプールされ、絶え間なくマイニングが試みられていきます。先述のように、着手する順番に決まりはなく、マイナーに選択権がありますから、厳密な先着順通りに処理が受け付けられて進行するようにはなっていません。

こう聞くと、取引に影響がありそう、順序が守られなければ悪影響があるのではないかと不安に思われる方もあるでしょう。しかし実際にはこの順序違いによる問題はほぼなく、やりとりに影響が及ぶようなことはまずありません。

ネットワークの規模が大きくなることにより、トランザクションプールで未承認状態のまま置かれる時間が長くなって、手数料が高騰していく、タイムラグが大きくなるなど、スケーラビリティ問題とされる課題は確かにあり、これらを緩和・解消する方法の議論や策の導入は続いています。

発展途上の技術として、改善が目指されている面は他にもありますが、トランザクション処理と記録の順番は先着通りでないこと、またそうであることによる問題はさほどないことを、ここでは理解しておいてください。

▼DApps総研
https://dapps-info.com/

(画像は写真素材 足成より)