10月26日、Wanxiang Blockchain Labsが主催する第7回ブロックチェーングローバルサミットが上海で開催され、NervosネットワークアーキテクトのXie Hanjian氏は「ブロックチェーンの抽象化と進化」と題した共有の中で、ガバナンスと抽象化はブロックチェーンの新たな課題であると述べた。イーサリアムはすべてを変えました。ブロックチェーン技術を一般化します。ブロックチェーン技術を利用するアプリケーションを探し、それらの共通点を発見し、さまざまなアプリケーション、シナリオ、ニーズに対応するプラットフォームを作成します。インターネット上には、決済、ゲームなど、さまざまなアプリケーションを作成できます、など。イーサリアムはより抽象度の高いシステムであり、将来のブロックチェーンはより高いパフォーマンスを追求するのではなく、より抽象度が高く、より汎用的な設計を追求することになります。同氏は、ブロックチェーンの抽象レベルには、特定のアカウントシステム、特殊な暗号アルゴリズム、特殊なランタイムといった3つの問題があると考えている。ブロックチェーンはより高いレベルの抽象化を追求する必要があり、パフォーマンスは副産物です。
演説の全文は以下の通り。
こんにちは、みんな!私は Nervos Network のアーキテクトである Xie Hanjian です。今日話したいテーマである「ブロックチェーンの抽象化と進化」について皆さんと共有できることをとてもうれしく思います。
ブロックチェーンが直面している最大の課題は何ですか?
あなたがこのような文章を読んだことがあるかどうかはわかりませんが、これは次のことを意味します。今日、新しいブロックチェーンが直面している最大の課題は「速度」や「スループット」ではなく、「ガバナンス」です。
いわゆる第二世代ブロックチェーン、新しいブロックチェーンは開発されてから5、6年が経ちますが、これまでの考え方を振り返ってみると、当時の考え方がそれほど正しくない可能性があることがわかります。
数年前、誰もが新しいブロックチェーンを構築したいと考えたとき、「ブロックチェーンのパフォーマンス問題を解決できたら、イーサリアムに勝てる新世代のシステムを作成できるだろうか。その場合、何ができるだろうか?」と考えました。それは?」など。
しかし、ここ数年のブロックチェーン業界の発展は、新しいブロックチェーンが登場し、そのパフォーマンスは確かに非常に優れていることがわかりますが、誰もがまだ私たちがまだイーサリアムの時代にあると考えているため、この考えを誤りました。次の時代に入っておらず、「ビットコイン」から「イーサリアム」までの時代を感じていませんでしたが、今日の新しいブロックチェーンは非常に優れたパフォーマンスを備えており、数千のトランザクションを処理できますが、その感覚はありません。
私たちが直面している最大の課題は「ガバナンス」だという人もいます。
実際、私も「ガバナンス」が確かに現在ブロックチェーン業界が直面している大きな問題であり、この質問は答えのない「未解決の質問」であるということに私も同意します。さまざまなブロックチェーン コミュニティやさまざまなブロックチェーン チームがそれについて議論しています。 P2P自律プロジェクトを開きます。確かにガバナンスは難しい問題です。
しかし、それだけが問題ではないので、「抽象化」「抽象化」も非常に重要だということを言いたいのです。
「ガバナンス」で議論される問題は、私たちがコミュニティとしてブロックチェーンプラットフォームが何かをすべきかどうかを決定できる場合、ブロックチェーンの「抽象」レベルは、何を管理対象のテーブルに移動できるかを決定し、議論することです。何をすべきか、何をしてはいけないのか。
したがって、新しいブロックチェーンにとって「抽象化」も非常に重要な課題だと思います。
「抽象的」とは何ですか?
言葉自体が抽象的です。
抽象化自体は比較的専門的な単語であり、2 つの説明があります。最初の説明だけを考慮する必要があります。いわゆる抽象化はプロセスであり、システムから特殊性を取り除き、システムから一般性と普遍性を作成します。 。
これは一般化のプロセスであり、特殊な設計を削除し、共通点を見つけることで、システムをより一般化し、より多くのシナリオに適用できるようになります。
この説明はまだ非常に抽象的かもしれませんが、キーワードは「特殊性」を取り除き、システムから「特殊性」を取り除き、より一般的な「一般的な」ものをシステム内で見つけて、それを設計に組み込んで作成することであることを誰もが覚えておく必要があります。 「一般」。
ブロックチェーン以外の例で説明します。
皆さんもゲーム機で遊んだことがあると思いますが、少なくとも私が子供の頃は、ゲームセンターでいわゆるアーケード機と呼ばれる大型のゲーム機をよくプレイしていました。このようなマシンをご存知の方なら分かると思いますが、それぞれのマシンが実はゲームに対応しているのです。アーケードマシンの場合、システム設計はソフトウェアからハードウェアまで一貫して設計されており、すべての設計はこのゲームという一つの目的を中心に設計されています。
また新しいゲームを作るときには、新しいマシンを設計する必要があるので、ゲームホールには10台か20台のマシンがあり、それぞれのマシンは異なるゲームです。
ゲーム業界は、今日最も人気のあるものはもはやアーケード マシンではなく、XBox などのより一般的なゲーム プラットフォームになるまで発展しました。
XBox は一般的なデザインであり、XBox 用にさまざまなゲームをデザインできます。その後、このシステムで実行してプレイするためのさまざまなゲームのみを購入できます。
したがって、アーケードから XBOX へは一般的なプロセスです。別の観点から見ると、XBox はより抽象度の高いデザインであり、より多くのシナリオに適用できます。特定のゲームごとに特別なものが構築されることはほとんどありません。ほとんどありません。
特別な詳細がないからこそ、このプラットフォームの開発者は詳細を入力して、プラットフォームがさまざまなニーズに適応できるようにすることができます。
ブロックチェーン産業の発展を考察するとき、「ビットコイン」や「イーサリアム」を考察するプロセスも同様です。
「ビットコイン」は何をしたいのでしょうか?
ホワイトペーパーやタイトルからも、本来の目的がP2P決済システムの実現であることが分かりますが、これは非常に明確な単一の目的を持ったシステムであり、システム設計もそれに基づいたものとなっています。
イーサリアムが登場する前の時代、ブロックチェーンにしても分散台帳にしても、「ビットコイン」の基盤技術は非常に価値のあるものであるということを世界中の人に知ってもらいたいと思っています。
このテクノロジーを他の目的に使用したい場合、何ができるでしょうか?あなたにできるのは、「ビットコイン」コードを使って何かをするのではなく、「ビットコイン」コードに集中することだけです。
しかし、イーサリアムの登場で状況は一変しました。イーサリアムは、「そんなに面倒なことは必要ない」と言ってくれました。ビットコインとブロックチェーンをより汎用的なシステムに変えることができます。ブロックチェーン技術を使用するアプリケーション要件の共通性を見つける必要があります。決済サービスだけに特化した設計を排除し、共通のさまざまなニーズを掘り起こし、共通のニーズに合わせたプラットフォームを設計するプラットフォーム。
そのため、イーサリアムには仮想マシンと動作環境が存在し、決済や融資、ゲームなど様々なアプリケーションをイーサリアム上に構築することができます。
「ビットコイン」から「イーサリアム」へは一般化のプロセスです。
つまり、イーサリアムは、XBox をアーケードに喩えるのと同じように、実際には「ビットコイン」よりも抽象度が高いのです。
この考え方に従えば、どうすればより良くなるかを簡単に考えることができますが、本当に今の世代とは異なるブロックチェーンを作りたい場合、次世代はどのようなものになるでしょうか?
パフォーマンスが向上するのではなく、抽象度が向上する必要があります。
システムをより高い抽象レベルにするにはどうすればよいでしょうか?
先ほどの定義を思い出してみると、その中にある特別なデザインや特別なディテールを見つけ出し、それが一般的なものでない場合は切り落とし、より一般的なデザインに変える方法を見つける必要があります。
今日のブロックチェーン システムでは、どのような特別な設計が行われていますか?皆さんと共有したいことがいくつか見つかりました。
(1) 特定口座制度
ブロックチェーンは人と資産の間のインタラクションのシステムであり、ブロックチェーンには人とユーザーが存在するため、各ユーザーを表すアカウントと ID を作成する必要があります。アカウントが誰かのものであることを確認するにはどうすればよいですか?アカウント内のデータ モデルは何ですか?これらは今日のブロックチェーン システムではハードコーディングされており、開発者とユーザーを支援するためにブロックチェーン設計者によって選択されます。ユーザーまたは開発者には、それを置き換える権利はありません。
アカウントの検証を例に挙げると、ビットコインであろうとイーサリアムであろうと、システムによって指定されます。システムにリクエストを送信してトランザクションを構築したい場合は、特定の暗号アルゴリズムを使用して署名する必要があります。これは必須のデザインです。ブロックチェーンのユーザーは、それを変更する方法がありません。ブロックチェーンはシステムにハードコーディングされています。
しかし、このような強制的な設計は実際には多くの問題を引き起こすでしょう。その最も明白な点は、ブロックチェーンユーザーの敷居が非常に高いということです。歴史的な理由により行われた特定の選択は、今日のインターネットの多くのシナリオで使用されている暗号化アルゴリズムとは異なります。たとえば、現在すべての携帯電話にはセキュリティ チップが搭載されており、セキュリティ チップを使用して秘密鍵を保持するのが最も便利で安全ですが、セキュリティ チップは、暗号化アルゴリズムによって選択された暗号化アルゴリズムの代わりに R1 または RSA アルゴリズムを使用する場合があります。ブロックチェーンでは互換性がないため、既存のアカウント システムを使用する代わりに、ニーモニック テクノロジを使用してアカウント システムを再確立する必要があります。
では、他のアカウント システムとは何でしょうか?実際にはメールボックスや顔認証、生体認証などが数多く存在しますが、これらはブロックチェーンアカウントシステムと互換性がなく、特定の設計によってもたらされる障害となっています。
(2) 特殊な暗号アルゴリズム
たとえば、今日、特定のブロックチェーン上でアプリケーションを開発したいのですが、このプラットフォームで指定されている限られたオプションを使用したくない場合は、どうすればよいでしょうか?何もできない、何もできない。
Ethereum には、EVM 仮想マシンに記述された特定の暗号化アルゴリズムであるプリコンパイルがあります。このアルゴリズムを使用したくない場合は、Solidity で再実装できる可能性がありますが、効率は非常に低くなります。 EVM 自体も非常に非効率的です。
これはどのような問題を引き起こしますか?暗号アルゴリズムは実際には標準です。国が異なれば、暗号アルゴリズムの標準も異なります。米国にも秘密があり、中国にも国家機密がありますが、ブロックチェーンの選択はいかなる種類の標準でもありません。これは、ブロックチェーンを実際の現場に適用しようとした場合、既存の標準規格との互換性が難しく、それがブロックチェーン技術の普及の妨げになっているということを意味します。
(3) 実行環境
現在、ほぼすべてのブロックチェーン プラットフォームがスマート コントラクトをサポートしており、スマート コントラクトは仮想マシンや状態モデルを含む適切な環境で実行する必要があります。ランタイム環境自体も、コンピューティング時間、ランタイム、検証ランタイムなどに分類でき、それぞれにさまざまなオプションがあります。たとえば、仮想マシンは EVM や RISC-V 仮想マシンなどを使用できます。しかし、今日見られるすべてのブロックチェーン設計は、ブロックチェーン設計者が開発者のために選択した特定の組み合わせであり、開発者はさまざまなオプションを自由に選択することができないため、開発者にとっては敷居が高くなります。ブロックチェーン システムに参入するには、開発者は今日の仕事で使用されているものとはまったく異なる一連のことを学習する必要があるかもしれませんが、この制限も非常に大きいと私たちは考えています。
開発者にとって学習コストがかかるだけでなく、ブロックチェーンのパフォーマンスとセキュリティにも影響します。つまり、ブロックチェーン システムの作成者はあなたのために選択を行ったのであり、ブロックチェーン システムを使用している限り、他の選択はできなくなります。
上記の3つの側面は、現在見えているブロックチェーンの抽象レベルでは比較的大きな問題であり、私たちもこれらの問題を解決したいと考えています。解決方法も非常に簡単です。問題が見つかったので、ユーザーと開発者により多くの選択肢を与えるために、アカウントを抽象化し、暗号化を抽象化し、ランタイムを抽象化する必要があります。
どうすればいいでしょうか?アカウント抽象化レイヤーで、Nervos は新しいデータ アカウント モデルであるセル モデルを導入しました。アカウントを抽象化するとどのような効果が得られるのでしょうか?抽象アカウントのアプリケーションは、さまざまな場所のユーザーが使用できます。
たとえば、一般的なインターネット ユーザーでメール アドレスしか持っていない場合は、ブロックチェーン上のアプリケーションを直接使用でき、新しいウォレット エントリをダウンロードしたり、秘密キーを設定したりする必要はありません。メールアドレスをアカウントとして使用することができます。
携帯電話のセキュリティチップを利用して、安全かつ便利にアカウントを設定することもできます。携帯電話のチップが顔認識に関連付けられている場合は、顔認識を直接使用してアカウントを制御できます。プロセス全体を通じて、ブロックチェーンについて特別なことを学ぶ必要はなく、持っているものを使用するだけです。
Nervos にはすでにこれを実行している多くのアプリケーションがあり、Unipass のようなアプリケーションは電子メールに基づいた分散型ブロックチェーン アカウント システムであり、DAS のようなアプリケーションも抽象アカウントの特性を利用してインターネット ユーザー、イーサリアム ユーザー、および EOS ユーザーを作成します。 Nervos ユーザーだけがアプリケーションを操作できるのではなく、アプリケーションを直接操作できるという相互運用性があります。
暗号抽象化を行うにはどうすればよいですか?
暗号抽象化の中心となるのは、非常に効率的な仮想マシンの必要性です。当社の自己実装高効率仮想マシンは、オープン命令レベル RISC-V を使用する CKB-VM です。RISC-V 命令レベルの特性により、CKB-VM を使用すると、開発者は C と Rust を使用して暗号アルゴリズムを実装できます。利点は効率が高いだけでなく、多くの成熟した暗号アルゴリズム実装をブロックチェーンに直接移動して実行できること、つまり、Nervos に移動して実行できることです。
暗号アルゴリズムの実装は実際には非常に難しく、先に暗号アルゴリズムを実装すると間違いが発生しやすくなります。暗号アルゴリズムの実装が安全かどうかを判断するにはどうすればよいですか?唯一の最良のテスト基準は成熟度と使用時間であり、より多くの人が使用するほど、より長く使用されるほど、安全性が高まります。
C や Rust で行われている暗号を直接移植できる利点は、1 つのセットを再実装する必要がないことですが、Solidity を使用して 1 つのセットを再実装する場合は、新しいものであるため、セキュリティを考慮する価値があります。バグがある可能性があり、修正には時間がかかります。
既存の暗号アルゴリズムのほとんどは C と Rust で実装されているため、高性能 EVM と C と Rust をサポートする EVM を通じて、現在の暗号アルゴリズムのほとんどを効率的に再利用できます。
実行時に抽象化を行うにはどうすればよいですか?
開発者にとって、開発者は開発に特定の言語を使用することを強制されるわけではなく、JAVAscript、Ruby、Rust、C など、すでに使い慣れた言語を開発に使用することができます。 。また、スマートコントラクトを記述する際に、スマートコントラクトの内部メモリレイアウトやデータレイアウトを規定するのではなく、柔軟に選択できることを実現したいと考えています。
Nervos は実際にこの方向でブロックチェーンを改善していますが、私たちが作りたいのは、より高速なブロックチェーンではなく、より高い抽象度を備えたブロックチェーンかもしれません。しかし、抽象度を高くすることができれば、パフォーマンスであれスループットであれ、より多くのことができるようになりますが、それはより高い抽象度の副作用になります。
抽象化レベルが高くなると、今朝ヴィタリックが言ったように、より多くのものをチェーンから移動するか、レイヤー 2 に移動することになります。レイヤ 1 とレイヤ 2 の分離、あるいは計算と検証の分離は抽象度変更の副作用であり、追求すべきは性能の変化を直接追求するのではなく、抽象度の変更です。
XBOX から PC に変わったようなものです。XBOX は汎用プラットフォームではありますが、依然として多くの制約を与えています。XBOX でさまざまなゲームを作ることはできますが、ハードウェアを変えることはできません。 PC もこの制限を取り除き、ハードウェア レベルでより一般的な処理を行うようになり、グラフィック カード、CPU、メモリ、マザーボード、ハード ドライブを変更できるようになりました。つまり、PC はより一般化されたシステムであり、標準なのです。この観点から見ると、PC は XBOX よりも抽象度が高く、より高度な処理が可能で、ユーザーのより多くのニーズを満たし、開発者により多くの利便性をもたらすシステムです。