HiÐΞClassic

次のRSS3についてまとめ: Web3 PassとOneSign

aqz/tamaina
3 years ago
アップデート(課題認識)Web3 PassOneSign

よーちゃんさんによるThe Big Update and Web3 Pass翻訳記事を読みました。

英語記事はまったく理解できなかったのですが、日本語の記事を読んである程度理解できました。
今回はこの記事の内容について、ブロックチェーン技術にあまり関心のないMisskey開発者・ユーザー様向けに、嚙み砕いて説明をしようと思います。
(とは言えMetaMaskでEthereumアカウントを作成している前提で話を進めます。)

アップデート(課題認識)

インターネットの誕生から、人間はオンラインで資産を作ってきました

暗号資産だけではなく、HiÐΞのような記事、YouTubeの動画、Misskeyのノートなどのデータもインターネットの資産です。

オンラインで利用できるアセットの数と種類が増えている
具体的には、譲渡不可能なトークンやゲーミングアセットが今後増えてくる

譲渡不可能なトークンは再移転不可トークンとも言われるでしょうか。EthereumであればERC1238が提唱されています。
Non-Transferrable TokensだからNTTsと略されるらしいです(大爆笑)。書くのが面倒なのでこの略称を使います(真顔)。
その名の通り、NFTとは違い、NTTは移転不可能なトークンです。
ゲーミングアセットはNTTの一種と言って良いでしょう。
(むしろなぜNFTが先に流行ったのでしょうか?投機意欲が強いから?)

そういった様々な資産は、現在でも大人の事情で、Ethereumチェーンだけではなく、IPFSなどいくつかの種類のネットワークに分散しています。資産をひとつのネットワークに集めるのは現実的ではありません。また、分散してある方が冗長性があって良いと考えることもできます。

そこで、今回、分散する資産を検索・検証するためのプラットフォーム「Web3 Pass」を発表します。
(日本語訳は翻訳ミスでこの段落が一つ抜けています。)
詳細な技術情報等は後程発表されるらしいです。

Web3 Pass

現在Web3 Pass (pass3.me)は試験段階であるため、参加が制限されています。
参加ガイド(英語)

Web3 Passを使うためには、まずこちらのフォームを記入し、ウェイティングリストに登録しましょう。

TwitterのDMが送られてきて、Web3 Passの登録に必要$PASSトークンを獲得できます。

さて、Web3 Passの登録等の操作には、ガス代のためのETHが必要になります。
現在はテストネットですので、faucet.metamask.ioなどからETHをもらいましょう。

Web3 Passにアクセスして登録していきます!

まずMetaMaskと連携します。
そして、RSS3 Naming Service (RNS)名を決めます。ユーザーIDのようなものです。
RNS名は個人を識別するものであり、登録時に自由に決めることができます。

現状筆者には$PASSが送られてきていないため、Web3 Passの仕様や操作等については機会があれば記事にできたらと思います。

Web3 Passは、試験運用が終わり次第メインネットに移行されるそうです。
(移行にかかるガス代はNatural Selection Labsが負担してくれるらしいです。太っ腹!)

OneSign

RSS3に署名・検証機能があるのは私が前回解説した通りです。

署名ですから、同一性も証明したいので、本来はEthereumと同じ秘密鍵を使いたいものです。

アプリケーションが自動で署名を行うために、金融資産を扱うアカウントの秘密鍵をブラウザ(IndexedDB, localStorageなど)やサーバーに保持するのは、安全性の観点から行うべきではありません。
かと言って、署名にMetaMaskを利用するとなると、ユーザーは何かを投稿するたびにMetaMaskのダイアログで署名ボタンを押す必要が生じます。

ではどうするか。

Natural Selection Labsは今回新たにOneSignという署名方式を提唱しています。

ユーザーのために別の鍵ペアを生成し、生成された公開鍵にEthereumの秘密鍵を使って署名し、最後に新しく生成された秘密鍵をIndexedDBに格納します。

機知に富んだハッカーが何をするかは予測できませんが、私たちにできることは、生成されたキー・ペアに異なるカーブを使用し、無価値にすることです。

Secp256k1とは異なる曲線には、多くの良い選択肢があります。 OneSignでは、最も広くテストされ、使用されているオプションの1つであるCurve25519を選択しました。 私たちの選択についての議論は歓迎します。

カーブや曲線とは、秘密鍵から公開鍵を生成するための数学的関数のことです。関数をグラフに表すと楕円曲線になります。楕円曲線を用いた暗号方式は楕円曲線暗号と呼ばれます。
楕円曲線は色々なものがありますが、Secp256k1はEthereumで使われているものです。
(秘密鍵はコンピューターで乱数として生成します。)

OneSignでは、金融に利用しない鍵ペア(キーペア=秘密鍵と公開鍵のペア)を、Ethereumとは別の曲線であるCurve25519を用いて生成します。
そしてOneSign公開鍵をユーザーがEthereumで署名します。
署名を検証すれば、OneSign公開鍵がEthereum公開鍵と同一のユーザーから発行されたものだと証明できるでしょう。

RSS3の署名はブラウザに保存したOneSign秘密鍵によって自動で行います。

仮にOneSign秘密鍵が漏れたとしても、Ethereumの資産が流出することはありませんし、新しくOneSignキーペアを作り直して署名を続けることができます。安全ですね。

OneSign方式で証明できるアカウントは、何もEthereumだけではありません。
Web3 Passでは、EthereumとBinanceスマートチェーンのアカウント証明に対応するそうです。


コメント
いいね
投げ銭
最新順
人気順
aqz/tamaina
3 years ago
コメント
いいね
投げ銭
最新順
人気順
トピック
アプリ

Astar Network

DFINITY / ICP

NFT

DAO

DeFi

L2

メタバース

BCG

仮想通貨 / クリプト

ブロックチェーン別

プロジェクト

目次
Tweet
ログイン