Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BC_study_5_Token.pdf

Avatar for titech.crypto titech.crypto
May 27, 2018
260

 BC_study_5_Token.pdf

Avatar for titech.crypto

titech.crypto

May 27, 2018
Tweet

Transcript

  1. トークンの機能 • 仮想通貨 • リソース • 資産 • アクセス権限 •

    株式 • 投票権 • コレクション • 身分等の証明物(ID) • 歴史的な証拠 トークンの多くは、機能が 複雑に絡み合っているが、 それぞれを別個に考えるこ ともできる。必要に応じた 分別実装もブロックチェー ンでは可能。 • 身分証明物 • 歴史的な証拠
  2. 用語: トークンの内部性(intrinsicality) • intrinsic(固有、本質) • 仮想通貨やCryptoKittiesのトークンなど、トークンが持つ価値が本質的にそ のトークン自体にあり、ブロックチェーン上に記録されていることをいう。 • Extrinsic(外部的) •

    逆に、不動産などの所有権、投票権は、ブロックチェーンの外部にある価値 をブロックチェーン上に載せている。これをextrinsicであると言う。 • Extrinsicなトークンの場合、カウンタパーティリスクが付随する。
  3. 用語: Fungibility • Fungible…物や商品のある単位ごとの価値が互いに交換可能なこと。つま り、同じ単位のトークン同士では差異が無い。 • 例: 仮想通貨 • Non-fungibility…あるトークンが固有の価値を持っており、数値的に等価

    な交換ができないもの。 • 例: 絵画の所有権、Cryptokitties, 個人情報 • 厳密には取引履歴の追跡が可能な仮想通貨は完全にFungibleであるとは言 えない。
  4. トークンスタンダード: ERC-20 • ERC-20トークンとは, Ethereum上のFungibleなトークンの標準技術仕様 の一つである。 • MyEtherWalletなどERC-20の保存に対応しているウォレットが多く、殆 どのICOはこのトークン仕様で実装されている。 •

    現在発行されているトークン量, 自分の残高, トークンのtransfer等の一連 の関数の名前と引数名・形が定義されている。 • 「トークンスタンダードを満たす = 要求されている関数を実装する」こ とであるが、追加で独自の関数を実装することもできる。
  5. トークンスタンダード: ERC-20 • totalSupply: トークンの総発行量を返す • balanceOf: 呼び出し元のアドレスが保有している残高を返す • transfer:

    所有するトークンの送付を行う • transferFrom: 誰か誰に、トークンの送付量を指定する。approveと一緒に使用 する。 • approve: 発信元の保有するトークンの引き出し最大値を指定する。 • allowance: owner, spenderを指定して, ownerがspenderに支払える限度額の残 りを返す • Transfer event: transferが成功した時にトリガーされる。 • Approval event: approveが正しく実行された時にトリガーされる。
  6. 2種類の送金例について • Transferの使用例: Alisはtranseferを用いて1 Coffee tokenをBobに送付する • approveとtransfer fromの使用例: 1.

    AlisはAlisCoinを発行して、一旦全て自分 に送付する。 2. AlisはAlisICOコントラクトを作成する。 3. Alisは販売したいトークン最大量を approveにて指定する。指定アドレス: AliceICO。 4. 購入者はETHの送金を行うと、AliceICOが transferFromを実行する。 5. AliceCoinはETH額に応じてAliceCoinを Bobに送付する。
  7. トークンに追加することができる機能 • Owner Control: 特定のユーザーを、ブラックリスト、ホワイトリスト、ミンティング、リ カバリーなどの特別な権限を与える • Burning: 存在しないアドレス又は、自分のアカウント残高を減らすことによって、総発行 量を減らす

    • Minting: トークンを追加で発行する • Crowdfunding: オークションやセール、ダッチオークション形式でトークンのセールを行 う • Caps: 事前にトークンの総発行量を規定する • Recovery “Back Doors”: 特定のアドレスからの呼び出しに応じて過去のトランスファーを 元に戻す。 • Whitelisting: 特定のアドレスのみに対してアドレスの送付を可能にする • Blacklisting: 特定のアドレスへのトークンの送付を制限する