ホワイトペーパー

EOSテクニカルホワイトペーパー日本語訳4

更新日:

 本稿について

本稿では、EOS.IOのTechnical White Paper v2のうち「Accounts」の日本語訳を掲載します。

原文はこちらになります。

スポンサードサーチ

アカウント

EOS.IOソフトウェアは、全てのアカウントを最長で12文字までのユニークで人間に可読な名前で参照できるようにします。名前はアカウントの作成者によって選択されます。その新規アカウントがアカウント自体のRAMを準備するためのトークンを与えるまで、アカウント作成者は新規アカウントを保存しておくために必要なRAMを準備しなくてはなりません。

分散化の文脈では、アプリケーション開発者は新規ユーザをサインアップするために、名目上のアカウント作成費用を支払います。伝統的なビジネスでは、広告やフリーサービスなどの形で獲得した顧客ごとに既に膨大なお金を支払っています。対照的に、新たなブロックチェーンアカウントの資金調達コストは取るに足らないものでしょう。幸いにも、既に別のアプリケーションでサインアップしているユーザ用のアカウントを作成する必要性はありません。

アクションとハンドラ

各アカウントは他のアカウントに構造化されたアクションを送信することができるとともに、アクションが受信された際にそれを処理するためのスクリプトを定義することもできます。EOS.IOソフトウェアは各アカウントに対し、当該アカウントのアクションハンドラだけがアクセスできるアカウント自身のプライベートデータベースを付与します。アクションハンドリングスクリプトは、アクションを別のアカウントに送信することもできます。アクションと自動化されたアクションハンドラの組合せはEOS.IOがスマートコントラクトを定義する手法なのです。

並行処理をサポートするために、各アカウントはデータベース内に任意の数のスコープを定義することもできます。ブロック生成者はそのような方法でトランザクションをスケジュールするため、スコープに対するメモリアクセスにおいてコンフリクトは起こらず、従って並行処理を行うことができます。

役割ベースのパーミッション管理

パーミッション管理は、アクションが適切にオーソライズされているか否かを確定することも含みます。パーミッション管理の最も単純な形式はトランザクションに必要な署名があるかを確認することですが、これは必要な署名が既知であることを暗に示しています。一般に、オーソリティは個人や個人の集合体に紐づけられ、しばしば分割されます。EOS.IOソフトウェアは、誰が何をいつすることができるのかに関してよりきめ細やかで高水準な管理をアカウントに与える宣言型パーミッション管理システムを提供します。

認証とパーミッション管理が標準化されており、なおかつアプリケーションのビジネスロジックから分離されていることは重要です。これにより、汎用的な方法でパーミッションを管理し、パフォーマンス最適化の大きな機会を提供するためのツールを開発することができます。

任意の他アカウントと秘密鍵の加重組合せによって各アカウントを管理することもできます。これは階層的なオーソリティ構造を作り出します。階層的なオーソリティ構造は、実際にどのようにパーミッションが組成されているかを反映するとともに、アカウントに対するマルチユーザコントロールをかつてよりも簡単にします。マルチユーザコントロールはセキュリティに関する最大の貢献者であり、適切に用いられる場合にはハッキングによる盗難リスクを大きく削減することができます。

EOS.IOソフトウェアにより、アカウントは、鍵やアカウントの組合せにより特別なアクションタイプを別のアカウントに送信することを定義できるようになります。例えば、ユーザのソーシャルメディア用の鍵を1つ、それから取引所へのアクセス用の鍵を1つ所有できるとします。鍵を割り当てることなくユーザアカウントの代わりとして振る舞うためのパーミッションを他のアカウントに与えることさえもできるのです。

名前付きパーミッションレベル

EOS.IOソフトウェアを使い、アカウントは名前付きパーミッションレベルを定義することができます。各名前付きパーミッションレベルは、高位の名前付きパーミッションから派生させることができます。各名前付きパーミッションはオーソリティを定義します。オーソリティは、鍵や他のアカウントの名前付きパーミッションから成る閾値マルチシグネチャチェックです。例えば、あるアカウントの任意の友人により等しく制御されるアカウント上のアクションについて、アカウントの「Friend」パーミッションレベルを設定することができます。

次の例はSteemブロックチェーンで、ハードコードされた3つの名前付きパーミッションレベル、すなわちOwner、Active、Postingがあります。Postingパーミッションは投票や投稿のような社会的なアクションのみを実行するのに対し、Activeパーミッションはオーナーの変更を除くあらゆることができます。Ownerパーミッションはコールドストレージ向けに作られており、何でもできます。EOS.IOソフトウェアは、各アカウント所有者がアクションのグルーピングだけでなく自身の階層構造を定義できるようにすることで、このコンセプトを一般化します。

パーミッションマッピング

EOS.IOソフトウェアは、各アカウントがコントラクトとアクション間、あるいはあらゆる他アカウントのコントラクトとその名前付きパーミッションレベル間のマッピングを定義できるようにします。例えばアカウント所有者が自身のソーシャルメディアアプリケーションを自身の「Friend」パーミッショングループへマッピングしたとします。このマッピングで、あらゆる友人がアカウント所有者としてアカウント所有者のソーシャルメディアに投稿できるようになります。友人らはアカウント所有者として投稿するとしても、彼らはそれでもやはりアクションに署名するために自身の鍵を使用します。これは、どの友人がどのようにアカウントを使用したのかをいつでも識別できることを意味します。

