見出し画像

秘密鍵の管理がいらなくなるEthereumの重要アップデート Account Abstraction

一般ユーザーにとって、秘密鍵やシードフレーズの管理はかなり負担ではないでしょうか。新規ユーザーが「こわいな」「難しそうだな」と感じるポイントでもあり、参入の障壁になっている可能性も否定できません。
この課題の解決を図ろうとしてるのが「Account Abstraction」です。Account Abstractionは2016年頃から議論されていて、Ethereumの創設者のヴィタリック氏も、今後のEthereumの重要なアップデートだと位置付けています。

このAccount Abstractionについてわかりやすく解説します。

前提知識:Ethereumアカウントの仕様


Account Abstractionの説明の前に、まずEthereumのアカウントがどのような仕様になってるのかを知っておかなければいけません。

まず、ウォレット=アカウントではありません。ウォレットはアカウントを管理できる製品です。その上で、Ethereumには以下の2つのアカウントが存在します。

EOA・・・
・Ethereumの外部で管理されるアカウント
・MetaMaskなどに紐付いてるアカウント
・秘密鍵が必要
・トランザクションを生成できる

Contract Account・・・
・Ethereum内部で管理されるアカウント
・秘密鍵はない
・トランザクションを生成できないけど、受け取ったら送ることはできる
・コントラクトコードによってコントロール可能

ざっくりとした説明ですが、とりあえずこのような2つのアカウントが使われてることがわかればOKです。
ここで現在課題とされているのがEOAのセキュリティ面です。EOAは秘密鍵が必要なアカウントです。EOAを使わないとトランザクションを生成できないので、秘密鍵及びシードフレーズを紛失した場合、基本的にはそのアカウントは再生することができなくなるため秘密鍵やシードフレーズの管理が重要になってきます。

Account Abstractionの概要


この課題を解決しようとしてるのが、Account Abstractionです。
Account Abstractionとは、「アカウントからEOAを取り除き、全てContact Accountにまとめる」という提案です。このことにより、Contract AccountがEOAと同様に支払い等のトランザクションを生成できる仕様になる予定です。

Account Abstractionになると、このような恩恵があると言われています。

  (1)秘密鍵が不要
最も大きな特徴は、Contract Accountでは秘密鍵が不要であることです。
これまでのEOAの場合は、トランザクションの の署名を行わなければならなかったものが、署名検証アルゴリズムなどを自由に選択可能となるとのことです。一般ユーザーにとって秘密鍵の存在は煩雑でリスクを伴うものでした。秘密鍵の替わりに、メールアドレスなどでのソーシャルリカバリーが可能となります。

  (2)取引手数料の削減
これまでのアカウントは、EOAとContract Accountの2種類のアカウントを行き来して行われていましたが、これがContract Accountに一本化されます。EOAを経由することで消費していた余計なガス代が不要となります。

まとめ


簡単にAccount Abstractionについて説明してみました。
個人的に、一般ユーザーが気軽にweb3.0に触れるには様々な障壁があると思っていて、その一つが秘密鍵やシードフレーズの管理の煩雑さだと思います。一般ユーザー代表の僕自身、web3.0の複雑さやリスクに何度もキレそうになっています。Account Abstractionが実装されるとこの大きな課題が一つ解決しそうなので、かなり期待しているアップデートです。

この記事が気に入ったらサポートをしてみませんか?