Tech と Culture

テクノロジーとカルチャー

Ethereum(3) Bitcoin2.0の本命 Ethereumとは何か

7月24日に博多図工室で開催した、Ethereum meetup Fukuokaでの発表 "Bitocoin2.0の本命 Ethereumとは何か?" の内容を公開します。

 

 
 
 

f:id:kurinkurin12:20140731193229p:plain

1)   Bitcoin2.0の動きが加速されています。その中でも最も注目を集めているEthereumプロジェクトについて、技術詳細にはあまり立ち入らず、"Ethereumが何であるのか"を伝えることをメインに説明します。

 

f:id:kurinkurin12:20140731193532p:plain

2)  まず最初にBitcoinの特徴を簡単に説明します。次にBitcoin2.0と言われる物が何であるのかを説明します。最後に、Bitcoin2.0のフレームワークとして非常に注目を浴びているEthereumについて説明します。

 

f:id:kurinkurin12:20140731194401p:plain

3) 「そもそも何故国はお金を発行できるのに、自分は発行できないのだろう?お金が発行できるといいな。」と子供の頃多くの人が一度は考えます。最近は電子マネーを発行する大企業も存在します。大きな組織、権威に支配されずにP2Pサーバーネットワーク上で取引認証できる電子通貨というものを多数のハッカーが夢見ました。

2008年にSatoshi Nakamotoがその夢を実現する論文を発表しました。Satoshi Nakamotoは偽名で、誰なのか未だに分かっていません。

 

 

f:id:kurinkurin12:20140731225839p:plain

4)Bitcoinの特徴をここに上げています。特定組織の発行者がおらず、認証サーバーはP2Pネットワークに存在しています。認証サーバーソフト(財布ソフトも兼ねる)はオープンソースで公開されており、そのソフトウェアを自分のコンピュータで実行してP2Pネットワークに接続することで自分も認証サーバーの一部となります。

認証作業はマイニングと呼ばれるある種の演算競争で、その競争に勝った人は新規発行のビットコインをもらう事ができます。これがビットコイン発行の唯一の方法です。

色々議論はありますが、現在の所、決済コストは格安です。決済に国家が関与しない電子通貨なので国境を越えて簡単に決済が可能です。決済が格安なことを合わせて、少額でも商売できる世界単一市場を生み出します。新しいビジネスの決済はコンピュータやスマホ上で簡単に決済できます。

 

 

f:id:kurinkurin12:20140731230739p:plain

5) 誰もが参加できるP2Pネットワークで実現と聞くとエンジニアなら色々疑問を抱きます。

 

 

f:id:kurinkurin12:20140731230949p:plain

6)  ソフトウェアデータですので、Aさんのお金をBさんが勝手にデータをねつ造して使用するようななりすましが簡単にできそうな気がします。これをどうやって防いでいるのでしょう?

AさんがBさんに1万円分の支払いをする前に、PC上のデータを複製しておいてCさんに対しても、すでに持っていない1万円を払う事が簡単にできそうな気がします。

またP2Pノードがネットでつながっていたとしても支払いしたことが届くのには時間差があります。そのような時間差を利用したずるができそうな気もします。

BitcoinはBlockchain technologyを用いて解決します。以降で、厳密さを無視して簡単にBlockchain technologyを説明します。

 

 

f:id:kurinkurin12:20140731231645p:plain

7) P2Pネットワークに接続されている全ての認証サーバーは、Bitcoinが誕生して以来の全ての取引(transaction)の記録を持っています。10分間に行われたtransactionに対して認証を行い、認証された10分間のトランザクション記録を後ろに繋いで行きます。P2Pなので時々あるノードとあるノードの持っているデータが異なるというタイミングが存在しますが、一定時間で世界中のノードの持つtransactionの記録が一意に収束するようになっています。

 

 

f:id:kurinkurin12:20140731232354p:plain

8)先に述べたように、電子データの通貨ですのでなりすましが簡単にできそうな気がします。それに対してはデジタル署名という技術者には良く知られたテクノロジーを用いて不可能にしています。

 

f:id:kurinkurin12:20140731233000p:plain

9)本人が複製して二重使用することが容易にできそうな気がします。

P2Pではなく神様サーバーが存在するシステムであれば、AさんがBさんに1万円払った時に、神様サーバーにtransactionが届いたタイミングでAさんの持ち分を1万円減らし、Bさんの持ち分を1万円増やせば二重使用は防げます。P2Pの場合は神様サーバーがいないので非常に難しい問題となります。

Bitcoinでは、これまでのtransaction全ての記録を認証サーバーが保持することによって二重使用を防いでいます。

しかし、P2Pネットワークですので、transaction記録をねつ造できるような気もします。Bitcoinでは約10分かかる重い演算を認証サーバー同士で競い合います。競争に勝った認証サーバーのデータが全ての認証サーバーにブロードキャストされます。重い演算を解かねばならないため、大量のアカウントを作って認証サーバー網を支配することが不可能となり、CPUパワーの51%を取らない限り支配できません。

 

f:id:kurinkurin12:20140801000146p:plain

10) 前ページの10分間の演算競争に勝った認証サーバーは報酬としてBitcoinを貰います。認証演算がBitcoinの採掘となるためマイニングと呼ばれます。これを組み込んだシステム設計こそがBitcoin最大の発明です。Bitcoinを欲しいと思う人が参加して自然と世界中に認証サーバーネットワークが構築されました。

 

 

