💨

Lit Protocolの技術的概要と価値

2023/04/05に公開

この記事は、Lit Protocolの技術的な側面や実用性について理解を深めることを目的に書いています。記事の内容に不備等あれば是非フィードバックいただきたいです。

読んでいる方がLit Protocolについての理解を深め、ブロックチェーンにおけるデータプライバシーの保護やデータ管理の手法について考えるきっかけになれば幸いです。

Lit Protocolをサービスに組み込む具体的な実装方法については今回は触れません。

Lit Protocol とは?

https://litprotocol.com/

Lit Protocolは、暗号鍵ペアの作成と管理を分散して行うことで、条件付き暗号化やプログラムによる署名の実現を目的としたプロトコルです。
分散型鍵管理ネットワークとして機能するLit Protocolは、集中型鍵保管サービスや他の鍵管理ソリューションの代わりとして利用できます。

ちなみにLit Protocolは、今月14日から東京で開催されるETHGlobal Tokyoのパートナーになっており、$5,000のprizeがあります。

https://ethglobal.com/events/tokyo

Lit Protocolの価値

いくつかの技術要素により、以下の価値の実現が可能とされています。

  • ブロックチェーン上に載せられない機密情報の安全な分散管理
  • 誰も完全な秘密鍵を持たない状態でのプログラムによる署名
  • オンチェーン/オフチェーンのデータを活用した鍵の所有権や利用権の譲渡や制御

従来の鍵管理プロトコルでは、鍵は一元的に管理されることが一般的でした。これにより、鍵の漏洩やセキュリティ侵害のリスクが高まります。Lit Protocolは、機密情報である鍵を分散管理することが可能で、これらのリスクを大幅に軽減できます。

また、従来の鍵管理手段では、鍵の所有権や利用権の証明や管理が煩雑であり、トラブルが発生しやすい状況でした。
Lit Protocolでは、NFTなどを用いて鍵の所有権や利用権を証明し、ブロックチェーン上で権限の譲渡や制御が行えるため、効率的かつ透明な権限管理が可能です。

さらに、オフチェーンデータを使った制御も可能で、鍵管理プロセスがより柔軟で拡張性のあるものになり、新しいユースケースに対応できるようになります。

Lit Protocolの特徴、主要技術

ブロックチェーン非依存のミドルウェアという位置付け

Lit Protocolは、ブロックチェーンに依存せず、複数のブロックチェーンやオフチェーンプラットフォーム間でデータの読み書きが可能なミドルウェア層として機能します。
ほとんどのEVMチェーン、Cosmosチェーン、およびSolanaエコシステムと互換性のある分散型アクセス制御プロトコルを提供しており、条件付き復号化やプログラムによる署名を、異なるプラットフォーム間で実現することが可能です。

サポートされているブロックチェーン一覧

しきい値暗号

Lit Protocolはしきい値暗号技術を用いた分散型鍵管理ネットワークです。
しきい値暗号技術は秘密分散を実現する手段の一つで、秘密情報を複数の「シェア」とよばれる断片として分割し、分散させる仕組みです。
分散されたシェアの一定数以上が集まらない限り、元の秘密情報を復元することができません。

Lit Protocolでは分散鍵生成(DKG)と呼ばれるプロセスで、公開鍵と秘密鍵のシェアを生成し、各ノードに異なるシェアを保存します。
生成されたECDSAのキーペアは、Lit Protocolの文脈ではProgrammable Key Pairs (PKPs)と呼ばれます。

公式ドキュメントより引用
公式ドキュメントより引用

これにより、単一のノードのみが鍵の利用権を持つことが出来ず、ある一定のしきい値に達する数のノードが協力することで鍵が利用できる状態を実現できます。
ちなみに、Lit Protocolはネットワークに参加するノードの2/3がしきい値に設定されています。

ノードがネットワークに参加したり離脱したりすると、プロアクティブ秘密分散と呼ばれるプロセスによって、シェアが再生成されます。

