CTO of Starbase
Yu Yamanaka
Aug 27th, 2017, at July Tech Festa
Full-stack Developer / 起業家 / 暗号通貨投資家
Programmer
& DevOps Engineer
2007
2017
CTO
Co-founder & CTO
Full-stack Engineer
& Agile PM
Infrastructure Architect
Twitter: https://twitter.com/yurelx
Blog: http://staycreative.jp/
暗号通貨の Kickstarter
トークンによる資金調達が当たり前になる社会を目指して
お金 or 紙切れ?
Mathematics
Technology
エンジニアが創った
国境なき通貨
ベアメタルがクラウドになっても基本は何も変わらず
お金を送る
従来のシステム
ブロックチェーン
(No SPOF!)
オーケー、分かった。でも僕が作りたいのは決済システムじゃないんだ。
ブロックチェーンで他に何か出来ないの?
Bitcoin に次いで世界最大のブロックチェーン
世界規模の分散アプリケーションプラットフォーム
コードで記述した契約条件を自動執行するプログラム
一度定義した契約条件は変更出来ない =
ブロックチェーンの不可逆性を利用
contract BAToken is StandardToken, SafeMath {
// metadata
string public constant name = "Basic Attention Token";
string public constant symbol = "BAT";
uint256 public constant decimals = 18;
string public version = "1.0";
// crowdsale parameters
bool public isFinalized; // switched to true in operational state
uint256 public fundingStartBlock;
uint256 public fundingEndBlock;
uint256 public constant batFund = 500 * (10**6) * 10**decimals; // 500m BAT reserved for Brave Intl use
// constructor
function BAToken(
address _ethFundDeposit,
address _batFundDeposit,
uint256 _fundingStartBlock,
uint256 _fundingEndBlock)
{
isFinalized = false; //controls pre through crowdsale state
...
CreateBAT(batFundDeposit, batFund); // logs Brave Intl fund
}
/// @dev Accepts ether and creates new BAT tokens.
function createTokens() payable external {
if (isFinalized) throw;
if (block.number < fundingStartBlock) throw;
if (block.number > fundingEndBlock) throw;
if (msg.value == 0) throw;
...
Ethereum Mainnet
Geth (Ethreum Node)
Smart Contract
(あなたの PC 上で実行可能です)
Build & Deploy
他のノードへ同期
Ethereum Mainnet
Geth (Ethreum Node)
Web アプリ等
write data
read data
sync data
by Web3 lib
Smart Contracts 上の関数を実行するための
手数料
ふーん。で、その Ethereum とやらを使うとどんな分散アプリを作れるのさ?
株式 => 仮想通貨(トークン)
規格化 => ERC (Ethereum 版 RFC)
数値化 => 総通貨発行量・保有数
上場株式の取引 => 仮想通貨取引所での売買
ICO
伝統的な IPO = 株式上場
Initial Coin Offering =
私設の暗号通貨取引所への上場
市場総額: 9兆円
(Bitcoin 合わせると 17兆円)
1年で4000%上昇!
(39億円)
ブロックチェーンを活用した全く新しい Web 広告技術
Token
Crypto-Currency
これらのトークンはどのように実装されているか?
Ethereum + Smart Contract
You can see the source code here
(Starbase のはより高機能なので
2千行程度)
1 contract ERC20 {
2 function totalSupply() constant returns (uint totalSupply);
3 function balanceOf(address _owner) constant returns (uint balance);
4 function transfer(address _to, uint _value) returns (bool success);
5 function transferFrom(address _from, address _to, uint _value) returns (bool success);
6 function approve(address _spender, uint _value) returns (bool success);
7 function allowance(address _owner, address _spender) constant returns (uint remaining);
8 event Transfer(address indexed _from, address indexed _to, uint _value);
9 event Approval(address indexed _owner, address indexed _spender, uint _value);
10 }
ERC20 token は Ethereum 上で発行されるトークンのための統一規格であり、外部アプリケーションや暗号通貨取引所などが様々なトークンをより扱いやすくするためのもの
上場前
投資家
Smart Contract
Project Owner
上場後
投資家
Smart Contract
仮想通貨取引所
直接取引
市場取引
お金とトークンの流れ
創業メンバー
1
2
3
コードの詳細については私(山中)の過去の講演で解説しています。
("ビットコインとか勉強会#9" で検索)
YouTube 動画 (https://youtu.be/PaHzNG4w8T8?t=1762)
すべてプログラミング可能!
本を買って読む
公式マニュアルを読む
公開ソースコードを読む
★ 経験者と働く ★
ICO
私設の暗号通貨取引所への上場
ブロックチェーン技術を使った、世界規模の分散アプリケーションプラットフォーム。新規トークン発行と ICO が盛んに行われている。
Ethereum 関連技術
Ether, Smart Contract, ERC20, Solidity, OpenZeppelin, Truffle, Web3, Geth
Ethereum 開発の学習法
トークンの実装方法と仕組み
← 2ページ戻る
数学と技術で "価値" を保証する自律分散型システム
ブロックチェーンの未来はエンジニアが切り開いています。
その未来を創る側に回るか、ただ将来使う側に回るかはあなたの決断次第です。
CTO of Starbase
Yu Yamanaka
Aug 27th, 2017,
at July Tech Festa