Byte Jun はまず、暗号化とは何かを皆さんに紹介します。要するに、暗号学は暗号化の仕方と復号の仕方を研究する科学です。
暗号化と復号化は、有名な「シーザー暗号」など、古くから存在しています。 カエサルはローマ帝国の創始者です。 彼は一部の歴史家によってローマ帝国の無冠の皇帝と見なされ、「カエサル大王」として知られています。 実際、カエサル自身は秘密の文書を書くことに非常に熱心でした。
ガリア(現在の南フランス)での戦争中、カエサルは敵を打ち負かしただけでなく、広範で深い諜報ネットワークを確立しました。 ガリア戦争の記録には、彼の友人であるローマの将軍キケロが包囲されたときに暗号文で彼にメッセージが渡されたことが言及されています。 カエサルは「メッセージが敵に傍受されても、我々の対抗手段が敵に発見されない」ことを避けるために、暗号文の形式を使用した。
この古典的な暗号文は「VIMRJSVGIQIRXW SRXLI AEC」で、頭文字R+4=Vなどの4ビットシフトで暗号化されています。 暗号文を解読すると、平文は「REINFORCEMENTS ON THE WAY」、つまり「援軍が向かっている」という意味です。
したがって、シーザー暗号は、平文の文字を固定番号に従って後方に移動することにより、実際に文字を暗号化します。
時代の発展とともに、暗号化と復号化は徐々に科学、つまり暗号学に進化しました。ブロックチェーンが登場する前は、暗号は最も有名な非対称暗号化アルゴリズムRSAなど、インターネットで多くのアプリケーションがありました。 ここでは、Byte Jun が最初に対称暗号化とは何か、非対称暗号化とは何かを皆さんに紹介します。
対称暗号化とは、暗号化と復号化に同じキーが使用されることを意味します。 誰もが理解できるように類推するために、暗号化をロックに、復号化をロック解除と比較します。 対称暗号化とは、ロックとロック解除に同じキーが使用されることを意味します。 そのため、取引の当事者が同じ鍵を使用することになり、セキュリティが保証できないというデメリットがあります。
非対称暗号化には2つの鍵があり、そのうちの1つは公開鍵(公開鍵)で、もう1つは秘密鍵(秘密鍵)です。 これは、AとBの2つの鍵を持つ鍵のようなもので、鍵を開けるには鍵Aが必要、鍵Bは鍵を開ける必要があります。
RSA 暗号化アルゴリズムは、非対称暗号化アルゴリズムです。 以前は多くのインターネットプロトコルがRSAを使用していましたが、現在、RSAはさまざまなブラウザや電子メールプロトコルで最も広く使用され、最も互換性のある非対称暗号化アルゴリズムでもあります。
インターネットがセキュリティと利便性の両面から現在の規模に発展した理由は、パスワードの多用と不可分です。たとえば、ブラウザーにほとんど見られるアルゴリズムである SubtleCrypto は、小規模なプログラム環境でも使用できます。また、2019年にW3Cの推奨標準となったWebAuthnアルゴリズムは、ブラウザの暗号をハードウェアウォレットのように強力にし、使用すると非常に便利です(指紋、顔スキャンなどでロックを解除できます)。
ブロックチェーンに話を戻すと、ユーザーがウォレットのプラグインやアプリをダウンロードし、ニーモニックフレーズを自分で保存するプロセスに従うのではなく、これらのインターネット暗号化インフラストラクチャを直接使用することができれば、dAppsのユーザーのしきい値を大幅に下げることができます。
しかし、主流のブロックチェーンの暗号化は、一般的に最下層にハードコードされています。
これらのブロックチェーンの署名アルゴリズムは、主流のインターネットで使用されている暗号化システムと互換性がなく、直接使用することはできません。 彼らは再設置された設備に頼るしかありません。
Nervos CKBパブリックチェーンの違いは、カスタム暗号化を使用でき、暗号化が下部にハードコードされていないことです。つまり、Nervos でアプリケーションを開発する場合、主流のインターネットで使用されている暗号化システムを使用したり、既存のインターネット インフラストラクチャを直接呼び出したりすることもできます。
具体的には、Nervos CKB仮想マシンは、アプリケーション層(スマートコントラクト)に暗号化を直接展開できるため、上記の非対称暗号化アルゴリズムRSA、SHA-256などを展開できます。 これにより、既存のインフラストラクチャを使用するための基盤が築かれます。 しかし、これだけでは十分ではありません。 Nervosには、次の機能も必要です -アカウントの抽象化。
「抽象」という言葉自体がとても抽象的です。
抽象化自体は比較的専門的な言葉です。 2つの説明があります。 最初のものだけに注意を払う必要があります:いわゆる抽象化はプロセスです。 システムから特殊性を取り除き、システムから一般性と普遍性を創造する。 これは一般化のプロセスです。 特別な設計を取り除き、共通点を見つけることで、システムはより汎用的で、より多くのシナリオに適用できます。
この説明はまだまだかなり抽象的かもしれませんが、皆さんが覚えておかなければならないキーワードは、システムから「特殊性」を取り除き、システム内の共通性をより多く見つけ、デザインに共通性を入れ、「一般性」を生み出すことです。
ブロックチェーンではない例で説明しましょう。 ゲームホールの大型アーケードマシンで遊んだことがあるかもしれません。 この種のマシンを理解すれば、各マシンが実際にゲームに対応していることがわかるでしょう。 アーケードマシンの場合、システム設計はソフトウェアからハードウェアまでの統合設計です。 すべてのデザインは、このゲームという1つの目的を果たします。 別の新しいゲームを作る必要があるときは、別の新しいマシンを設計する必要があるので、アーケードには10台から20台のマシンがあり、それぞれに異なるゲームがあります。
ゲーム業界が今日まで発展するにつれて、最も人気のあるものはもはやアーケードマシンではなく、XBoxのようなより一般的なゲームプラットフォームです。 XBoxは一般的なデザインです。 XBox用のさまざまなゲームを設計できますが、このシステムで実行するさまざまなゲームを購入することしかできません。
したがって、アーケードからXBOXへの一般化プロセスです。 別の見方をすれば、XBox は抽象度の高い設計であり、より多くのシナリオに適用できます。 特定のゲームごとに特別なものが構築されているものはほとんどありません。 このプラットフォームの開発者が詳細を記入して、プラットフォームがさまざまなニーズに適応できるように、これらの特別な詳細がないからこそです。
Nervos CKBに話を戻そう。 CKBパブリックチェーンの2つ目の技術的利点は、アカウントの抽象化です。いわゆるアカウントの抽象化とは、ブロックチェーンアカウント(アドレス)のロック解除ロジックを一般化する機能を指します。
現在、主流のブロックチェーンのロック解除ロジックは、比較的単純で直接的で、プロトコルレベルでハードコードされています。 例えば、BTCやETHの場合、トランザクションの本文と署名に基づいて公開鍵が復元され、その後、公開された鍵は確立されたルールに従ってアドレスに変換されます。 最後に、ロックを解除するアドレスと一致します。 整合性が保たれていればロック解除は成功し、そうでない場合はロック解除は失敗します。
この種のハードコーディングされたロジックは、署名に組み込まれたクライアント関連データや、署名がトランザクション自体に固有ではないなど、より広範な状況に適応できません。 理解を容易にするために、例えてみましょう:主流のブロックチェーンのロック解除ロジックは、一方向にしかアカウントのドアを開けることができない機械式ドアロックのロジックと同じです。
最下位レベルでアカウント抽象化機能を実装する Nervos は、電子ロックを持つことと同等です。 そのロック解除ロジックは、パスワード、指紋、Bluetooth、NFCなどを介して行うことができます。たとえば、電子メールの暗号化を使用してロックを解除し、電子メールの指示に従って契約を実行できます。 最も簡単な例は、電子メールを送信して指定されたアドレス(または別のメールボックス)にCKBを直接送信することであり、プロセス全体に手順は必要ありません。 「ウォレット」の参加が必要です。
これが勘定科目抽象化の利点です。
Byte Jun はまず、暗号化とは何かを皆さんに紹介します。要するに、暗号学は暗号化の仕方と復号の仕方を研究する科学です。
暗号化と復号化は、有名な「シーザー暗号」など、古くから存在しています。 カエサルはローマ帝国の創始者です。 彼は一部の歴史家によってローマ帝国の無冠の皇帝と見なされ、「カエサル大王」として知られています。 実際、カエサル自身は秘密の文書を書くことに非常に熱心でした。
ガリア(現在の南フランス)での戦争中、カエサルは敵を打ち負かしただけでなく、広範で深い諜報ネットワークを確立しました。 ガリア戦争の記録には、彼の友人であるローマの将軍キケロが包囲されたときに暗号文で彼にメッセージが渡されたことが言及されています。 カエサルは「メッセージが敵に傍受されても、我々の対抗手段が敵に発見されない」ことを避けるために、暗号文の形式を使用した。
この古典的な暗号文は「VIMRJSVGIQIRXW SRXLI AEC」で、頭文字R+4=Vなどの4ビットシフトで暗号化されています。 暗号文を解読すると、平文は「REINFORCEMENTS ON THE WAY」、つまり「援軍が向かっている」という意味です。
したがって、シーザー暗号は、平文の文字を固定番号に従って後方に移動することにより、実際に文字を暗号化します。
時代の発展とともに、暗号化と復号化は徐々に科学、つまり暗号学に進化しました。ブロックチェーンが登場する前は、暗号は最も有名な非対称暗号化アルゴリズムRSAなど、インターネットで多くのアプリケーションがありました。 ここでは、Byte Jun が最初に対称暗号化とは何か、非対称暗号化とは何かを皆さんに紹介します。
対称暗号化とは、暗号化と復号化に同じキーが使用されることを意味します。 誰もが理解できるように類推するために、暗号化をロックに、復号化をロック解除と比較します。 対称暗号化とは、ロックとロック解除に同じキーが使用されることを意味します。 そのため、取引の当事者が同じ鍵を使用することになり、セキュリティが保証できないというデメリットがあります。
非対称暗号化には2つの鍵があり、そのうちの1つは公開鍵(公開鍵)で、もう1つは秘密鍵(秘密鍵)です。 これは、AとBの2つの鍵を持つ鍵のようなもので、鍵を開けるには鍵Aが必要、鍵Bは鍵を開ける必要があります。
RSA 暗号化アルゴリズムは、非対称暗号化アルゴリズムです。 以前は多くのインターネットプロトコルがRSAを使用していましたが、現在、RSAはさまざまなブラウザや電子メールプロトコルで最も広く使用され、最も互換性のある非対称暗号化アルゴリズムでもあります。
インターネットがセキュリティと利便性の両面から現在の規模に発展した理由は、パスワードの多用と不可分です。たとえば、ブラウザーにほとんど見られるアルゴリズムである SubtleCrypto は、小規模なプログラム環境でも使用できます。また、2019年にW3Cの推奨標準となったWebAuthnアルゴリズムは、ブラウザの暗号をハードウェアウォレットのように強力にし、使用すると非常に便利です(指紋、顔スキャンなどでロックを解除できます)。
ブロックチェーンに話を戻すと、ユーザーがウォレットのプラグインやアプリをダウンロードし、ニーモニックフレーズを自分で保存するプロセスに従うのではなく、これらのインターネット暗号化インフラストラクチャを直接使用することができれば、dAppsのユーザーのしきい値を大幅に下げることができます。
しかし、主流のブロックチェーンの暗号化は、一般的に最下層にハードコードされています。
これらのブロックチェーンの署名アルゴリズムは、主流のインターネットで使用されている暗号化システムと互換性がなく、直接使用することはできません。 彼らは再設置された設備に頼るしかありません。
Nervos CKBパブリックチェーンの違いは、カスタム暗号化を使用でき、暗号化が下部にハードコードされていないことです。つまり、Nervos でアプリケーションを開発する場合、主流のインターネットで使用されている暗号化システムを使用したり、既存のインターネット インフラストラクチャを直接呼び出したりすることもできます。
具体的には、Nervos CKB仮想マシンは、アプリケーション層(スマートコントラクト)に暗号化を直接展開できるため、上記の非対称暗号化アルゴリズムRSA、SHA-256などを展開できます。 これにより、既存のインフラストラクチャを使用するための基盤が築かれます。 しかし、これだけでは十分ではありません。 Nervosには、次の機能も必要です -アカウントの抽象化。
「抽象」という言葉自体がとても抽象的です。
抽象化自体は比較的専門的な言葉です。 2つの説明があります。 最初のものだけに注意を払う必要があります:いわゆる抽象化はプロセスです。 システムから特殊性を取り除き、システムから一般性と普遍性を創造する。 これは一般化のプロセスです。 特別な設計を取り除き、共通点を見つけることで、システムはより汎用的で、より多くのシナリオに適用できます。
この説明はまだまだかなり抽象的かもしれませんが、皆さんが覚えておかなければならないキーワードは、システムから「特殊性」を取り除き、システム内の共通性をより多く見つけ、デザインに共通性を入れ、「一般性」を生み出すことです。
ブロックチェーンではない例で説明しましょう。 ゲームホールの大型アーケードマシンで遊んだことがあるかもしれません。 この種のマシンを理解すれば、各マシンが実際にゲームに対応していることがわかるでしょう。 アーケードマシンの場合、システム設計はソフトウェアからハードウェアまでの統合設計です。 すべてのデザインは、このゲームという1つの目的を果たします。 別の新しいゲームを作る必要があるときは、別の新しいマシンを設計する必要があるので、アーケードには10台から20台のマシンがあり、それぞれに異なるゲームがあります。
ゲーム業界が今日まで発展するにつれて、最も人気のあるものはもはやアーケードマシンではなく、XBoxのようなより一般的なゲームプラットフォームです。 XBoxは一般的なデザインです。 XBox用のさまざまなゲームを設計できますが、このシステムで実行するさまざまなゲームを購入することしかできません。
したがって、アーケードからXBOXへの一般化プロセスです。 別の見方をすれば、XBox は抽象度の高い設計であり、より多くのシナリオに適用できます。 特定のゲームごとに特別なものが構築されているものはほとんどありません。 このプラットフォームの開発者が詳細を記入して、プラットフォームがさまざまなニーズに適応できるように、これらの特別な詳細がないからこそです。
Nervos CKBに話を戻そう。 CKBパブリックチェーンの2つ目の技術的利点は、アカウントの抽象化です。いわゆるアカウントの抽象化とは、ブロックチェーンアカウント(アドレス)のロック解除ロジックを一般化する機能を指します。
現在、主流のブロックチェーンのロック解除ロジックは、比較的単純で直接的で、プロトコルレベルでハードコードされています。 例えば、BTCやETHの場合、トランザクションの本文と署名に基づいて公開鍵が復元され、その後、公開された鍵は確立されたルールに従ってアドレスに変換されます。 最後に、ロックを解除するアドレスと一致します。 整合性が保たれていればロック解除は成功し、そうでない場合はロック解除は失敗します。
この種のハードコーディングされたロジックは、署名に組み込まれたクライアント関連データや、署名がトランザクション自体に固有ではないなど、より広範な状況に適応できません。 理解を容易にするために、例えてみましょう:主流のブロックチェーンのロック解除ロジックは、一方向にしかアカウントのドアを開けることができない機械式ドアロックのロジックと同じです。
最下位レベルでアカウント抽象化機能を実装する Nervos は、電子ロックを持つことと同等です。 そのロック解除ロジックは、パスワード、指紋、Bluetooth、NFCなどを介して行うことができます。たとえば、電子メールの暗号化を使用してロックを解除し、電子メールの指示に従って契約を実行できます。 最も簡単な例は、電子メールを送信して指定されたアドレス(または別のメールボックス)にCKBを直接送信することであり、プロセス全体に手順は必要ありません。 「ウォレット」の参加が必要です。
これが勘定科目抽象化の利点です。