f:id:kurinkurin12:20140801001416p:plain

11)良いテクノロジーを開発したとしてもイノベーティブな新技術を使用してもらうことは非常に難しいことです。Bitcoinは巧妙なインセンティブ設計をシステムに組み込み、誰もが実現を疑うような技術を世界に広めることに成功しました。

 

f:id:kurinkurin12:20140801001724p:plain

12)ここからBitcoin2.0の説明を始めます。

 

 

f:id:kurinkurin12:20140801001946p:plain

13) Bitcoinは技術イノベーションと、主に価格の乱高下で大きな話題となりました。世界中の人がBitcoinという技術があることを知りました。

 

 

f:id:kurinkurin12:20140801002203p:plain

14)権威者無しのP2Pネットワークによる通貨が実際に稼働してることと、国家を超えて簡単決済することに多くの人が驚きました。

 

 

f:id:kurinkurin12:20140801004305p:plain

15)新しい通貨として話題となりましたが、通貨だけでなく、その裏側にある技術 ー P2Pネットワークで一意な取引(transaction)記録できるシステムに大きなイノベーションがあるのではないかと一部の人達は考えました。

 

 

f:id:kurinkurin12:20140801004541p:plain

16) Bitcoinの裏側にあるテクノロジー Blockchainを通貨以外の物に適用しようという動きが広がっています。このような動きをBitcoin2.0と呼びます。Bitcoin2.0というとBitcoinを置き換える進化させた技術のように思う人も沢山いますが、そうではなく、新しい適用分野に向けた動きの総称です。

 

f:id:kurinkurin12:20140801190041p:plain17) コンピュータ上のトランザクションを利用しようというアイデアはかなり古くから存在しました。 Smart Contractと呼ばれる、ソフトウェア上での契約を結ぶ提案が色々行われています。

 

f:id:kurinkurin12:20140801190749p:plain

18) Smart propertyとは、smart contractの一種で実体のあるデバイスの所有権をBlockchain Technologyを用いてコントロールするコンセプトです。

 

f:id:kurinkurin12:20140801192825p:plain

19) 今回は詳細の説明はしませんが、例として車の所有権をコントロールする図を載せました。ここでidentification keyやownership keyは実際の鍵ではなく、Bitcoinに於ける秘密鍵のようなものだと思ってください。identification keyはメーカーが車そのもの一つづづに作る鍵、ownership keyは現在の所有者が持つ非常に小さな額のBTCです。

 

f:id:kurinkurin12:20140801193204p:plain

20) ここでは車を売り買いするときのトランザクションが示されています。代金(仮想通貨)と所有権がソフトウェア上で同時に入れ替わります。

 

f:id:kurinkurin12:20140801193416p:plain

21)このような契約は、これまでの書類での契約と何が変わるのかと疑問を抱く人もいると思います。重要なのは、代金と所有権の入れ替わりが自動執行されることです。Smart contractの効用がどれぐらいかと考えるかは人によって大きく異なります。ある人達は社会を変えるぐらいのインパクトと感じますし、ある人達は人間社会に適用するのは難しいと感じます。
大きなインパクトを感じている人達の意見は、信用度の低い相手とも契約が行えることに大きな意義があるというものです。例えば、日本にいながら、サンフランシスコの車を購入してロスアンゼルスの人に販売するようなことが可能になると考える人もいます。
これらは"Decentralized"とか"minimize trust"と呼ばれるコンセプトにつながって行きます。システムから人間的な信用度に基づく部分をできるだけ外し、あまり親しくない人とも取引できるようにすることを"minimize trust"と呼んでいます。"Decentralized"はさらにそれを進めて、システムの中でどこかに集中する権利をなくし、システムを使用する個々の人が関連する人とのみ直接インタラクションするようなシステムを理想とする考え方です。

 

 

f:id:kurinkurin12:20140801194244p:plain

22)Bitcoin2.0のプロジェクトは多数の物が存在しています。上記のものの中には既にサービスインしている物もあります。

 

 

f:id:kurinkurin12:20140801194953p:plain

23) Bitcoin2.0のプロジェクトの中で最も古くからサービスインしているものがNamecoinです。名前登録データベースをBlockchain Technologyを用いて実現するものですが、特にDomain Name登録で使用されています。Domain Name登録は、ある名称は最初にとった人の物となります。また名称自体の売買が可能です。これはBlockchain technologyそのものです。 

 

f:id:kurinkurin12:20140802175020p:plain

24) http://***.bitというドメインネームの登録ができます。***.bitを見るためにはブラウザにadd-onをインストールする必要があります。ここで重要なことは ***.bitというドメイン名はICANNの支配の及ばない所に存在していることです。

 

 

f:id:kurinkurin12:20140802175425p:plain

25) 権威の外に存在していることは非常に重要なことです。例えば、仮にどこかで独裁政権がICANNに対して力を持ったとすると、独裁打倒の運動のHPがあったとしてもその登録を勝手に他に譲る事が可能になります。***.bitは誰も具体的な権威者が存在せず、皆がmining serverを自主的に提供することによって機能しています。このシステムに意義を感じ参加する人がいる限りシステムをストップすることができません。

 

 

f:id:kurinkurin12:20140802180004p:plain