SEV (Secure Encrypted Virtualization)

Lit Protocolは、セキュリティをさらに向上させるために、AMDのSEV-SNPをベアメタル実装としてノード運営者向けにハードウェアソリューションを構築しています。
SEVは、サーバ上で稼働するVMを独自の暗号鍵で保護する技術で、この技術により、ノードの操作はすべて安全なブラックボックス環境内で行われ、ノード運営者や外部のエージェントはノード内に保存されたシェアや計算に直接アクセスすることはできません。

ユーザーの操作で署名や復号化がなされる際は、各ノードは独立した暗号化されたチャンネルを介して通信します。これにより、シェアは再結合の瞬間にのみクライアント側で公開されます。

Lit Actions

Lit Protocol独自のスマートコントラクトとしてLit Actionsと呼ばれる機能があります。
Lit Actionsの実態はIPFSに保存された不変のJavaScriptのコードで、ユーザーはコードを書いてIPFSにアップロードし、ノードにそのコードの実行と結果の返却を依頼することができます。
Lit Actionsは署名と復号に使用でき、JavaScriptで柔軟に処理を決められます。PKPとの直接の連携や、オンチェーン/オフチェーンデータの計算への活用が可能です。

実現できる制御の例

  • 「n以上のEtherを保有していること」というオンチェーン条件を満たすユーザーにのみ暗号化された静的コンテンツの復号鍵を提供する
  • 「ユーザーはNFTを保有していること」といったオンチェーン条件を満たしたユーザーにのみ、署名を提供する。
  • Google OAuth、Discordなどのオフチェーンサービスの認証情報をみて、オンチェーン取引を実行する

ちなみに、PKPは公式が出しているミントサイトから、ERC-721のNFTとして簡単にミントでき、所有権をオンチェーン上で証明できます。
https://explorer.litprotocol.com/mint-pkp


これらの技術要素を組み合わせることで、Lit Protocolは高いセキュリティとプライバシー保護を保ちつつ、優れた柔軟性と互換性を持つ鍵管理プロトコルを実現しています。

利用例

価値をイメージしやすくするために、Lit Protocolを実際に利用しているプロダクトを2つ紹介します。

gasless airdropper

https://github.com/noplan-inc/gasless-airdropper

ガス代無料でトークンのclaimができるサービスです。
先日開催されたFracton Hackathon Vo.1で2つの賞を獲得しています。
(自分はこのサービス経由でLit Protocolを知りました。)

「ホワイトリスト登録されたアドレスを保持している」というオンチェーン条件を満たすユーザーに対してへNFTを譲渡しています。
NFTを譲渡するトランザクションはLit Protocolで管理されたキーペアによって署名されるため、エンドユーザーはガス代の支払いが発生しないという仕組みになっています。

Patch Wallet

https://app.patchwallet.com/

Twitter, Github, Emailなどの認証情報でWalletが作れるサービスです。
ERC-4337形式の抽象化されたコントラクトウォレットを作成し、Web2の認証情報というオフチェーン条件を使った署名をLit protocolで実現しています。


他にも多くのユースケースが公式ドキュメントにて紹介されてます。
https://developer.litprotocol.com/usecases

まとめ

本記事では、Lit Protocolについて概要やその価値、主要な技術要素、ユースケースについて解説しました。
Lit Protocolは、ノードの分散性やスケーラビリティなど解決するべき課題はあるものの、新しい鍵管理プラットフォームとして大きな可能性を持っていると考えています。

今後のLit Protocolの応用の活性化やLit Protocol自体の発展により、分散型鍵管理技術がさらに進化すると思うのでとても楽しみです。

(Lit ProtocolがパートナーになっているETHGlobal Tokyoですが、自分もこのハッカソンに参加予定です。チームや取り組むアイデアなどまだ決まっておらずで、もし一緒にチームを組んでいただける方がいらっしゃれば連絡いただけると嬉しいです。)

https://ethglobal.com/events/tokyo

Discussion