仮想通貨のなんやかや

仮想通貨のなんやかやを書いていきます

【翻訳】 how ethereum could shared the web

翻訳してみる

blog.ethereum.org

どのようにしてEthereumはWebを壊すのか?

Webが生まれてから25年になるが、すべての問題は、レガシーな1970年代のシステム設計から由来しています。 一度立ち止まって、基本的に壊れているこれらのコンポーネントを棚卸し、本質的な開発への投資をすることで利益を得るべきです。 セキュリティやプライバシーや検閲抵抗への懸念が交錯しつつ、[インターネットの破壊への動きがすでに進んでいる(http://www.wired.co.uk/article/tim-berners-lee-reclaim-the-web)ということが痛いほど明らかである。 ネットに生きるものとしては、サービスをコントロールしている側ではなく、クリエイターにとって利益になるような新しい技術を探求、開発、実装する責務があります。 暗号化によって、我々はメッセージを安全に隠すことを可能となり、また、暗号通貨を利用することで抽象的な方法で、データをより安全に移動する機会が増えてきています。 仮にPGPが一番最初の有名な暗号適用されたやり方だとすると、Bitcoinは二番目の方法で、私としては分散化されたWebは三番目の洗練された実装となると予想しています。その世界では、暗号化によって相互に作用し統合され網目状に組みあがっており、次世代のネットの根幹をなすことになると思っています。

Webサービスの爆発

Webの短い歴史を振り返ってみると、Web1.0というのはCGI Scriptで、サーバー上で生成さたテンプレ的なコンテンツがクライアントに届けられるような世界だでした。 これは、モノリシックで中央集権的であることが明白なモデルですが、その時のインターネットコンテンツが、投稿と閲覧という基本的な方式であったことを考えると大きな改良ではありました。 この時は、Diggのトップページで何かをクリックしたいと思った時には、毎回リロードする必要がありました。 f:id:Sukesan1984:20180204163430p:plain

ブラウザーの技術が向上するにつれ、AJAX 呼び出しが始まり、非同期的にアクションできるようになったことで、一ページ丸ごとリロードすることはなくなりました。 そして、HTML formを通じて投稿したり全てをリロードすることなく、コンテンツを利用することができるようになりました。。 また、CSSを利用して、コンテンツを見た目から分離していく動きも強まってきました。

今日、AngularJSEmberJSといった技術が使われ、 テンプレートエンジンを利用して、デザイナーにはデザインのみを生成してもらうように分業する動きになってきています。 また、これらのフレームワークはシームレスでライブアップデートできることが期待され、開発者には特定の方法で実装するように要請してくれます。 しかしこれは単に、Web2.5への中程度の動きに過ぎません。

始まり

本当のWeb3.0はまだ始まっていません、しかしサーバーを持たなくてようなることによって、見た目からコンテンツを分離する という概念すら消すことを可能にします。 Ethereum Projectが提供しようと狙っている基礎技術を見ていきましょう。

以下の図に示されるように、3つが考えられています。 - Contracts: 分散ロジック - Swarm: 分散ストレージ - Whisper: 分散メッセージング f:id:Sukesan1984:20180204164807p:plain

Swarmのような技術は、静的ホスティングインフラの基礎で、特定のコンテンツをキャッシュし配布したりする必要がなくなります。 分散化されたdropboxのようなものはこのように高頻度で議論されています。 ストレージ上にHTTPのようなサービスが構築されることを期待されますし、よりシンプルに分散web3.0上で統合されていくでしょう。

こういった努力はBitTorentがやっているようなファイルへのポインターを持つ分散ハッシュテーブル (DHT)を使って典型的なCDNをリプレースすることを可能とします。 Ethereumのcontractsは柔軟なので、こういったコンテンツへのアクセスのビジネスモデルはCreatorが支払う, あるいはReaderが支払う,あるいはそのハイブリッドといった形で自由に設計できます。

我々は単にキャッシュ、リーバスプロキシーCDNロードバランサーや静的なコンテンツをユーザーに届けるようなものを置き換えるだけで良いのです。 Ethereumがこの従来のインフラストラクチャーに影響を与えるもう一つの方法は、ビジネスロジックのアプリケーション層をブロックチェーン上のcontractsで置き換えることです。 従来、様々なweb-friendlyな言語、Perl, PHP, Python, ASP, C#Rubyなどで開発されてきましたが、Ethereum contractsは完全に調査可能であり、仮想マシン上で実行されるので単純さや再利用性を促進させます。 ビジネスアナリストやプロジェクトマネージャーはコードの透明性を再構築することができ、Serpent(Pythonのような言語)やLLL(Lispのような言語) やXML(悪夢)やさらには可視化されたブロック言語(以下の図のような)のようなものでも同様に書くができます!! f:id:Sukesan1984:20180204170719p:plain

どのようにしてこのようなことが可能なんでしょうか? 最近のethereumの6つのJavaScriptバインディングのProof-of-conceptを見てみると、 分散型のWeb上でアカウントの残高を監視するのに必要なのはこれだけです。

<div>You have <span id="ether">?</span>.</div>
<script>
eth.watch({altered: eth.secretToAddress(eth.key)}).changed(function() {
document.getElementById("ether").innerText = eth.toDecimal(eth.balanceAt(eth.secretToAddress(eth.key)))
});
</script>

ethereumのプロトコルは広く配布されたkey-store(NoSQLのファンにとっては嬉しいと思いますが)として働くので、最終的にユーザーの口座、資格、評判は、Whisperコミュニケーションのプロトコルの助けを借りてブロックチェーン上に移行することができます。 このようにして、ethreumは我々のよく知る従来のインフラを完全なシャーディングされた状態にしていきます。 もはや、複雑な高可用性のインフラは必要ありません。 Ethereumのエコシステムにおいて、分散型DNSでも無料になります。

分散化された未来

このコンテキストをより俯瞰的にあらゆるインフラとして評価すると、我々の現在のWebは思っているよりもプライバシーを保護することもなく、検閲に抵抗したりするものでもないことは明らかです。 規模の経済によって一つの組織が非常に低価格でインターネット上に膨大な処理能力とストレージを提供することができ、それによって、市場のシェアを拡大し、インターネット上の行動を単独でコントロールするところまで達しています。 しばしばあまり成熟していない政府の監督下に置かれることもありました。 インターネットがボーダレスな時代において、そのような管轄というものはほとんど意味がありません。 ethereumのエコスステムの経済性が成熟し、最低料金のストレージのためのオープンなcontractsが開発されるとcontentsの無料ホスティングが発展していくでしょう。 P2Pアプリケーションの性質とダイナミクスを考えると、一般的なコンテンツは制約だらけのサーバーから解放されて、容易にスケールすることが考えられます。 その結果、人気の高いコンテンツはより早く配信されることになります。

インターネットが最初に生まれてから、プロトコルを最適化することに我々は何十年と消費してきました。 しかしそろそろ古いシステムに継続的にパッチを当てることで逆に新しく最適化されたものを使う機会を失っているということを認識するべきです。 まさに今は従来の方法と分散技術への移行期間に来ています。 その移行期間では、アプリケーションは双方のハイブリッドになりますし、ユーザーは気づかないうちに混乱に巻き込まれることになります。 しかしそうするべきなのです。

この変貌は開発者に対して次世代の分散型で、プライベートな、安全で、検閲抵抗のあるプラットフォームを構築する機会を提供し、次善のアイデアで、クリエイターや消費者の手に支配を返却することになります。 夢を持つものなら誰でも、この新しい次世代の分散ウェブサービスを構築するのは自由ですし、クレジットカードを持つこともアカウントへのサインアップも不要です。

誰かに言われたわけではないですが、第三者が邪魔したり操作したり支配しようとするこの共有リソースを改良して、大切にすることが不可欠です。 誰か一人の人間が新興のインターネット上の集合知を完全に理解してるわけではないのと同じように、我々は、ある特定の主体が動機を持ったり、メンテナンスしてると言うことを期待すべきではありません。 むしろ、我々はインターネットの問題をインターネットが解決するということを信頼するべきです。

この結果、Ethereumのようなblockchain技術は、infrastructure-as-a-service(IaaS)の登場時ですら見られなかったような単純化やコスト低下を可能にしています。 単純なwebプロジェクトを超えてアイデアを広げていくことで、Ethereumは完全な分散型自律的組織(DAOs)がどうやって生き続けていくのか実証することを期待してます。 そこでは中央集権化されたサーバーが必要性が否定され、信頼されたサードパーティをも否定し、初期のインターネット開拓者が夢見、構想した、独立したnew home of the mindを実現することが期待されます。