パーミッション評価

「Action」型のアクションを@aliceから@bobへ届ける場合、EOS.IOソフトウェアは始めに@aliceが@bob.groupa.subgroup.Action用のパーミッションマッピングを定義しているかを確認します。何も見つからない場合、@bob.groupa.subgroup用のマッピング、続いて@bob.groupa、最終的には@bob用のマッピングが確認されます。それでも合致するものが見つからない場合、想定されるマッピングは名前付きパーミッショングループ@alice.activeになります。

一度マッピングが識別されると、閾値マルチシグネチャプロセスと当該の名前付きパーミッションと関連するオーソリティを使って署名オーソリティが検証されます。検証に失敗すると、検証は親パーミッションに、そして最終的にはOwnerパーミッションの@alice.ownerへと移ります。

デフォルトパーミッショングループ

EOS.IOテクノロジにより、全てのアカウントは何でもできる"Owner"グループと、オーナーの変更を除いて何でもできる"Active"グループを持つこともできます。これら以外の全てのパーミッショングループは"Active"から発生します。

パーミッションの並行評価

パーミッション評価プロセスは"読み取り専用"で、トランザクションによってなされるパーミッションの変更はブロックの完結時まで影響することはありません。これは、全トランザクションのための全ての鍵とパーミッション評価を並行して実行できることを意味します。さらには、ロールバックが必要になるかもしれない犠牲の大きいアプリケーションロジックを開始することなく迅速なパーミッションの検証が可能であるということでもあります。最後に、保留していたトランザクションを受信するとトランザクションパーミッションを評価することができ、適用時に再評価する必要もないのです。

総合的に考えてみると、パーミッション検証はトランザクションの検証に必要とされる計算の大部分を示しています。これを読み取り専用にし、少しばかり並行処理できるプロセスにしてあげることで、パフォーマンスの劇的な向上ができるのです。

アクションログから決定的状態を再生成するためにブロックチェーンを再生する場合、パーミッションをもう一度評価する必要はありません。トランザクションが既知の善良なブロックに内包されているという事実は、充分にこのステップをスキップするのに足るのです。このことが、これまで成長してきたブロックチェーンの再生に関する計算のロードを劇的に削減します。

強制的な遅延を伴うアクション

時間はセキュリティの重要な構成要素です。ほとんどのケースでは、秘密鍵が使用されるまで盗難されたことは知りえません。時間ベースのセキュリティは、日常使用でインターネットに接続しているコンピュータに鍵を置いておく必要のあるアプリケーションがある場合、よりいっそう重要になります。EOS.IOソフトウェアにより、アプリケーション開発者は、あるアクションがブロックに含まれたのち適用される前までの最小限の時間を待たなければならないことを示すことができます。この時間の間に、アクションをキャンセルできます。

それから、これらのアクションの一つがブロードキャストされると、ユーザはEメールかテキストメッセージを介して通知を受け取ることができます。もしオーソライズしていなかった場合は、アカウント回復プロセスを利用してアカウントを回復したりアクションを取り消すことができます。

必要な遅延時間は操作がどれだけセンシティブかによります。コーヒーの支払いは遅延時間もなく数秒で元に戻せなくなるかもしれませんが、家屋の購入は72時間のキャンセル可能期間が必要でしょう。アカウント全体を新たな管理体制へと移動するには最大で30日ほどかかるかもしれません。正確な遅延時間はアプリケーション開発者とユーザによって選択されます。

鍵盗難からの回復

EOS.IOソフトウェアは、鍵の盗難に遭った場合に、アカウントの制御を復元する方法をユーザに提供します。アカウントの所有者は、過去30日間でアクティブでありかつ指名したアカウント回復パートナーから許諾を得ている任意のオーナー鍵を利用して、自身のアカウントのオーナー鍵をリセットすることができます。アカウント回復パートナーはアカウント所有者の支援なくアカウントの制御をリセットすることはできません。

回復プロセスを通過しようと試みることでハッカーが得られるものは何もありません。なぜならば、ハッカーは既にそのアカウントを"制御"しているからです。さらに言えば、もし回復プロセスを通過したとしても、回復パートナーは恐らく身元確認とマルチファクタ認証(電話やEメール)を要求するでしょう。これにより、恐らくハッカーは妥協するか、あるいはハッカーはこのプロセスで何も得られないでしょう。

また、このプロセスは単純なマルチシグネチャのアレンジとはかなり異なっています。マルチシグネチャトランザクションでは、別のエンティティが実行される全てのトランザクションに対するパーティとなります。対照的に、回復プロセスでは、回復パートナーは回復プロセスに対応するだけのパーティでしかなく、日々のトランザクションに対して何らの権限も持ちません。このことが、誰もが関係するコストと法的責任を劇的に低減するのです。

次稿へ進む

前稿へ戻る

免責

邦訳には誤りがある場合がございます。予めご承知おき下さい。

確実な情報を知るためには冒頭に示した原文をご参照くださいますようお願いいたします。

-ホワイトペーパー
-, , , , , , , , , ,

Copyright© 暗号通貨界隈のメモ書きなど。 , 2019 All Rights Reserved Powered by STINGER.

%d人のブロガーが「いいね」をつけました。