抽象化のスケーラビリティ
抽象化のスケーラビリティとは何ですか?
抽象化のスケーラビリティとは、プログラミングコンポーネントを新しい開発環境で構成要素として使用できるようにするシステムの全体的な能力の拡大です。開発者がそれらを再構築することなく実行できる重要な操作の数を増やします。」
プログラムまたはネットワークのスケーラビリティについて話すとき、会話はしばしば計算のスケーラビリティ、または高スループットまたは複雑なトランザクションを処理するプロトコルの能力に集中します。ただし、スケーラビリティの別のカテゴリがありますが、それほど定量化できないが、同様に重要な抽象化スケーラビリティです。
その中核では、抽象化のスケーラビリティとは、他の開発者の以前の作業を参照および再利用することにより、開発者がアプリケーションを構築する能力を指します。要するに、抽象化のスケーラビリティは、開発者に「ホイールを再発明する」ことを強制しないことです。
今日のソフトウェアでは、抽象化は、ライブラリ、ツール、オペレーティングシステム、コンパイラー、通訳者、その他多くのコンポーネントの層状エコシステムとして経験されています。
開発者は、既存のプログラムをグループ化することで抽象化の恩恵を受け、より複雑なアプリケーションのビルディングブロックとして機能することができます。開発者はこれらの抽象化自体を書く必要がないだけでなく、必ずしも自分の内部の働きを理解する必要さえありません。彼らは、他の何千人もの開発者がそれらを使用していることを知る自信を持って、特定の抽象化を活用することができます。
執筆の負担や完全に理解することなく、既存のプログラムを組み立てる能力により、開発者は、個別に所有していない知識をより速く、より簡単に構築できます。これにより、アプリケーションのより複雑でカスタムパーツのために時間を留保します。また、それ以外の場合は不可能なソフトウェアを作成することもできます。開発者がより既存の抽象化を活用できるシステムは、より抽象化されたスケーラビリティを備えたシステムです。
従来のソフトウェア環境(Web2)では、抽象化が豊富です。何千もの人気のあるツールとライブラリには、開発者が閲覧して選択できる一般的に使用されるプログラムが満載されています。要するに、Web2は、数十年にわたる開発者アクティビティに起因する抽象化のスケーラビリティから大きな利益をもたらします。
Web3の抽象化スケーラビリティ
Web3は抽象化が完全にはないわけではありません。 SolidityやVyperコンパイラ、ライブラリ、ツール、SDK、その他の開発者リソースなどがすべて例です。しかし、比較的初期の生態系として、Web3には、より確立された開発環境で見られる抽象化の膨大な配列がありません。
本日、Web3開発者は、確立された抽象化の恩恵を受けることなく、オーダーメイドの実行環境で主にテストおよび反復しています。その結果、彼らはしばしば「ゼロから」構築しています。これは、全体的にスケーラブルではないソフトウェア開発をもたらすプロセスです。 Web3ソフトウェアは、より制限されており、安全性が低く、抽象化のスケーラビリティが欠落している場合に書き込みと実行が遅くなります。
スケーリングの抽象化
抽象化スケーリングは、成熟したツールとコードライブラリをタップすることで発生し、開発者が数十年にわたる以前の作業を活用できるようにします。その結果、アプリケーションがより複雑で表現力豊かになる容量が増加します。さらに、抽象化のスケーラビリティによりパフォーマンスとセキュリティが向上し、開発者が十分に戦闘テストおよび洗練されたプログラムから選択できるようになります。
抽象化のスケーラビリティは、開発者がその不在に立ち向かうまではあまり考えられません。 Web3はまだ初期段階にあり、今日の開発者は抽象化の完全な利益なしに進んでいます。 Web3エコシステムが成長し、開発者がますます多くの抽象化を貢献するにつれて、Web3アプリケーションの複雑さ、効率、セキュリティ、および膨大な量の急増を予測できます。
著者:
Gabriel Coutinho de Paulaは、Cartesiエコシステムの貢献者であり、コアテクノロジーとインフラストラクチャを構築しています。彼は2020年にプロジェクトにパートタイムで、2021年にフルタイムでプログラミング言語で修士論文を擁護した後、フルタイムに参加しました。彼は、許可されていない審判トーナメントテクニックに基づいて、Smart ContractsなどのオンチェーンコンポーネントとValidatorノードのようなオフチェーンコンポーネントの両方を作成し、Cartesiの断層防止システムの開発をリードしています。