マスタリング・ビットコイン 第3版 ―オープンブロックチェーンとそのプログラミング
by Andreas M. Antonopoulos, David A. Harding, 安土 茂亨, 鳩貝 淳一郎, 長尾 高弘
7章認可と認証
ビットコインを受け取るとき、受け取ったビットコインを使用できる権限を持つのは誰かを決める必要があります。これを認可(authorization)と言います。また、フルノードが認可された使用者とそうではない人を区別する方法も決める必要があります。これを認証(authentication)と呼びます。認可指示と送信者による認証の証明は、数千の独立したフルノードによってチェックされます。支払いのトランザクションが有効と認められるためには、支払いの認可と認証についてすべてのフルノードが同じ結論に達する必要があります。
オリジナルのビットコイン論文は、認可のために公開鍵を使っていました。アリスは、トランザクションのアウトプットにボブの公開鍵を入れることによって、ボブに支払いをしました。認証は、ボブからキャロルへの支払いのトランザクションに署名するという形で行われています。
しかし、実際にリリースされたビットコインシステムは、当初から認可と認証の両方において、より柔軟なメカニズムを提供していました。その後の改良により、その柔軟性はさらに高まりました。この章では、それらの機能を掘り下げていきます。
7.1 トランザクションスクリプトとScript言語
ビットコインのオリジナルバージョンは、Scriptという新しいプログラミング言語を導入しました。ScriptはForth風のスタックベースの言語です。トランザクションのアウトプットに配置されるスクリプトと、支払いトランザクションで使用される従来のインプットスクリプトは、このScript言語で書かれています。
Scriptは非常にシンプルな言語で、最小限の処理を実行できるだけです。現代的なプログラミング言語ができる多くのことを簡単には実行できません。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access