26) Namecoinの最初の立ち上げは、Bitcoinのような専用マイニングサーバーアプリを開発して、自主的な参加者達がP2P認証サーバーネットワークを立ち上げました。

 

 

 

f:id:kurinkurin12:20140802182028j:plain

 27)ColoredCoinsも既にサービスが始まっています。デジタルトークンを実現するものです。ColoredCoin一つが何を表すのかを発行者が決めます。非常に小さな額のBitcoinを一つのColoredCoinにします。先ほど説明したSmartPropertyを実現したものとも言えます。

 

 

f:id:kurinkurin12:20140802182329j:plain

28) ColoredCoinsはBitcoin上にメタプロトコルを実装して実現しました。既に立ち上がっているBitcoinP2P認証サーバーネットワークを利用しています。

 

 

f:id:kurinkurin12:20140802182857j:plain

29) MaidSafe, Storjは分散型のクラウドストレージです。

 

 

f:id:kurinkurin12:20140802183159j:plain

30) 様々なBitcoin2.0プロジェクトがサービスインしていたり、開発中だったりしますが、現状Bitcoin2.0の立ち上げ方法には3つの方法があります。

①Namecoinが行ったように独自のP2P blockchain サーバーネットワークを立ち上げる。これはBlockchainをアプリケーションに適合したものにモディファイしたりできますので、自由に実現したいことができますが、賛同してP2Pサーバーを立ち上げる人を巻き込まねばならない(少人数であれば51%アタックに弱くなる)、P2Pサーバーネットワークソフトウェアの検証が大変と、大きな労力がかかります。

②ColoredCoinsが行ったようにBitcoin上にメタプロトコルを作る方法があります。これは様々なことが実現できますが、P2P認証サーバーネットワークは既に立ち上がっているBitcoinの物を使用しますので、立ち上げの労力は軽くなります。しかし、SPV(Simplified Payment Verification)が使用できない等、①と比較するとできることの自由度が減ります。

Bitcoinスクリプトを利用する方法もあります。Bitcoinスクリプトシステムであり、通常のBitcoinの支払いも、実際はスクリプト実行です。この部分を書き換えることによって実現できることもあります。3つの方法の中でもっとも簡単ですが、スクリプトでできることには制限があります。

 

 

f:id:kurinkurin12:20140802184539j:plain

31) Bitcoinスクリプトには以下のような欠点が存在します。

①Turing完全性の欠如。ループ等が存在しません。

②Value-Blindness。 支払い量を細かくコントロールできません。ある条件の元に支払い量を変えるというようなことをしたい場合、値の異なるトランザクションを全て用意しておいてどれかを選ぶというようなことをする必要があります。

③Lack of State。Bitcoinスクリプトは支払いをするかしないかを選択するのみであり、状態の概念がありません。例えば、1日後にある条件が成立して、さらに2日後にある条件が成立した時に支払いが行われるというようなことができません。

④Blockchain Blindness。ブロックチェインの値を見る事ができません。乱数の素として使用できるものがありません。

 

 

f:id:kurinkurin12:20140802185016j:plain

32)以上見て来たように、新たにP2P blockchainサーバー網を立ち上げるのであれば何でもできますが、非常に難しいです。逆にBitcoinスクリプトBitcoin上のメタプロトコルを利用する方法は簡単ですが、できることに制限があります。

このトレードオフを解決するのがEthereumです。

 

 

f:id:kurinkurin12:20140802185227j:plain

33) Bitcoin2.0のフレームワークとなるEthereumについて説明します。

 

 

f:id:kurinkurin12:20140802185355j:plain

 34) Ethereumとは何か? いきなり結論を書くと、Smart contractとDecentralized Applicationのプラットフォームとなるものです。インターネットの構造を変え、社会の構造を変えることを目標としています。

この言葉を聞いても???となると思いますが、非常に大きなパラダイムシフトにチャレンジするコンセプトなのでこれから少しづつ説明していきます。

 

f:id:kurinkurin12:20140802190021j:plain

35) Ethereumをテクノロジー的に説明するとTuring完全なプログラミング言語を実行できる仮想マシンをBlockchainに組み込んだものとなります。

 

 

f:id:kurinkurin12:20140802190250j:plain

36) Ethereumには2種類のアカウントが存在します。外部アカウントはBitcoinのアカウントのようなもので、秘密鍵•公開鍵によってコントロールされます。外部アカウントはEtherと呼ばれる暗号通貨のバランスシートや状態を保持するストレージを持っています。

もう一つ、Contractアカウントと呼ばれるアカウントがあります。こちらは外部アカウントには存在していない、ユーザが記述したcontract codeが含まれます。他のアカウントからメッセージが送られてくると起動します。Contractアカウントにはkey/valueストアが存在しており、長期に渡って状態を保持できます。

 

 

f:id:kurinkurin12:20140802191141j:plain

37) これはColoredCoinsのようなデジタルトークンを実現するcontract codeの一例です。

from = msg.senderは、このcontract codeをmessageを送って起動した送付元アカウントの公開鍵がfrom変数に入るということです。

to = msg.data[0]は、messageの最初の引数の値をto変数に代入します。messageの送付者はこの引数には送り先の公開鍵を入れます。

value = msg.data[1]は、messageの二番目の引数の値をvalue変数に代入します。messageの送付者はこの引数にはいくつのデジタルトークンを送るかを入れます。

