仮想通貨

ICPのロードマップを読み解こう-06

仮想通貨

ノンホルダー・リトです。

まだまだ続きます。

ICPのロードマップを読み解こうの会。

原文はこちらです。

Announcing Internet Computer “Mainnet” and a 20-Year Roadmap
The Internet Computer is the world’s first blockchain that runs at web speed and can increase its capacity without bound.

Crushing Complexity and Scaling Using Reimagined Smart Contracts

見出しの翻訳です。

再構築されたスマートコントラクトを用いた複雑性の排除とスケーリング

本文の翻訳と要点を見ていきましょー。

今日、従来のITを構築する際には、
ストレージのメガバイトあたりの価格、
クラウドコンピューティングインスタンスの1時間あたりの価格、
ソフトウェアライセンスなどのコストを考えるのが一般的です。

しかし、皮肉なことに、これらのコストは、
世界の年間ITコスト3兆8,000億ドルのうち、
ほんの一部にすぎません。

最大のコストはITオペレーションであり、
コンピュータのプログラミングやシステム管理などの
仕事に従事する人間のコストであることを忘れがちです

ITにとって最大のコストは、人件費。

実際、米国の典型的なFortune 500企業では、
ITコストの約85%がITオペレーションに起因しています。

さらに、IT運用の90%以上は、
システムやサービスの基本的な目的や機能を定義する
本質的なロジックやユーザーエクスペリエンスの構築・進化ではなく、
構築・保守するシステムやサービスのコンポーネントを
単に連携させるという魂を削るような作業や、
データのバックアップやセキュリティの維持などの
作業に向けられていると分析されています。

このことは、IT全般のコストを削減し、
技術的な人的資源をより生産的な目的に振り向けることができる
劇的なチャンスであることを示しています。

また、インターネットサービスの開発を大幅に簡素化し、
技術的なベンチャー企業をより早く市場に送り出すことができます。

IT開発が簡素化されれば、
人件費をもっと生産的な仕事に振れる。

これを実現するのが、ICPなのです。

DFINITYは早くから、ソフトウェアを
スマートコントラクトの進化という形で再構築することで、
情報システムの開発・保守に伴う複雑さを大幅に軽減するとともに、
新たなセキュリティニーズにも対応し、
高速で効率的かつ制約のないブロックチェーン上に構築することで、
世界の無駄な技術コストを劇的に削減できるのではないかと考えていました。

2015年、イーサリアムのブロックチェーンは、
他のスマートコントラクトのコードを
直接呼び出すことができるスマートコントラクトを導入し、
共同ホストシステムの統合に関わるコストの多くを取り除くことで、
このようなことが可能になるかもしれないと予告しました。

また、Ethereum上のスマートコントラクトは「永遠に動作する」ため、
クラッシュしてデータがリセットされることはなく、
Solidityコードを書いているスマートコントラクト開発者は、
データを単純なプログラム変数内に保持し、
データベースやファイルとの間でデータを
やりとりすることを忘れることができ、
データの永続性を直接管理する必要がなくなるため、
コードを簡素化することができます
(ただし、SolidityはEthereumの
ステートデータベース内に変数データを保持する
低レベルのコードにコンパイルされることに注意が必要です)。

珍しくEthereumを褒めています。

  • Ethereumのスマートコントラクトは、永遠に動作する
  • Solidityのおかげで、コードは簡素

DFINITYは、このような洞察を
インターネットコンピュータの設計に反映させ、
従来のスマートコントラクトを
ソフトウェアキャニスターに進化させました。

キャニスターのコードは、
他のキャニスターが共有する関数を
直接呼び出すことができ、
期待される利点を提供する一方で、
様々な点で従来のスマートコントラクトとは
異なる動作をします。

このようなスマートコントラクトを
「キャニスター」と呼ぶのは、
キャニスターがソフトウェアコードと
そのコードが動作する
永続的なメモリページを束ねたものであり、
キャニスターを決定論的に並列動作させることで
ネットワークの容量を拡大することができるからです。
(技術的には、コードはWebAssembly
バイトコードの形をしており、
これはソフトウェアアクターを記述する
任意の高レベルプログラミング言語から
コンパイルすることができます)。

この場合もキャニスターはクラッシュしませんが、
今度は開発者が真の直交的な永続性のスキームで
データを維持します。

つまり、データは、
プログラミング作業の過程で
自然に作成される非常に任意の変数、
オブジェクト、コレクション、
データタイプの中に存在するだけで、
それがメモリの中で自動的に永続化されるのです。

このように、インターネットコンピュータでは、
目的に応じてコードを記述することができるため、
複雑さが排除され、ソフトウェアシステムやサービスの導入、
維持、管理のコストを大幅に削減することができます。

