APPの盗難防止機能「ぱんだロック」に込められた想い
引用:https://twitter.com/sui_traveler/status/1586524534475137024
TikTokのフォロワーが80万人を超える(2023年2月時点)人気キャラクターの「あおぱんだ」のNFTコレクション「Aopanda Party」(以下「APP」という)。NFTの盗難被害が散見される中、APPでは、購入者がNFTの盗難被害にあうことを防止する画期的な仕組みが導入されています。そこで、APPの盗難防止機能「ぱんだロック」について、プロジェクトの運営メンバーでもあり、ぱんだロックを開発された、まさパンことmasataka氏にインタビューを行いました。
<masataka氏のプロフィール>
エンジニアとして働いており、2017年にブロックチェーンを知る。
ブロックチェーンの思想や、ビットコインやイーサリアムの仕組みに将来性を感じるも、企業が導入することは少なく、ブロックチェーンの知見を活用できる場を探していた。
そんな折、Web3エンジニアが集まるDiscordサーバーを見つけ、参加するようになる。
そのコミュニティの繋がりで、エンジニアとしてAPPの運営メンバーに参画し、ぱんだロックを開発した。
ぱんだロックとは
Q.ぱんだロックとはなんですか。
ぱんだロックとは、APPが盗難されることを防止する仕組みです。ぱんだロックは2つの機能から成り立っており、APPの購入者は盗難防止のために、任意で使用することができます。
引用:https://twitter.com/web3_ninja/status/1583719562716979200
1つ目の機能は、CAL(コンタクトアローリスト)です。これは、SetApprovalForAllを制限する機能になっています。SetApprovalForAllとは、承認を与えた相手が自分のウォレット内のNFTを自由に別のウォレットに転送することができる権限を与える仕組みです。これはOpenSeaなどのマーケットプレイスでNFTを売買する際に必要になります。しかし、NFTの盗難の多くが偽のサイトからSetApprovalForAllの実行を承認してしまうことによって発生しています。ぱんだロックを使用することで、あらかじめSetApprovalForAllを実行できる相手を限定し、盗難を試みる人が実行できなくなります。
引用:https://twitter.com/web3_ninja/status/1583719562716979200
2つ目の機能は、個別ロックです。1つ目の機能「CAL」でSetApprovalForAllを悪用した盗難を防げるようになりました。しかし、盗難と対策はイタチごっこなので、次に予想される手口への対策が必要だと考えました。SetApprovalForAllの次に予想される盗難の手口は、偽サイトから、mintと見せかけて直接盗難者のウォレットにNFTを転送してしまうというものです。これを防ぐために、個別ロックでは持っているAPPをSBT注1にすることができます。自分のタイミングでNFTとSBTを切り替えることができますが、切り替えるためには、APPが運営するサイトを通さなければいけません。これは、たとえ盗難者がSBTになったAPPを盗難しようとしても、SBTからNFTに切り替えることができないようにするための仕組みです。SBTに切り替えるだけではなく、その切り替えをサイトで管理するという部分はより強固な仕組みへのこだわりと、APPというプロジェクトの規模があって実現することができました。
注1:SBTとは譲渡ができないトークンです。自由に売買や転送ができるNFTと違い、二次流通させることができません。保有者の功績などが証明できるとして、活用が注目されています。
ぱんだロックができるまで
Q.どのような経緯でぱんだロックができたのですか?
APPは「仲間を増やしたい」という想いのもと立ち上げられたプロジェクトです。多くの人にあおぱんだというキャラクターや、そこに込められたメッセージ、NFTの良さを知って欲しいという気持ちがありました。
しかし、2022年の夏頃からNFTの盗難の被害が目立つようになっていて、もし興味を持ってAPPを購入してくれても、盗難被害にあってしまったら、NFTを嫌いになってしまうのではないかという懸念がありました。また、プロジェクト全体としても、NFTが盗難され、出品されることで価格が下がり、プロジェクトの価値が下がってしまうことに繋がります。
NFTはまだまだこれから普及していく段階で、NFTに触れている人々のリテラシーもまだ十分に高まっていないと考えたため、盗まれない仕組みをつくる必要があると考えました。
そこで、無理難題にも思える盗難できないNFTの仕組みについて、NInjaDAO注2から生まれたエンジニアサーバーで、Web3やNFTの最前線で活躍するエンジニアに相談しました。そこで出して頂いたアイデアをもとにぱんだロックの開発が始まりました。ソフトウェア開発のプラットフォームであるGitHubで公開し、多く優秀な人たちの手を借りてぱんだロックができあがりました。
彼らにはお金が発生しないにも関わらず、献身的に協力してくれました。NFTをもっと広めたい、NFTの盗難によって悲しむ人を減らしたいという想いに共感してくれたのだと思います。
注2:NinjaDAOとはNFTコレクション「Crypto Ninja」のコミュニティです。
Q.ぱんだロックの仕組みはAPP以外のプロジェクトでも実装できるということでしょうか。
はい、CALと個別ロックの仕組みはオープンソースとして公開されているため、それを参照することで誰でもつかえる状態になっています。既に日本発のプロジェクトでは使用されているプロジェクトが複数あり、今後展開予定の個別ロックが採用されているプロジェクトの一例としてはCryptoNinja Children、CNP Reborn、CNP Phillippinesなどがあります。
パンダロックに込められた想い
Q.ぱんだロックの仕組みや、つくられた経緯はとても素敵なものだと感じたのですが、ぱんだロックの使用が任意なのはなぜなのでしょうか。
ぱんだロックは盗難被害を大幅に減少させることができる反面、その仕組みには問題点もあります。それは、NFTをロックするという仕組みを実現するためには、中央集権的な運用が必要になってきてしまうという点です。これは結果的に、分散型というWeb3の思想には反してしまっています。
まず、CALを実装するためには、SetApprovalForAllを実行できるマーケットプレイスを規定しなければいけません。そのため、CALを実装する人がマーケットプレイスを選択する必要があるという点で中央集権的な仕組みになってしまいます。ぱんだロックでは開発に携わった数人のエンジニアによって選択されました。一緒に開発をしたメンバーは業界の知見も深いため、信頼のもとで我々がつくったものを採用してもらっている形です。
次に、ぱんだロックの解除の権限についてです。ぱんだロックでロックしたまま低い価格で出品するなど、悪意のある出品をされてしまう可能性が考えられます。そうすると、そのNFTは購入することができないため、プロジェクトの最低価格を永続的に吊り下げられてしまうことになるのです。そのため、ぱんだロックでは悪意のある出品に関して、運営がロックを解除することができるようになっています。
この様に、ぱんだロックにはいわゆるWeb3的ではない側面があり、Web3の思想を大切にしている人には受け入れて貰えないような仕組みだといえます。そのため、個別ロックは、任意で使用し、好きな時にロックを解除できるようにしています。
しかし、それでも我々がぱんだロックをつくったのは、今がNFTやWeb3の過渡期で、多くの人にその価値を感じて貰うには、今はまだその様な仕組みが必要であると考えたからです。
なので、将来セルフカストディ注3と言われるように、多くの人が安全に自己保管できるようになり、防止機能がなくても盗難被害にあう人が極端に少なくなれば、ぱんだロックという機能自体を削除できる日が来ると考えています。なのでいつかは、ぱんだロックという機能が役割を果たして不要になり、無くなって欲しいという想いのもと、ぱんだロックを開発しました。
注3:セルフカストディとは自らウォレットなどを選択し、個人で暗号資産を管理、運用すること。資産の管理を行う企業に依存しないことで、倒産等のリスクを避けることができます。
編集後記
今回はAPPの盗難防止機能「ぱんだロック」を開発されたmasataka氏にお話をお伺いしました。エンジニアサイドのお話ということで、少し難しいお話を想像していたのですが、ぱんだロックが開発された経緯や将来的な在り方などを聞いて、熱い想いによってぱんだロックが開発されたと分かり、非常に感動しました。APPの素敵な価値観を多くの人に届けるために、キャラクターのデザインやコミュニティの運営以外にも、人知れず活動されている方々の存在について知りました。NFTプロジェクトにはこれだけの想いが込められています。自分のためにもプロジェクトのためにも、NFTをお持ちの方は今一度ご自身の盗難対策を見直されてみてはいかがでしょうか。
参照元:NFT Media