はじめに
こんにちは。新規事業開発室の山口 (@yamarkz) です。
4/18(水)にブロックチェーンエンジニア勉強会 #2 が行われ、前回に続き登壇してきました。前回の参加レポートは下記を参考。
今回はこの勉強会で話した内容を本ブログでも紹介します。
スライド
トークンの概要
はじめに、ブロックチェーン技術に関連した話でよく出てくるトークン というものがそもそも何なのか? という話をしました。
ここの内容はちょうど先々週にブログでも紹介した内容と同じです。 (下記記事参考)
トークンは用途を軸に大きく3つの分類することができます。
ペイメント / ユーティリティ / セキュリティ
この3つの分類はスイスの金融市場監査局(FINMA)がICOのガイドライン上で定めています。参考
ペイメント
- BitcoinやBitcoin Cashは暗号通貨(Crypto Currency)と表現されていますが、これを抽象化したトークンという観点から見ると、金銭支払いに用いられるペイメントトークンに該当すると言えます。
ユーティリティ
- EthereumやFilecoinなどはサービスを利用するための対価としてトークンを用いるため、ユーティリティトークンに分類されます。 (ユーティリティ = 実用性)
セキュリティ
- トークンが現実世界の価値の裏付けとして利用され、証券のように扱われるトークンをセキュリティトークンとしています。
参考
Initial Coin Offering
ブロックチェーン技術に興味がある方なら、ICOというキーワードは一度は耳にしたことがあるかと思います。
これはプロジェクトに関連したトークンをユーザーに事前販売することで、プロジェクト推進の資金を調達する手段のことです。 Initial Public Offering (新規上場株式) に似ていることからICO (Initial Coin Offering) と呼ばれる様になったそうな。
ICO参加ユーザーの視点から見るとトークンの売り出しは大きく三段階に分けて実施されます。
- プライベートセール
- セール情報自体が公に出ていない中で行われる。プロジェクトに賛同してくれる大型投資家向け
- プレセール
- クラウドセールよりも短い期間で、かつ安い価格で購入することができるのがプレセール。一般の人向け
- クラウドセール
- クラウドセールはだいたい1ヶ月~2ヶ月など長い期間で実施されます。一般の人向け
ICOを実施する側のワークフローは Blockchain Tokyo で話された、Anypay inc.の中村さんの資料がとてもわかりやすいのでそちらを参考にして見てください。
ICOを実施した主要プロジェクト
トークンセールの仕組み
ICOを実施する中でもトークンを売り出す部分 (トークンセール) を技術的にどのように実現するのかを紹介しました。
ざっくり、図に表すと以下の様になります。
開発要件での登場人物は3人
- トークンコントラクト
- トークンセールコントラクト
- Gnosis Multisig Wallet
全体像の結論は、トークンセールコントラクトがトークンコントラクトへの状態変更処理と、Multisig WalletへのEtherの送信処理のハンドリングをしています。
トークンコントラクト
既出でネット上にある資料を参考にするのが一番理解が早いと思います。下記資料を参考
- トークンコントラクトの仕組みとERC20トークンを用いたサービス設計の概要
- Truffle で始める Ethereum 入門 - ERC20 トークンを作ってみよう
- zeppelin-solidity
トークンセールコントラクト
「トークンの販売を行う」というと難しい印象がありますが、zeppelin-solidityのコードに則ってシンプルに実装するのであれば難しくないです。
大まかな流れをシーケンス図で表すと下記の様になります。
処理の途中にKYCのハンドリング処理を挟むなどしてカスタマイズすることも可能です。
深く理解したい場合は、zeppelin-solidityのCrowdsale.solを読みましょう。
Gnosis Multisig Wallet
未来予測市場のプラットフォームを構築するGnosisの開発チームが開発するMultiSigWalletです。
これはEtherを送信する場合、複数人の承認が必要になります。(下記が送信の流れ)
仮に日本円で億単位の資金がICOで集まったとしても、Etherの移動操作を行う管理者(オーナー)が複数存在することにより、簡単には移動操作ができなくなるので安全性が高まるという訳です。
MultiSigWalletという表現から、あたかもEthereum上にWalletというEtherを管理するストレージの様なものある様に想像しますが、そういったものは存在しません。 MultiSigWalletはEtherを複数のオーナー(EOA)で管理するコントラクトです。
(余談) 仮想通貨の取引所ではどの様な仕組みでEtherを管理しているのか、個人的に興味があるので誰か知っている方がいましたら教えてください...! ><
参考
最後に
- トークンの概要
- トークンを売り出し資金調達を行うICOの概要
- ICOで行うトークンセールの技術的な仕組み
の3つを本記事で紹介しました。
まだまだ技術的に知らないことが多いので、ソースコードレベルで理解していきたいなと思っています。
本記事でトークンセールの大まかな内容を理解し、ICO実施に役立てていただければ幸いです。
宣伝
Gunosyではブロックチェーンを始めとしてスマートスピーカー、VR/ARと言った新規領域での研究・開発を進めており、メンバーを募集しています。
少し話を聞いてみたい!という方も歓迎していますので、下記のリンクからの応募お待ちしております。
また弊社Gunosyでは、blockchain.tokyo を主催するなど、ブロックチェーンや仮想通貨に関する調査を行っています。
次回は来月に開催する予定です。イベントグループへメンバー登録をしていただくとイベント参加者募集の通知が来るので、こちらもぜひ登録してみてください。