contract.storageはこのcontractアカウントが持っているkey/valueストアです。最後の3行で、送り主が送付しようとしている個数以上のデジタルトークンをきちんともっている場合に、送り主のデジタルトークンを減らし、送り先のデジタルトークンを増やします。

このような単純なコードでColoredCoins相当のコア部分が実現できます。

 

 

f:id:kurinkurin12:20140802191946j:plain

38) contract codeを書く事で実現できる例としては以下のような物があります。

①金融デリバティブ。仮想通貨は価格のボラタリティが高く、ビジネスに使用することが難しい状態です。例えばUS$との変動をヘッジするようなコントラクトを書く事ができます。

②名前登録システム。Namecoinのような物を実現します。Yahooオークションのように、オンライン上のIDに対して評判システムを連携させるような物が有効だと考えられます。

③誰もが自分のディスクを貸し出すDropbox的なサービス。

④多段のMultisig。Bitcoinと異なり、EthereumはStorageを持っていますので途中の状態を保持できます。3人がOKを出したら取引開始というようなcontractで、3人が時間差を持ってOKを出すようなことに対応するものが簡単に記述できます。

複数署名エスクローエスクロー取引も複雑なスキームが記述できます。

⑥参加型クラウドコンピューティングSETI@Homeのような皆が参加する計算問題をcontractを使用して実現できます。

予測市場。 予測に対してお金を集めるようなことが簡単に実現できます。

Ethereumは状態を持っていて、Turing完全な言語でcontractを記述できるため複雑な契約を実現できます。アプリケーション毎にP2Pサーバー網を立ち上げることなく、EthereumのP2Pサーバー網を使用して様々なcontractを実現できるため、smart contractのプラットフォームとなります。

 

 

f:id:kurinkurin12:20140802193057j:plain

 39) Ethereumはsmart contractとdecentralized applicationのプラットフォームだと最初に説明しました。ここからはDecentralized applicationプラットフォームについて説明していきます。

Decentralized Applicationとは、誰でも参加したい人が参加してシステムの一部になるようなアプリケーションのことです。BitcoinBitTorrentをイメージすると分かりやすいです。どちらもアプリケーションのユーザでありながらシステムの一部となっています。会社や国のような権威が存在しません。このようなアプリケーションが大量に出てくるプラットフォームとなることを目的としています。

 

 

f:id:kurinkurin12:20140802193814j:plain

40)ここでは重要な概念Decentralized Autonomous Organization(DAO)について説明します。contractによって人々がつながっている仮想的なエンティティで、67%以上のメンバー、またはシェアホルダーがファンドを使ったり、contractコードを書き換える権利をもつものです。参加者が株主のように異なる権利割合を持っている営利組織の場合はDecentralized Autonomous Company(DAC)と呼ばれたりもします。

例えばネット上のcontractで結ばれたDACで、有料のDecentralized Applicationを開発し、利益をcontractに従って分配するようなものをイメージすることができます。

 

 

f:id:kurinkurin12:20140802194338j:plain

41) 仮想通貨を用いたプロジェクトにおいて、従来のIPOと異なるタイプのIPOと呼ばれる手法が取られ始めています。

例えば、cryptcurrency(Bitcoin等)で予算を集めてサービスの開発。サービス開始前に、サービスで使用するcryptcurrencyを発行。サービスの人気ができると発行したcryptcurrencyの価格が上がる等、様々な手法が行われています。

Cryptcurrencyを利用して世界中から予測市場的な資金集め->DAOで開発->CryptEconomic的なIPOという手法は、未だ様々な不明点が残っていますが、現在のVCから資金を集め、NASDAQのような市場に上場する方法と比較して実行のハードルがかなり低くなるため、イノベーションが加速することが予測されます。

 

 

f:id:kurinkurin12:20140802194854j:plain

42)  最近、Ethereum.orgのCTO Dr.Gavin woodから "Web3.0"のコンセプトが発表されました。こちらはまだ詳細は発表されていません。

Swarmと呼ばれるBitTorrentのようなモジュールと、Whisperと呼ばれるP2P messagingモジュールとEthereumを使用してインターネットの構造を変えることを目的としています。

 BitTorrentは従来のFTPを代替するもので、人気のあるファイルであればあるほどダウンロードが早くなるという特徴を持っています。例えばUbuntuの新バージョンが公開される日は非常に沢山のダウンロードが発生します。AさんがUbuntuBitTorrentを使用してダウンロードした場合、AさんのPC上ではBitTorrentが起動しており、他の人へダウンロードしたUbuntuバイナリーを配布する機能が動作しています。BさんがUbuntuバイナリーをダウンロードしようとした時に、Aさんのようにすでにバイナリーを持っていてダウンロードに協力してくれる人達を探し、分散的にダウンロードを実行することにより、人気のあるファイルであればあるほど、高速にダウンロードすることができます。

Swarmはこのような構造を持ったモジュールで、Webのstaticなデータの配布に使用します。

WhisperはP2P messaging機能で、Webの動的なやり取りを担います。

そして、EthereumがクリティカルなTransactionを担います。

