ICOを行う際に必要なプロセス

#TL;DR

ICOとは、一般的に「仮想通貨を発行して資金を調達する」次世代の資金調達方法と言われている。
しかし「仮想通貨」とは、厳密には仮想通貨取引所で上場されている「法定通貨または他仮想通貨と交換できるもの」（ビットコイン等）を指すため、ICOは「新規未上場通貨を上場前に売り出して資金調達する」ことが正しい。

ICOでの新規未上場通貨のことを「トークン」という名称で呼ばれる。


本資料では、ICOを行う際に必要なプロセスを、技術的視点を重点として説明する。



#ICOの事前準備目次

1.アナウンス
2.オファー
3.プロモーション
4.トークン販売
5.取引所上場（必要なプロジェクトの場合のみ）



#１．アナウンス

- どのようなプロジェクトを作るか
- そのプロジェクトはどのように成長するのか
- そのプロジェクトと発行するトークンがどのように関連するのか（必要であれば）
- そのトークンにどのような価値を提供するか（必要であれば）
- そのトークンの価値が将来的にどのように上がっていくか（必要であれば）

以上を暗号通貨投資家が集まるサイトや、専門家にプロジェクトの正当性や判断してもらう。
サイトはBitcoin TalkやRedditでやるのがスタンダード、かなりレアケースだが2chでの事例もある（Avacus等）。
専門家でいうとAnyPay株式会社などが有名。

ここでいうプロジェクトは、必ずしもブロックチェーン技術を必須としないのがポイント。
例えばトークンだけブロックチェーンの技術を使って発行し、プロジェクトは全く別物としても何ら問題ない。

ただ、その場合プロジェクトが成功したところでどうトークンの価値が上がるのか説明が難しい。
その為、プロジェクトとトークンを関連付けさせ、トークンの価値があがると思わせる必要がある（そのプロジェクトで提供するサービスをトークンで購入できる等、AMPLE!などがそれ）。
または、そのトークン保有者に対して別途対価を払い出す（株で言う配当、Kickstarterでいうところの作成物）などを行うことが多い。

また、トークン自体将来的にどのようなロードマップを持っているかによって資金調達額も大きく変わる。

具体的には「トークンを取引所に上場させ、他の仮想通貨または法定通貨との交換できるようにする」をロードマップに掲げた場合は、トークンが金融庁の定める「仮想通貨」となるため、爆発的にトークンの価値があがると想定される。

なおこの場合は、日本だと金融庁から仮想通貨交換業の許可をもらうことが必須となることに注意。



#２．オファー

特定の人物や投資家に対して契約の本質的条件を規定した提案を行う（不特定多数に向けた提案ではない）。

具体的には、独自に作成したサイト上でホワイトペーパーを公開し、必要な投資額やプロジェクトの期限を指定し、トークンの単価、トークンの発行上限数、販売トークンの上限数を決める。

なお、ホワイトペーパーが必須というわけではなく、規格の意図が伝わればどんな方法でも問題ない。

トークンの単価は会社1株、１０円、投票権利など自由に決めていいが　日本円＞イーサ＞トークン　のように仮想通貨の交換を仲介することを行う場合、仮想通貨交換業が必要となるため、一般的にはトークン発行を楽にするため、イーサを単価にすることが多い。

また、早期購入者や大量購入社に対してメリットを設けることが一般的。
具体的にはトークン発行数を通常の単価レートよりも多く発行するなど。

よくあるトークン発行プロセスとしては
プレセール＞トークンセール（１次）＞トークンセール（２次）・・・＞取引所での販売　等。



#３．プロモーション

不特定多数に向けたティザーサイト等を用意し、トークン販売開始のカウントダウンを行う、広告出稿する等。

一番大変な作業とも言える。

COMSAなどがICOプラットフォームを用意しているため、もしICOを行う際にCOMSAが稼働していればそれに乗っかるのも手。



#４．トークン販売

トークン発行方法は、発行企業がEthereumのSmartContract上に仮想通貨コントラクトを作成して、発行上限数分マイニングを行う。

資金調達方法は、EthereumのSmartContract上にクラウドファンディング用コントラクト（クラウドセールと呼ばれる）を作成し、直接仮想通貨で資金を募る。

いきなり取引所に上場してトークンを販売する方法もあるが、日本においては法律の問題で現実的ではない。

コントラクトを作るには、geth（Ethereumクライアントアプリ）を開発環境にインストールし、EVM（Ethereum Virtual Machine）を起動し、Solidityという言語でコーディングする。

また、Ethereum公式ウォレットのMistWallet上でもアカウント生成、etherの送金、SmartContractの生成／関数呼び出しなどが出来る、他フレームワークやライブラリは本資料最後に記する。
（MistWalletはgethのAPIを利用しているためgethは必須）

クラウドーセールで、事前に取り決めた「締め切りと目標額」を設定し、締め切りを迎えた時点で目標額に達していたら、発行企業へ集めた仮想通貨を送金し、目標額に満たなければ各投資家に返金する処理にしておく。

この方法でもし目標額を達成し、販売が完了した場合、発行企業は投資家に対して契約に基づいたトークンをコントラクトが自動で分配する。

目標額を設定しないで即時売買するやりかたもある。

なお、トークンを分配するには投資家に受取用のアドレスが必要なので、投資家もある程度の知識が必要なため、投資家への説明を行う代理店みたいなのが存在するICOも多い。



#５．取引所上場

日本においては、金融庁の仮想通貨交換業の届けを行う必要があるなど、簡単には取引所に上場出来ない。

