仮想通貨 技術研究所

仮想通貨 技術研究所

実際に手を動かすことを重視した仮想通貨のHow toブログ

ICOしてみた | 自分がやる場合の技術的な話【最終回】

f:id:tetsuyaimagawa:20170905152100p:plain

前回までのあらすじ

BTCのジェネシスを生成し、ETHのgenesis.jsonを書き換え
ソースコードと奮闘していた私は、ついに気づいてしまった。

ICOに技術はいらないことに…


今回のあらすじ

トークンを発行し、ICOをするまでのプロセスを説明する。


ICOの流れ

BTCやETHのアドレスを公開し、ICOのレートを事前に伝え、単純に送金してもらう。
送金して貰ったアドレスにトークン(独自通貨)を戻す。必要なものは

  1. トーク
  2. ICO用ウェブページ
  3. ホワイトペーパー(任意)

BTCとETHを購入する

日本のメジャーな仮想通貨取引所であるCoincheckでBTCを購入する。



BTCのトークン発行

トークンは独自通貨のことである。BTCやETH等のブロックチェーンに独自通貨を乗せる形になる。
BTCの場合は、CounterwalletにBTCとXCPを送金すればすぐできる。日本語記事も結構あるのでご参照。
Counterwallet - Free Web Wallet for Bitcoin and Counterparty


ETHのトークン発行

ETHの方が一つのウォレットで様々なトークンを保存できるので好まれる。
Why do ICO s choose ETH rather than BTC? - Coin Noob

Walletから発行するのが正攻法なのかもしれないが
Create a cryptocurrency contract in Ethereum
Walletはノードを全てダウンロードしなければならないので、METAMASKとToken factoryを使う。

MetaMaskインストール

ETHのDappをブラウザで実行できるChrome plugin。
MetaMask
ETHが必要なので、少額送っておく。

Token factoryでトークン発行

下記ページのCreate Token Contractを選んで、必要項目を入れ、Create Tokenを押す。
Token Factory
MetaMaskが立ち上がるので、Acceptを押す。コントラクトが作成される。

Token factoryで入力した情報が反映されている。


スマートコントラクト改変

例によって、既存のコントラクトから学ぶ。
トークン"RvT"

コマンドラインから

正攻法は↓らしい。
www.ethereum.org
時間がかかりそうなのでMyEtherWalletからやる↓

MyEtherWalletから

Contract -> DeployContractでできる。

SourceからByteCodeへの変換

↓Remixを使う。
Remix - Solidity IDE
右側のメニューにある、Contract details (bytecode, interface etc.)をクリックするとSourceをByteCodeに変換したものが出てくる。

ByteCodeをOpcodeへ変換

↓EtherScanで行う。
Ethereum ByteCode to Opcodes Disassembler/Decoder


ICOページの作成

下記項目を記したページを作成する。

メールアドレスを入力させ、会員登録をするのが一般的のよう。
ETHに載せられるDataやGasの量も明記する。

それっぽいjsカウンターとか持ってきて、作ってみた。
influencer.link

これも既存のICOページを色々見てみるのが一番の近道。


法的な話

改正資金決済法により、登録事業者以外の仮想通貨の売買は規制されている。
business.bengo4.com

規制はされているが、グレーゾーンで、実際やったらどうなるか分からないというのが一般的見解だったが
ALISが入念に調べまくって突っ走った事例があるので、ICOされたい方は必読である。
medium.com

その後の調べによると、どうやら仮想通貨をトークンと交換するだけでは資金決済法に抵触しないという見解が一般的になっているようだ。

まとめ

ICO技術についてまとめた。
技術的に難しいことではないので、どちらかと言うと弁護士や有識者から、どれだけ助けを貰えるかの方が重要な気がする。

ビットコインで本当に海外送金できるか調べてみた | 海外の銀行口座に着金まで

f:id:tetsuyaimagawa:20170904182126j:plain

あらすじ

仮想通貨で銀行の海外送金サービスが不要に…という声を聞くものの
海外の口座に着金するまでを記した記事が出てこないので、実際にやってみた。


やること

日本の仮想通貨取引所でBTCを買う → 海外の取引所に送金する → USDにする → 出金する


仮想通貨取引所でBTCを買う

日本のメジャーな仮想通貨取引所であるCoincheckでBTCを購入する。


銀行口座開設

USDを引き出せる米国銀行口座を開設する。
米国住所不要でも開設できる、ユニオンバンクを選択する。

下記ページから資料請求をするか、申込書をダウンロードして郵送する。
カリフォルニアアカウント・プログラム : お手続方法・申込フロー | 三菱東京UFJ銀行
不備があれば丁寧に指摘して返送してくれる。

開設が完了するとATMカードが届く。
オンラインバンキングは、ユニオンバンクのサイトから申請すると、アカウントが郵送されてくるので、それで入る。
Union Bank - Enjoy Secure Access To Your Accounts -- On Your Time

最初の入金をしないと口座が解約されてしまうのでご注意を。


証券口座開設(おまけ)

余談だが、私は海外口座からUSDで米国証券口座に入金したかったので、証券口座も開設した。
ファーストレードは米国住所がなくても開設できた。
Online Stock Trading, Discount Online Brokerage - Firstrade Securities Inc.


仮想通貨取引口座開設

結論から言うと、ユニオンバンクと連携できるのはCoinbaseくらいだった。

Bitfinex

USでの入出金禁止中。
住所を日本にしていれば認証プロセスに進める。Bank statementをアップロードして申請できたが、承認に1月ほどかかる模様。様子見。

Poloniex

USD入出金不可。
余談だが、こういう取引所ではUSDTが法定通貨の代わりになる。

Bittrex

USD入出金不可。
USDT。

Gemini

住所日本で開設不可。
USを選択するとUS電話番号を求められる。

Coinbase

住所を日本にすると、銀行登録できない。
住所をUSにすると、USの電話番号認証をされ、その後身分証明書のアップロードを求められる


余談だが、海外の取引所の規模は下記リンクから一望できる。
Graphical comparison of all cryptocurrency exchanges with their trading pairs
恐るべきチャイナーマネー。YBC。そしてETH/KRWの取引量。

まとめ

Coinbaseでユニオンバンクが利用可能。ユニオンバンクは米国住所がなくても開設可能。
しかし、米国の身分証明書がないと最後の関門を突破することができない。

ミッションは達成できなかったが、世界の仮想通貨取引量の内訳がわかったので面白かった。


実は…

一連の調査を経て明らかになったのだが、
実は海外送金手数料は、400円程度に抑えられる。

Transferwiseというサービスを使うと驚くほど簡単に送金できた。
transferwise.com

無茶してBTC送金をしなくても良かったのである…