P2Pのプロダクトは沢山出て来ており、最近は中央集権的なサーバーが全く必要のないP2Pアプリケーションもいくつか出て来ていました。Blockchain Technologyは、クリティカルなトランザクションを実行するという、中央集権サーバーの無いP2Pインターネットを実現するための最後のパーツを埋めました。今こそインターネットの構造を再構築していくタイミングです。

 

 

f:id:kurinkurin12:20140802195851j:plain

43)  browserの開発が予定されています。この図のアドレスバーには http://**** の代わりに  eth://****が入力されています。Etehreum organizationの図が示されていますが、それぞれの個人のプロフィール部分は各人のPCからデータが送られています。

現在はインターネットを使用するためには大きな組織に依存せざるを得ない構造になっています。大量のアクセスがあるHPはgoogleamazonのような高性能なサーバーでホスティングする必要があります。また、例えばGoogleはAさんが"30代、男性、映画好き"であることを把握しています。このようにインターネットは大きな組織が支配できる場所になっており、そしてSnowdenの事件のように(真偽•詳細は不明ですが)、その上にアメリカ政府が支配できるような構造となっています。

そもそもインターネットはTCP/IPを用いてボトムアップな構造で作られました。そして、インターネット以前は世界中から優秀な人が集められて、新技術の規格が作られて世界中に技術が広まって行く時代でしたが、インターネット発達後はネット上で気の合う仲間がプロダクトを開発し、人気があれば勝手に広まって行くようなボトムアップな世界に変化しました。この事がイノベーションの加速を引き起こしました。Ethereumは、現状のインターネットの構造をDecentralizeすることによって、さらに次の世界への変化を起こします。

 

 

f:id:kurinkurin12:20140802201115j:plain

44) Dr.Gavin Woodは、”もし何かを信じる必要があるのならば、組織ではなく、個人を信じよう!”とWeb3.0のプレゼンテーション中に述べました。

このようにEthereumは不必要に固定化された権威を無くし、より個人の活動に焦点をあてた世界へ進めることを哲学としています。

 

 

f:id:kurinkurin12:20140802201701j:plain

45) EPOCH TIMESには(http://www.theepochtimes.com/n3/665367-bitcoin-2-0/) では、組織の肩書きで語る時代から、個人と個人が話す古い村の時代に連れ戻すというEthereumの記事が載っています。

 

 

f:id:kurinkurin12:20140802201944j:plain

46) ここから先は私の個人的な感想です。

Ethereumを使ったアプリケーションは沢山思いつきます。例えば人々が勝手に増殖させていくP2P meshインターネット。負担額やメリット、利益等のバランスの取れたインセンティブ設計が重要だと思います。このようにEthereumは市民から発生するイノベーションのハードルを下げるという性質を持っています。Make Cultureや Share Cultureと親和性が高いと感じます。

 

 

f:id:kurinkurin12:20140802202319j:plain

47) 良いことばかりを説明してきましたが、個人的にはまだ気になる点がいくつかあります。最初に、まだ正式リリース前でPoC5(Proof of Concept5)というバージョンです。正式リリースにたどり着くのにどれぐらいの時間がかかるのか気になります(公式には2014/2015の冬にリリースと発表されています)。

また、Ethereumがインターネットの基盤となった場合、世界中からの大量のアクセスに対してスケーラビリティがあるのかも気になります。BitcoinでもBlockchainのサイズの増大は問題となりつつあります。Ethereumにおいて、この問題がどれぐらいであるのか知りたいというのが私が現在Ethereumを勉強している理由の一つです。

最後に実装のデバッグの大変さが存在します。Bitcoinでも安定稼働するのに時間がかかりました。Turing完全な言語を組み込んだBlockchainの安定稼働までどれぐらいの時間がかかるのかも気になります。

 

 

f:id:kurinkurin12:20140802202843j:plain

48) 気になる点をいくつか上げましたが、私にはEthereumは非常に魅力的なものです。

かつてストールマンgccglibcを開発し、フリーソフト運動を開始したことによって大企業にしか作れなかった大規模ソフトが組織の力無しでも開発可能になりました。

その後、リーナスがLinuxとgitを開発し、ネットワーク上でバザール開発するというさらに進んだボトムアップ手法を確立しました。

私にはEthereumが目指すDecentralizedな世界は、さらに個人の活動に焦点をあてた魅力的なものに写ります。

 

 

f:id:kurinkurin12:20140802203235j:plain

49)     Decentralize!!!

Ethereum (2)

Ethereum meetup Fukuoka 開催しましたー。

一回目なので、「Bitcoin2.0の本命 Ethereumとは何か?」という題名で、Ethereumの概要を説明するプレゼンをしました。途中でディスカッションOKという形を取ったので、結構色んな議論が起きて面白かったし、私もためになりました。結局2時間ぐらい喋っていたような気が。

 

発表資料はこちら。

 
今日、TechcrunchにMaidSafeの記事が出てました。

インターネットを救うためにはサーバが死ぬ必要がある - TechCrunch

Decentralized Technologyの大波がいよいよやってくるという雰囲気で、おらワクワクしてきたぞって感じ。
 
Blockchain Technologyは、DecentralizedなInternetを構成するために欠けていた、critical な transactionをどう扱うべきかという部分への回答となった。最後のパーツが埋められたので、あとはいかにDecentralized Internetで性能を出すかと使いやすくするかの方に勝負の舞台が移ってくる。

Ethereum (1)