キャニスター同士でコードを共有し、
並列動作もできる。

ついに、話がちょっと難しくなってきました。

また、インターネットコンピュータを利用することで、
初めて「スケールするコード」を書くことが可能となり、
例えば、大規模なインターネットサービスの制作を
大幅に簡略化することができます。

従来のITでは、
ソフトウェアはホストである
コンピュータの物理的なメモリ内で
動作しなければならず、
そのメモリはOSなど
他のソフトウェアと共有され、
搭載されている物理的な
メモリチップに制約されてしまう。

このため、大規模なインターネットサービスなど、
システムの拡張性が求められるシステムの開発者は、
「シャーディング」などの複雑な仕組みを用いて、
複数のサーバーコンピュータやデータベースなどの
スタンドアロンシステムに計算やデータを分割し、
この制約から逃れなければならないという負担があります。

これに対して、インターネットコンピュータは、
そのような分割が不要なコードのための
真にシームレスな環境を初めて提供します。

開発者のコードが
新しいキャニスターオブジェクトを
インスタンス化するたびに、
最大4GBのメモリページが
システム全体に組み込まれます。

これにより、コードはあたかも巨大で
無限にパワフルなサーバーコンピュータ上で
動作しているかのように、
膨大なデータをメモリ内に保持することが可能になり、
ハイパースケールのインターネットサービスを、
現在必要とされるコード行数の
ほんの一部で実現することができます。

ICPでは、大規模なアプリも簡素なコードで作れる、
ということですなぁ。

インターネットコンピュータの
モデルが提供するシンプルさは、
ネットワーク構築に必要な
ハードウェアの追加コストによって相殺され、
節約効果が無効になるのではないか、
あるいはパブリックプラットフォームが
従来のITと同じくらい高価なものになってしまうのではないか、
と懸念される方もいらっしゃるかもしれません。

しかし、そのようなことはありません。

構成にもよりますが、
ネットワーク内にチェーンキー暗号を適用することで、
インターネットコンピュータは、
十分なセキュリティと耐障害性を維持しながら、
(7つの独立したデータセンターから抽出した)
わずか7台のノードマシンに、
ガバナンスに関係しない計算と
データを複製することができます。

これは、グーグルが使用している複製よりも
わずかに多いだけです。

さらに、従来のITでは、
データベースのインデックスとデータファイルの間や、
インターネットのエッジに
コンテンツを事前に配信する
CDN(Content Distribution Network)サービスへの
レプリケーションなど、
隠れたレプリケーションが多いのが実情です。

このように、
インターネットコンピュータ上の
キャニスターメモリは、
年間1GBあたり5ドル程度と
比較的高価であるかもしれませんが
イーサリアムのスマートコントラクトデータは
1GBあたり500万ドルであることを考えると、
ブロックチェーンにおいてはとにかく革命的です)、
キャニスターフレームワークは、
そのメモリのはるかに効率的なアプリケーションを保証します。

キャニスターのメモリは、
従来よりは高価だけど、
Ethereumのスマートコントラクトに比べたら、
破格に安い、と言っています。

インターネットコンピュータの基礎となる
ブロックチェーンプロトコルで使用される
暗号の計算オーバーヘッドは、残りの懸念事項です。

これはノードマシンのCPUで処理する必要がありますが、
ネットワークは、不必要な複雑さや
システムのセキュリティ確保の難しさに起因する、
相対的にはるかに大きな人的コストを
削減することを第一に考えているため、
従来のITよりもはるかに低い総コストで
システムやサービスの構築・維持を
サポートできることに変わりはありません。

実際、インターネットコンピュータの設計者は、
必要に応じて、ハードウェアの使用量を増やすことで、
他の方法では得られない人間の効率性を
意識的に交換しています。

1981年に私がコーディングを始めた
Sinclair Research ZX-81パーソナルコンピュータの
メインメモリがわずか64KBだったのに対し、
私の16インチMacBook Proは現在60GBを搭載しており、
40年足らずの間にメモリ容量が
100万倍になっていることを考えると、
これは完全に理にかなっています。

これは、ハードウェアがムーアの法則によって
常により強力でより安価になる一方で、
十分な訓練を受けた人間のコストは変わらないか、
または増加していることを反映しています。

Canisterスマートコントラクトフレームワークや、
Motokoのような新しい言語を使ってみたい方は、
DFINITYが提供しているSDKを
sdk.dfinity.orgでチェックしてみてください。

いいかげん、Motokoに触れてみたいですね。

免責事項

本記事を参考にした事によるいかなる不利益について、管理者は一切の責任を負いかねます。

DYOR, NFA

コメント

タイトルとURLをコピーしました