仮想通貨交換業とはどのようなサービスを行う時に登録が必要か、改めておさらいをする。

資金決済法上において、金融庁への登録対象となる「仮想通貨交換業」とは、次に掲げるいずれかを業として行うことをいう。

> 1.仮想通貨の売買または他の仮想通貨との交換
> 2.１に掲げる行為の媒介、取次ぎまたは代理
> 3.１or２に掲げる行為に関して、利用者の金銭または仮想通貨の管理をすること

それぞれ詳しく見てみる。


### 1.「仮想通貨の売買または他の仮想通貨との交換」とは、
事業者側が利用者（ユーザー）の相手方となって、仮想通貨の売買や交換を行う行為などを意味する。
例としては、仮想通貨の販売所や交換所にあたる行為が該当する。

### 2.１に掲げる行為の媒介、取次ぎまたは代理とは、
利用者の注文を仮想通貨交換業者に取り次ぐための行為を意味する。
「媒体」とは利用者Aと利用者Bとの売りと買いの注文をマッチングさせる行為にあたる。
「取次ぎ」「代理」とは利用者の依頼を受けて売りや買いの注文を事業者側で行う行為に当たる。例としては、取引所のAPIを使用して仲介売買を行う行為や、取引所経由ではなくとも独自のマッチング行為を行う場合も該当する。

### 3.１or２に掲げる行為に関して、利用者の金銭または仮想通貨の管理をすることとは、
取引を行う利用者が保有する仮想通貨や、仮想通貨を購入するための代金・または売却金を管理する行為を意味する。
オンラインウォレットは仮想通貨の預りや利用者間の振替となるので、これにはあたらない。
事業者が利用者から金銭または仮想通貨を預かり、直接または代理で売買を行う場合が該当する。


また、「業として」行う場合とあるが、業務として認められるのは事務ガイドラインによれば以下の場合の時になる。

法第2条第7項に規定する「業として行うこと」とは、「対公衆性」のある行為で「反復継続性」をもって行うことをいうものと解されるが、具体的な行為が「対公衆性」や「反復継続性」を有するものであるか否かについては、個別事例ごとに実態に即して実質的に判断するべきである。なお、「対公衆性」や「反復継続性」については、現実に「対公衆性」のある行為が反復継続して行われている場合のみならず、「対公衆性」や「反復継続性」が想定されている場合等も含まれる点に留意する。

「対公衆性」のある行為で「反復継続性」をもって行う仮想通貨の売買・交換等という点が重要であり、個人または法人が自己のために仮想通貨の売買・交換等を行う場合は、たとえそれが頻繁であっても仮想通貨交換業に該当しない。

しかし、クローズドで特定の利用者に対してのみ上記１，２，３の行為を行う場合、対公衆性が無いから「仮想通貨交換業」にあたらないかというと、事務ガイドラインにには個別事例ごとに実態に即して実質的に判断するべきとあるため、判断が難しい。


海外にて外国仮想通貨交換業者の登録者が取引所に上場する場合であっても、「仮想通貨交換業者」としての登録を受けていない場合には、日本国内での仮想通貨交換業にあたる行為が禁止される。


「仮想通貨交換業」に登録するには以下の条件が存在する。

> 1.資本金の額が1,000万円以上であること
> 2.純資産額がマイナスではないこと
> 3.財務書類を公認会計士または監査法人による外部監査を実施すること

「仮想通貨交換業者」の行為規制には以下が存在する。
> 1.名義貸しの禁止（資金決済法63条の7）
> 2.情報の安全管理（同法63条の8）
> 3.委託先に対する指導（同法63条の9）
> 4.利用者の保護等に関する措置（誤認防止等のための説明・情報提供義務）（同法63条の10）
> 5.利用者財産の管理義務（同法63条の11）
> 6.指定仮想通貨交換業務紛争解決機関との契約締結義務等（同法63条の12）

「仮想通貨交換業者」の監査規程には以下が存在する
> 1.帳簿書類の作成保存義務（資金決済法63条の13）
> 2.報告書の提出義務（同法63条の14）
> 3.立入検査等（同法63条の15）
> 4.業務改善命令（同法63条の16）
> 5.登録の取消し等（同法63条の17）
> 6.登録の抹消（同法63条の18）
> 7.監督処分の公告（同法63条の19）
> 8.廃止の届出等（同法63条の20）

「仮想通貨交換業者」は、犯収法上の「特定事業者」として以下義務を負う。
> 1.口座開設時の取引時確認義務（犯収法4条）
> 2.確認記録・取引記録等の作成・保存義務（同法6条、7条）
> 3.疑わしい取引の届出義務（同法8条）
> 4.社内管理体制の整備（従業員の教育、統括管理者の選任、リスク評価書の作成、監査等）（同法11条）



# 開発に関して

Truffle（トリュフ）とは、非常に使われているEthereumの開発用フレームワークで、トークンの作成・アドレス管理・テスト・コンパイル・デプロイなど簡単にしてくれる。

Zeppelin Solidity（ツェッペリン ソリディティ）という、EthereumのコントラクトをSolidityでの実装を補助するためのライブラリも人気。

企業によっては、ICOのクラウドセールで使用しているコントラクトのソースコードを公開している企業が多い（公開することでそのプロジェクトの信頼性を上げる為）。

なので、ICO用のプロジェクトをgithub等からDLして、それをローカル環境（Ethereum ブロックチェーンのエミュレータ上）で動かして流れを理解するのが手っ取り早いと思われる。



以上