Bitcoinが世の中を賑わしているんだけど、その裏でBitcoin2.0という活動が盛んになってきてる。Bitcoin2.0とは、Bitcoinの改良で置き換えを狙ったものではなく、Bitcoinで使用されているBlockchain technologyを通貨以外のものに適用しようという動きだ。

自分が聞いただけでも多数のプロジェクトがある。

Namecoin, ColoredCoins, Maidsafe, Swarm, Stroj,.....

Namecoinは名前登録Databaseで、特にDNS登録で使用されている。browserにadd-onを入れると、http://******.bit というドメインにアクセスできるようで、このドメイン登録はNamecoinで行われていて、ICANNの支配外にあるそうだ。

ColoredCoinsはスマートプロパティと呼ばれるもので、コイン一つが現実の物(例:株券、車の所有権)を表すもの。

MaidSafe, Strojはblockchainを使用したクラウドストレージ。

Swarmは仮想通貨を用いたクラウドファンディング

こんな感じで続々とプロジェクトが表に出て来てる。

Bitcoin2.0のプロジェクトの中にEthereumというものがあって、もの凄く注目を浴びている。これは、用途を特定せずにEthereum上で様々な目的のBitcoin2.0のアプリケーションを開発できるプラットフォームだ。

 

そのEthereumが今日の朝からクラウドセールを始めた。

https://www.ethereum.org/

最近、blockchain technologyを使ったプロジェクトは、自分のアプリケーションを実行するために必要となるオリジナルの仮想通貨を正式サービスインの前に発行し、サービスが始まって評判が良ければその仮想通貨が大きく値上がりするというパターンで資金を獲得するものが増えてる。Ethereumでもプログラムのコードを実行するのにEtherという仮想通貨を使用する。今回のクラウドセールはそのEtherをサービスインの前にBitcoinで販売するというものだ。

まだ24時間経っていない時点で2億円相当の販売額!!!

Ethereumについては、絶賛する人、「リリースできない」「Scalabilityがない」と批判する人様々だけど、正式サービス前にそこまで話題になること自体が凄さを物語ってる。

現在、自分はtranslation teamに所属してwikiの日本語版を整備中。

https://github.com/ethereum/wiki/wiki/%5BJapanese%5D-Ethereum-TOC

(間違った訳や変な訳があったら指摘してもらうと喜びます)

 

明日、Ethereum meetup Fukuokaを開催します。

http://www.meetup.com/Ethereum-Fukuoka-Meetup/events/195414052/

少しづつ、このBLOGでもEthereumについて説明していこう。

 

P.S.

東京でEthereumに取り組んでいる人達とオンラインの勉強会も開催しました。こちらはBlockchainを理解している人向けの資料と動画。

 


Ethereum勉強会 - YouTube

 

 

 

Elon Musk

自分は有名経営者の中で、Elon Muskが一番好きなんだけど、今日、またすごい痺れる発表をしてた。

-----------------------------------------------------------------------------------

http://www.teslamotors.com/blog/all-our-patent-are-belong-you

"我々のパテントはあなたのもの”

オープンソーススピリットに従い、電気自動車テクノロジーの進歩に向けて、Teslaは我々の技術を使いたい人とパテントの主張で闘ったりしないことにした。
最初にZip2という会社を作った時、パテントは良いものに思えたのでパテント取得に頑張ったが、パテントはしばしば進歩を抑圧して、大企業のポジションを強くし、真の発明者よりも法律家をリッチにしてきた。
Teslaでは、大企業が我々の発明を使って、その大量生産力やセールス力でTeslaを圧倒するのではないかという恐れからパテントを取らないといけないと感じてきた。

しかし、それはもう止める。間違っている。

事実は正反対だ。電気自動車プログラム(二酸化炭素排出しない車のプログラム)は大企業には殆ど存在しないし、大企業の全体セールスの1%にも満たない。

もっとも頑張っている大企業でも電気自動車はほんの少ししか売ってないし、全く売ってない所もある。

年間に生産される車は1億台に達し、地球上には20億台存在してる。Teslaが二酸化炭素危機に対応できるほどのスピードで電気自動車を作って行くことは不可能だ。別のいい方をすればマーケットは巨大だということだ。我々の真の競争相手は、ちょろちょろと作られているTesla以外の電気自動車ではなく、世界中の工場から毎日莫大な数生産されているガソリン車だ。

Teslaや他の電気自動車メーカーや世界は、共通のテクノロジープラットフォームから大きな利益を得られると確信している。

テクノロジーのリーダーシップはパテントによって定義されるのではなく、世界中の才能のあるエンジニア達を惹き付け、モチベーションを与える会社の能力である。
我々はオープンソース哲学を我々のパテントに適用する事が、Teslaのポジションを危うくするのではなく、さらに強くすることを確信している。

-------------------------------------------------------------------------------------

Elon Muskは、SpaceXで宇宙に挑戦してたり、Teslaで電気自動車に挑戦したり、HyperLoopでロスとサンフランシスコを高速につなごうとしてたり、本当に人類の挑戦みたいなことをビジネスベースでやってる人なんだけど、真にイノベーティブなチャレンジにおいては、ビジネスにおいてもオープンソース的な発想で行動した方が良い結果が出ると判断したって感じ。

結局、イノベーティブなチャレンジをしても周辺の会社がついてこないと適用されないことが多い訳で、それならば会社の枠にとらわれずに全体で新産業を伸ばした方が良い、というかそうするしかないってことなんだと思う。

以下でJOIも言ってるけど、BI(before internet)とAI(after internet)で技術が発生して広まる方向がトップダウン型からボトムアップ型に変わって来てる。ボトムアップの時代にはオープンなカルチャーの方が優秀なエンジニアを惹き付けやすい。

http://techwave.jp/archives/51724871.html

ソフトウェア会社は完全にボトムアップ型になってカルチャーが完全に変わってしまった。githubみたいにイケテル会社は従来の会社内の官僚組織なんかクソクラエって感じで、出勤も必要なくて世界のどこにいてもいいよみたいなカルチャーで優秀なエンジニアを集めてる。twitterもちょっと前に、特許は守りにしか使いません宣言してる。

いよいよ、ハードウェア産業の本丸みたいな自動車産業にもそのカルチャーの波がやって来たんだなーと感じた日でした。

 

 

 

 

ビットコイン狂想曲

MtGoxが逝ってしまって、大騒ぎだ。bitcoin(厳密にはcrypt currencyの仕組み)には大いなる可能性があると思っているので本質的にダメだみたいな話になるのは残念。ちなみに自分はビットコインは持ってない。

 

bitcoinの素晴らしさは以下の所に書かれてるけど、その内、大部分は納得、一部は?って感じ。

http://www.makfive.com/why-bitcoin-matters/

 

bitcoinの最も重要な価値って何だろうと考えた時、「国の枠を超えて権威者無しで決済できる」ってことだ。国を超えて売買したり送金すると何故か結構な手数料を取られる。国内での売買にはそんなもの無いのに。誰もが一度は妄想する平和で平等な世界国家のホンの一部(けど結構重要な一部)が現状を打ち破って実現しそうな気がする。魅力的だよね。

これはスゴイってことで未来を感じた人が買い始めた。輝かしい未来と共に価格が上がる資産として溜め込む。ココらへんから違和感感じ始めた。

(以下に書くことは合ってるのか合ってないのか分からない。なので誰か明確に分かる人がいたら教えて欲しい。)

 

自分が考えるのは、その未来が来たとして、bitcoinは果たしていくらの価値を持つのかって所。bitcoinを買いたがる人と売りたがる人が本質的に均衡する価格はどこ?

国境を超えて簡単に決済できるので皆がほしがってbitcoinの値段があがる。既存のシステムも儲けがゼロになるぐらいなら値下げする。少しぐらい高くても安全な既存システム決済と安い手数料のビットコイン決済で均衡する?その時のbitcoinのレートは???

 

こういう時にビットコイン経済圏って話が出てきて、世界経済のかなりの割合がビットコインでうんぬんかんぬんって出てきた所で違和感を感じてしまう。

街中でチロルチョコ買った時も世界中に取引をブロードキャストするの?そんな取引が世界中で1秒間に何回行われてる?そして決済に10分待つのか?その間GPUがぶん回されて電力食うのか?それが輝かしい未来?

 

もし暴利を貪る権力者がいなかったら、決済システムは技術的には中央集権で即時決済がベストだと思う。現状はそうなってないので、bitcoinが輝いている。bitcoinが広まって権力者が暴利を貪ることができなくなった時、本当にbitcoinシステムが理想なのか?少なくとも日常の国内の小さな取引は違うんじゃないかって感じてしまう。誰かが即時決済の手数料が格安の中央集権仮想通貨創ればそれでいいんじゃないか。

(手数料格安というのが実現できるかが自分には明確じゃないけど)

 

そんなこと考えた上でbitcoinのレートがどうなっていくか考える。しばらくは国を超えた決済のため欲しがる人が増えて値段が上がっていくだろう。bitcoinが広まれば、経済活動も変わって国家を超えた商取引も数十倍ぐらいには増加するかも。そこまで価値があがった後は均衡する。そうすると、あるタイミングで行われてる国家を超えた商取引の額をbitcoinがまかなえたら、それで充分なんじゃないか。決済が終わった後に必要な人にbitcoinを渡していけば良い。これがbitcoinの本質的なレートをきめるんじゃないかってのが貨幣論とか経済学とかまるで知らないイチエンジニアが考えたこと。(あるタイミングでの国家を超えた商取引総額=流通する総bitcoinの価値)。

ただねぇ、国家超えた決済するのにbitcoinが必要で価格が高過ぎる時に新たなcrypt currencyを作ることも出来るんだよね。そうすると先ほどの理屈で価値が決まるならやろうと思えばレートはゼロに近づけることできる(この点に関してはもっと考察が必要かもしれない)。

 

なので自分にはbitcoinが長期的に保有する資産にはどうしても見えないんだよなー。

資産というよりは国家を超える決算手段って感じ(貨幣と貨幣の為替レートは、それぞれの貨幣しか使えない地域が存在してるけど、bitcoinだけしか使えない地域は無いしね。)。高値で売り抜けた奴が勝ちのチキンレースにも見える。

bitcoin使って国家を超える決算手段を格安で提供します。価格はそのタイミングの為替レートでオンラインで相手の通貨に変わって届けられます」ってサービスする会社が出てきたらいいのにとか考えてしまう。

 

こんなこと考えてるけど、合ってるのか間違ってるのか自分にも分からない。まあ分かる人が世界にいるのかって感じなんだけど。

 

 

 

 

 

 

P.S.これとは別に長期の資産とするには以下の二つの欠点があると思う。

1.  ルールを変更できない。

もっと良いcrypt currencyができるとなった時に新しいものを立ち上げないといけない。その時は売りが殺到して瞬時に価値が無くなるんじゃないか。

2.     実装のバグ

これだけのシステムの実装にバグがないと考えるほうが異常。やっと多数の目で見られるようになったのでこれから色々バグが出てくるし、アタックもされる。

 

P.S.2

第3世界で標準通貨になる可能性が抜けてるかもしれない。

 
10

Maker Faire Tokyo 2013: みつめるぬいぐるみ

11月3日、4日

Maker Faire Tokyo 2013にみつめるぬいぐるみを展示します。しかじろうと共同開発です。

http://makezine.jp/event/mft2013/

未来館1階の「栗元憲一&しかじろう」のブースです。

 


見つめるぬいぐるみ

 

以前のエントリにYamaguchi mini Maker Faireに展示した時のことを書きました。

http://kurinkurin12.hatenablog.com/entry/2013/08/12/164456

 

今回のMaker Faire Tokyoの展示に当たって、ソースコードを公開します。

arduino側 栗元:    https://github.com/kurihei/kaeru

android側 しかじろう:    https://github.com/shikajiro/Afro_Android

githubに公開してます。

中の機構も後から説明付け足します。

 

ライセンスはGPLのつもり。と言ってもこのソースで著作権とかどうでも良いのですが、「他の人がこれ参考にしてオリジナリティある物を創ってくれて、ソース公開してくれないかな。。。」って期待があるので、GPL扱いにしますw

 

あと、参考にしてくれたらこのページにリンク張ってくれると喜びますw

 

 

 

 

 

 

 

 

 

リーンスタートアップ手法とハードウェア

enchantMoon祭りと日本のハードウェアとプロダクト+アクティビティ の続き

今回は合ってるかどうか自分でも分からない。

ちなみにリーンスタートアップはここでは、小さい会社に絞ってない。以下の本に書いてある手法のこと。

          リーン・スタートアップ  ―ムダのない起業プロセスでイノベーションを生みだす

 

リーン・スタートアップの手法というのは以下のようなもの。

何か新しいプロダクトを開発する時に不完全な物でも良いのでとにかく動かしてユーザーに使ってもらう。その時に得られるユーザーからのフィードバックを元にプロダクトを変更して再びユーザーに使用してもらうということを繰り返して、ユーザーが喜ぶものを作り上げていこうという手法。

新しい物を作った時、作っている本人は「これはスゴイ」とか思って作っているんだけど、ユーザーのニーズとは違ったりする。逆に作っている方はおまけで付けた機能がユーザーに喜ばれたり、作った人間が考えてもいない使用法で人気が出たりする。必要の無い機能を創ることに時間をかけるのは無駄なので、早い段階でユーザーに使用してもらおうというのがキーの考え方。

で、このやり方はソフトウェアでは正しいやり方だと自分は思っているし、最近はかなりの人達が支持すると思う。

 

プロダクトを創る時に重要な軸が二つあると自分は思っていて、一つはユーザー体験の魅力。新規性が高いと皆驚いて喜ぶんじゃないか。もう一つはユーザーから見えない裏側の実装力。

ただ二つが完全に独立しているんじゃなくて、実装力が抜きん出て高ければ、実装力が高い人にしか思いつかない物を考えつけるし、物凄くユーザー体験が素晴らしい新しい物を思いつけば(それが実現可能なものならば)、実装力の高い人に手伝ってもらえるんじゃないかと思う。

Facebookの魅力は”世界中の人が情報発信して透明性の高い社会を実現します”っていうビジョンだと思うし、最初はそんなに難しい実装力は問われなかったと思うけども、今では物凄い量のデータをリアルタイムで扱う世界最高の実装力も持ってる。

 

で、その表側の”ユーザー体験の魅力”っていうのがフィードバック無しでは分からないので早め早めにリーン・スタートアップ手法を使って判断していくと。

 

この手法が一部のハードウェアに適用され始めてると自分は思っていて、例えば google glassなんかは、"こんな感じのスゴイもの作ったから何かスゴイ使い方考えてみてよ"ってのがgoogleからのメッセージ。

enchantMoonでもサッサと出荷したおかげで、こんな感じにフィードバックを貰えてる。

 

ただ勿論、あやふやなまま出荷して良いのは表向きの仕様のところであって、きちんと動作するという所はあやふやじゃない方が良いに決っている。とは言っても、ハードウェアの完成度を高めるには、試験->設計修正->製造->試験のループがどうしても必要で、それは時間とお金が物凄くかかる。

なので、プロジェクトのリーン・スタートアップのサイクルを早めることと、問題が発生した時にどのような影響があるかとか歩留まりとかとの両方を把握してコントロールするのがハードウェアのエンジニアには大事なんじゃないかと自分は感じてる。まあ昔からココらへんのことは皆考えていたことなんだと思うけど、特にリーン・スタートアップ手法のサイクルを早めることが重要になってきてるんじゃないかな。

(これはコンシューマーエレみたいなクリティカルじゃない かつ 表向きのユーザー体験の新しい魅力をソフトウェアが作り出している という物に限った話)