ブロックチェーンプロジェクトの使いやすさを機能、経済性、テクノロジーの3つの観点から評価
FlowTimes福洛时代
2021-11-24 09:47
本文约7327字,阅读全文需要约29分钟
使いやすさは、スケーラビリティよりも定量化するのが困難です。

原題: Blockchain Networks and the Human Factor: How to Know If They're Accessible

原作者:

原作者:

- Dapper Labs の CTO である Dieter Shirley は、製品設計、アーキテクチャ コード、および持続可能な開発を監督しています。ブロックチェーン上で最も成功したコレクション ゲームである CryptoKitties を設立しました。

- Dapper Labs のテクニカル コンテンツ マーケティング マネージャーである Benjamin Ebner は、Flow の教育コンテンツの作成を監督しています。

翻訳: Raye、Flow テクノロジー アンバサダー、Cata Labs China 所長。

ブロックチェーン テクノロジーの人気が急速に高まる中、1 秒あたりのトランザクション、トランザクションの遅延、スループットなど、ネットワークのスケーラビリティに関連する技術的なトピックが依然として議論されています。

しかし、消費者エクスペリエンスをより良く構築するために、開発者はシステムパフォーマンス指標の束縛から飛び出し、使いやすさという人的要素にもっと注意を払う必要があります。使いやすさとは、プロの暗号通貨開発者や新規ユーザーがシステムを簡単に使用できるかどうかを意味します。そして、使いやすさもブロックチェーンを真に普及させるための重要な要素です。ユーザビリティデザインに早い段階から取り組んだプロジェクトだけが、長期的には大衆の支持を得ることができます。

最初のレベルのタイトル

スケーラビリティを重視しない

長い間、人々は大規模なアプリケーションに必要な前提条件としてスケーラビリティについて話していました。周知のとおり、2017 年に Dapper Labs は暗号化された猫である CryptoKitties を作成し、初の非同種トークン (NFT) 標準である ERC-721 を導入しました。 CryptoKitties は業界全体に消費者グレードのブロックチェーン アプリケーションの大きな可能性を予告しましたが、同時に当時のイーサリアムの技術的限界に打撃を与えました。

そして、最大の議論はすぐにスケーラビリティになりました。イーサリアムやその他のブロックチェーンは、どのようにしてユーザー数の増加に詰まりを起こさず、より安価に対応できるのでしょうか?

スケーラビリティの問題により、最終的には Flow、Solana、Avalanche、WAX などの若いレイヤー 1 ネットワークと、zkSync、Optimism、Polygon などのレイヤー 2 またはサイドチェーン ソリューションの出現につながりました。 (注: 著者は Flow の発明者である Dapper Labs の出身です。) そしてイーサリアム自体は、シャーディングやさまざまなアップグレードを使用したより高いスケーラビリティに焦点を当てています。

最初のレベルのタイトル

なぜ、誰がユーザビリティを気にする必要があるのか

アクセシビリティとは、ブロックチェーン ネットワークを大衆がスムーズに使用できる能力を指します。ユーザーがプロジェクトのアプリケーション、プロトコル、エコシステムに参加しやすくなればなるほど、ブロックチェーンはより使いやすくなります。使いやすさは、エンド ユーザーだけでなく、開発者、作成者、製品所有者、および Web を操作するその他の関係者にも当てはまります。

使いやすさを考慮すべきなのは誰ですか?ブロックチェーン アプリケーションを構築および管理する開発者、アーキテクト、経営幹部は、ブロックチェーンを選択する際にユーザビリティ分析を実施する必要があります。また、クリエイター、アーティスト、知的財産所有者など、ブロックチェーン エコシステムの既存のサービスを利用する人は誰でも、ネットワーク上の既存の視聴者の規模とサイズを決定するため、特定のプロジェクトの使いやすさを考慮する必要があります。

この 2 つのグループは、ただ数字を競うのではなく、「エコシステムの文化はどのようなものなのか?」という問いに向き合う必要があります。ここではどのような人たちが建物を建てていますか?その上に構築されたプロジェクトによって提供されるデジタル商品とは何ですか?その上で経済はどのように発展するのでしょうか?そして最も重要なことは、それはすべて大衆にとってアクセス可能なものなのかということです。

これらの質問は以下から始める必要があります(1) 機能的 (2) 経済的、および (3) 技術的最初のレベルのタイトル

機能的な使いやすさ - 使えますか?

関数使いやすさ(ユーザビリティとも呼ばれます)ユーザーがプロトコルやアプリケーションを操作する方法が十分にシンプルかつ効率的になるように、シンプルな使用方法のガイダンスと優れたユーザー エクスペリエンスを提供するブロックチェーンとそのエコシステムの機能について説明します。これはあらゆる評価の重要なスタートです。

■ご利用ガイド

すべてのユーザー ジャーニーはオンボーディングから始まります。オンボーディングは、アカウントの作成とリチャージを含む、最初のオンライン トランザクションに至るまでのユーザー インタラクションの最初の段階です。この段階は可能な限り摩擦を少なくし、限られた数のステップのみを必要とし、できれば技術的な障壁がないようにする必要があります。

また、まだ統合されていない一部のサービスにおいて、ユーザーに複雑な手順を要求するガイダンスは、ユーザビリティの悪さを示しています。たとえば、一般的なシナリオは次のとおりです。ユーザーはアプリを登録し、ブラウザのプラグイン ウォレットをダウンロードし、12 文字のニーモニックを書き込み、外部取引所にアクセスして暗号通貨を購入し、取引所が KYC を実行するのを待ち、その後アプリに戻ります。 -認証により、トークンの交換や NFT の購入など、実際にやりたいことを実行できるようになります。これには、3 つの異なるサービスにわたって少なくとも 6 つのステップが必要です。

代わりに、ユーザーが非常に使いやすいエクスペリエンスを得るために、複雑さのほとんどをユーザーから取り除く、適切に統合され合理化されたプロセスがあります。たとえば、ユーザーはアプリとウォレットに同時にサインアップできる一方、iFrame を介して統合された決済プラットフォーム プロバイダーは、アカウントに資金を供給するために外部の取引所にアクセスする必要がありません。

これら 2 つの両極端の間には、ブラウザのプラグインに依存しない (個別のダウンロード プロセスの必要性を排除する) ウォレットや、法定通貨と暗号通貨の支払いチャネルを統合するウォレットなど、これらのプロセスを部分的に組み込んださまざまなアプリケーションやサービスが存在します。

一部のアプリケーションは、ユーザーに代わって秘密キーを管理できます。このカストディアン アーキテクチャは外部ウォレットの必要性を排除することでオンボーディング プロセスの摩擦を軽減できますが、技術的な複雑さと法的要件がより高くなります。これらの影響については、この記事の範囲を超えています。マネージド アーキテクチャを選択するチームは、このモデルのトレードオフについて徹底的に調査する必要があります。

ユーザビリティ分析の良い開始点は、特定のブロックチェーンの最も一般的な 3 つのガイド付きルートを特定し、ユーザーの観点からこれらのシナリオを再作成し、実行された手順を別のファイルに収集することです。ユーザーが選択した特定のアプリケーションまたはウォレットに応じて、単一のプロトコルに複数のオンボーディング エクスペリエンスがあることが多いため、このプロセスはすべての一般的なシナリオとユーザー タイプをカバーする必要があります。

■財布

オンボーディングでは、ユーザーのプロトコルとの最初の対話がカバーされます。日常的に使用する場合、ユーザー トランザクションの署名と送信は非常に重要です。このため、特定のブロックチェーン上で利用可能なウォレット (そのようなトランザクションに必要な) は、使いやすさ分析の重要な部分になります。

すべてのブロックチェーン トランザクションは、デジタル署名を使用して特定のユーザーによって検証される必要があります。これにより、悪意のある行為者による不正なアクションが防止されます。この署名を作成するには、ユーザーの秘密キーが必要です。秘密鍵はこの非常に重要な役割を果たしますが、私たちのメモリ内にだけ存在することはできない(または存在すべきではない)ため、安全かつ便利な方法で保管する必要があります。これはまさにブロックチェーン ウォレットが提供するものですが、多くの場合、トランザクションをネットワークに送信するためのアクセス ポイントも提供します。

機能的に使いやすくするには、ユーザートランザクションの署名が特定のブロックチェーンのウォレットで簡単に実現できる必要があります。ユーザーが外部プラグインをダウンロードしたり、特定のトランザクションに支払う金額のパラメーターを手動で設定したりする必要がある場合、後続の各トランザクションに伴う摩擦がさらに大きくなります。これは、このフレームワークを使用してユーザビリティを分析することは、関連性があり、幅広いものであることを示唆しています。このような総合的なアプローチのみが、特定のチェーンで利用可能なウォレットのユーザー エクスペリエンスを考慮に入れることができます。

最大限の使いやすさを実現するには、ウォレットが使いやすいだけでなく、プロジェクトのエコシステム内のさまざまなアプリケーションで広く受け入れられる必要があります。ユーザーが異なるアプリケーションにアクセスするために複数のプロバイダーから複数のウォレットを設定する必要がある場合、使いやすさのレベルは大幅に低下します。たとえば、NFT マーケットプレイスが、ユーザーが分散型取引所でトークンを取引するために使用するウォレットをサポートしていない場合、ユーザーは基本的に別のウォレット用にマシンを再プログラムし、将来そのアカウントを追跡する必要があります。

この質問はアプリケーション開発に直接関係しています。ほとんどの場合、開発者は新しいウォレットをサポートするためにベンダー固有のコードをアプリケーションに追加する必要があります。これにより、アプリケーション内での複数のウォレットプロバイダーの統合と使いやすさを妨げる技術的なオーバーヘッドが発生します。

■法定通貨決済の入口と出口の経路

一定の割合のユーザーはほぼ暗号通貨エコシステム内でのみ取引を行うことになりますが、大量に導入するには、従来の非暗号通貨ユーザーが暗号通貨の収益をより使い慣れた通貨に簡単に送金できることが必要になります。したがって、機能的な使いやすさには、エンドユーザーがネットワークに価値を預けたり、ネットワークから引き出したりできる容易さも含まれます。これには、法定通貨支払いの入口と出口のチャネルが重要であり、ユーザーがクレジット カードやその他の便利な支払い方法を使用して、一定量の暗号通貨を法定通貨で直接購入できるようになります。もちろん、この目的で外部取引所を使用することもできますが、専用の統合サービスにより、ユーザーは支払いのために特定のアプリを離れる必要がなく、全体的な使いやすさが大幅に向上します。

分析のこの部分の開始点は、主要な中央取引所のネットワーク トークンのリストを大まかにスクリーニングできるようにすることです。その際、特定のネットワーク上のステーブルコインのリストを含めることができます。次のステップは、エコシステムのメインウォレットがこれらのコイン支払いツールを統合しているかどうかを系統的にチェックすることです。これは、一部のユーザーフレンドリーなウォレットにはすでにこれらの機能が統合されているためです。たとえば、マルチチェーンウォレット Blocto は、決済プロバイダーの Moonpay を利用して、ユーザーがクレジット カードなどの簡単な支払い方法をウォレット内で直接使用して暗号通貨をチャージできるようにしています。

最後に、最もよく使用されているいくつかの Web アプリの法定通貨支払いオプションを確認し、サービスを提供するプロバイダーに注意を払うことができます。この包括的な分析により、エンド ユーザーにとってネットワークとの間の価値の流れがどのようにアクセス可能であるかが詳細にわかります。

機能的な使いやすさに関するこれらすべての要素をまとめると、開発者がどのブロックチェーンに構築するかを決定する際に尋ねるべき主な質問は次のとおりです。

  • ブートストラップには平均して何ステップが必要ですか?それらを完了するにはどの程度の知識または技術的背景が必要ですか?

  • ユーザーはトランザクションに署名するために何ステップ必要ですか?また、トランザクションを完了するにはどれくらいの知識や技術的背景が必要ですか?

  • ウォレットの統合はユーザーエクスペリエンスにシームレスであり、アプリケーション全体に普遍的に適用できますか?

  • 最初のレベルのタイトル

手頃な価格の使いやすさ – 買えるでしょうか?

経済的な使いやすさは、プロトコルとその上に構築されたデジタル製品の一般的な手頃な価格に基づいています。

■取引手数料

ブロックチェーンは公共リソースであり、取引手数料によってネットワーク容量の過剰使用が防止され、コモンズの悲劇を回避するのに役立ちます。また、基盤となるネットワークをサービス拒否 (DoS) 攻撃の形式のスパムから保護します。

取引手数料は、たとえば取引を送信するときに必要な梱包手数料の形で固定することも、特定のリクエストの複雑さに応じて増加する動的にすることもできます。最も一般的なブロックチェーン プロトコルは、これらの料金タイプのいずれか、またはそれらの組み合わせを使用します。

トランザクション手数料は、機能性と経済的な使いやすさが重なる部分です。日常的な使用では、トランザクション手数料は誰もが参加できるほど低くなければなりませんが、ネットワークを安定させるのに十分なほど高くなければなりません。また、これらのコストの予測可能性も重要な役割を果たします。取引手数料の予想外の変動性が高い場合、設備の整っていないユーザーはネットワークに取引を送信することを思いとどまることになります。したがって、ユーザビリティ分析では、平均取引価格だけでなく、日々の取引価格の決定の仕組みも考慮する必要があります。

イーサリアムでは、基礎となるトークン (イーサ) の価格変動から手数料を切り離すために、取引手数料はガスと呼ばれる特殊な単位で表されます。各トランザクションについて、ユーザーは 2 つの仕様を含める必要があります: ユーザーが使用してもよいガスの最大量を示すガス制限と、ユーザーがガス単位に対して支払ってもよい価格を示すガス価格です。

ガス制限は、リクエストの計算の複雑さに応じて選択する必要があります。単純なイーサ取引の場合、価値は 21,000 ガスユニット、または現在のガス価格 (2021 年 10 月時点) で約 6 ドルになります。ガス制限の設定が不十分な場合、トランザクションはガスを使い果たし、フォールバックします。

ガス料金は自由に選べます。ただし、ネットワークバリデーターが次のブロックに含めるトランザクションを選択するため、ガス価格が高くなると実行が速くなることがほとんどです。このプロセスは基本的にオークションに似ており、ユーザーは自分のトランザクションが次のブロックに含まれるように入札し、EthGasStation などの一部のサイトはトランザクション価格をターゲットに成長しています。

この取引手数料モデルにはいくつかの問題があります。

  • 需要が高い時期には、オークション スキームにより取引手数料が高騰する可能性があります。たとえば、単純なトークンの送金がイーサリアムのガス手数料として約 50 ドルに相当する時期もありました。

  • ガス価格は急速に変動するため、取引手数料を正確に設定するのは簡単な作業ではありません。最近採用された EIP-1559 価格設定メカニズムと一部のユーザーフレンドリーなウォレットにより、これらの問題の一部が回避される可能性がありますが、複雑なメカニズムによる高額な取引手数料がプロジェクトの一般的な使いやすさを妨げる可能性があります。

レイヤー 1 ブロックチェーン ネットワークとレイヤー 2 ソリューションが通常より高いスループットを提供するため、トランザクション手数料は (ほとんど) 大幅に低くなります。このため、これらのソリューションは多くの場合、より使いやすくなります。ただし、場合によっては、分散性の低下を犠牲にしてスループットの高速化が実現されるため、アプリケーション アーキテクトはトレードオフを厳密に特定する必要があります。

■アプリケーション層製品

取引手数料に加えて、ブロックチェーン プロジェクトのアプリケーション層によって提供される製品には、経済的な使いやすさも関係します。代表的な例は、エコシステム内の NFT 収集品の下限価格インジケーターです。最低価格は収集品の最低価格に似ており、この指標は収集品の評価を分析するために全体の数量 (つまり、すべての収集品の価格の合計) と一緒によく使用されます。

高い最低価格は、実際には富裕層のみが参入できる高冷のエコシステムを構築し、実際のコミュニティ構築を妨げ、それによって将来的に広範に適用される可能性を減らします。膨大なトランザクション量は確かにブロックチェーンにとって良いことですが、その数字が何を意味するのかを理解するには、常にさらに遠くまで目を向ける必要があります。もし膨大なトランザクション量のほとんどが高い下限価格を伴うのであれば、少数の裕福なユーザーだけがブロックチェーンを推進している可能性があります。生態系の経済活動。

NFT の所有権が多数の所有者に分割される、シャード NFT の概念について議論する人もいるかもしれません。この概念は、長期的には上記の問題も回避します。ただし、これにはエンジニアリングのオーバーヘッド、ユーザーにとっての複雑さの増大、法的な明確さの欠如という代償が伴います。

■ 実行ノード

最後に、ノードオペレーター (ブロックチェーンを維持および検証するバリデーター) にとって、経済的なアクセスのしやすさも懸念事項です。ネットワークノードの運用がハードウェア要件と最低保証金額(プルーフ・オブ・ステークを使用するネットワークの場合)の観点から実行可能である場合にのみ、十分な数のバリデーターがネットワークに参加するよう動機付けられ、その場合にのみネットワークノードのネットワークノードの動作を保証できます。分散化と完全性。

ビットコインとイーサリアムはどちらも多数のノード オペレーターを擁するネットワークであり、これはプロトコルの信頼性とセキュリティが良好なレベルにあることを物語っています。ただし、ユーザビリティの分析には、より差別化された視点が必要です。たとえば、ビットコインノードを実行するための要件はかなり低いですが、大量のブロックが個々のマイナーではなく、専用の機器を備えたプールによってマイニングされるため、独自のビットコインノードを実行することはあまり現実的ではなく、使いやすいものでもありません。

イーサリアムの設計では特殊な機器の使用がほとんど禁止されていますが、マイニングは依然としてビットコインよりもはるかに高いハードウェア要件を備えた集中プールで行われます。イーサリアムはビットコインよりもはるかに多くのデータを保存するため、新しいノードがその量に追いつくまでにかなり長い時間がかかります。現在、完全なイーサリアム ノードをセットアップするには約 17 時間かかります。時間とハードウェア リソースにコストがかかるため、これらの要因により、ノード オペレータにとってこれらのプロトコルの経済的な使いやすさが低下します。

代替手段を探すときは、ノードオペレーターの他の非技術的要因にも細心の注意を払う必要があります。たとえば、ネットワークがノード オペレータとしての資格を誰が持つかについて恒久的な規則や規制を設けることを計画しており、その基準を満たさないオペレータが協定にアクセスできないようにする場合、これはネットワークの分散化が進んでいないことを示す可能性があります。

経済分析における重要な質問:

  • 平均取引手数料はどれくらいですか? ユーザーは事前にそれを予測できますか?

  • このプロジェクトのアプリケーション層によって一次市場および二次市場で提供される人気製品の下限価格はいくらですか?

  • 最初のレベルのタイトル

技術的な使いやすさ - その上にアプリケーションを構築できますか?

技術的な使いやすさは、開発者が特定のチェーン上でアプリケーションを構築するのがいかに簡単かを表します。この概念は、開発者エンジニアリングとも呼ばれます。

■ プログラミングの概念

チームがブロックチェーン対応製品を迅速に作成できるかどうかは、プロジェクトの技術的な使いやすさに大きく依存します。最初に確認すべきことは、一般的なプログラミングの概念です。それらをかなり早く理解できる場合にのみ、開発者はそれらを理解してすぐに構築を開始できます。理想的には、プログラミング パラダイムは、開発者を参加させるために既存のテクノロジーに根ざしています。

良い出発点は、ブロックチェーンの主要なクライアント実装を分析することです。ブロックチェーン クライアントは、プロトコルの言語固有の実装であり、簡単に言えば、ブロックチェーンを強化するためにノード管理者によって実行される実際のプログラムです。一部のブロックチェーンにはさらに多くの実装がある場合があり、これは一般に使いやすさの良い指標となりますが、より重要なのは、最も一般的に使用されるクライアント開発言語です。 C++、Golang、Rust、Python など、かなりの数の開発者の既存の知識を想定できる、よく知られ、使用され、保守されている言語であることを確認してください。これにより、これらのクライアントの継続的な開発とメンテナンスの可能性が保証されます。

次に考慮すべき重要な点は、スマート コントラクト プログラミング言語です。 Solana などの一部のブロックチェーンは既存の言語 (Rust および C++) を使用しますが、イーサリアム (Solidity) や Flow (Cadence) などの他のネットワークは独自の言語を作成しています。もちろん、本格的な言語を使用することは、経験豊富なプログラマにとっては便利ですが、初心者にとっては、汎用プログラミング言語全体の詳細をすべて学習することが犠牲になる可能性があり、低レベルのプログラマにとってはそれが困難です。 C++ のような言語ですが、時間がかかると言えます。ここでは、スマート コントラクト プログラミングを念頭に置いて設計された新しい軽量言語を選択する方が簡単かもしれません。

新しいプログラミング言語の場合は、その言語を分析して、よく知られ確立されたプログラミング概念とパラダイムが存在するかどうかを確認します。たとえば、Solidity は JavaScript と Java から大きく影響を受けていますが、Cadence は Swift と Rust から多くの概念を借用しています。

また、言語が開発者にどのような抽象化を提供するかについても考慮してください。基礎となるプロトコルと同様に、言語はセキュリティやカスタマイズ性を犠牲にすることなく、開発者から複雑さを可能な限り抽象化する必要があります。たとえば、Cadence は新しいリソース データ モデルを使用して数値の処理ルールを自動的に指定しますが、Solidity ではこれらの低レベルのチェックを手動で実装する必要があります。

最後に、学習教材、ドキュメント、参照サンプルが十分に確立されており、これらすべての分野ですぐに利用できることを確認してください。プログラミング概念の使いやすさを評価するには、技術的な詳細に暗黙的に含まれる微妙な点やトレードオフを考慮する必要があります。

■ツール

開発者がアプリケーションを迅速、安全、簡単に構築するには、優れたツールキットが最も重要です。専用ツールでは解決できない問題が頻繁に発生する場合、開発者自身がこれらの問題に対処する必要があるため、技術的な使いやすさのレベルが低いことを示しています。

ソフトウェア開発キット (SDK) はおそらく、これらのツールの中で最も重要です。 SDK は、プロトコルの基礎となるプロセスに言語固有の抽象化レイヤーを提供し、認証、ステータスのクエリと更新、イベントのリッスンなどの対話を簡素化します。すべての一般的なプログラミング言語の SDK を確認すると、プロジェクトが技術的に使いやすいことがわかります。

SDK に加えて、開発者のオンボーディングと日常の開発プロセスを大幅に簡素化できるツールが多数あります。テキスト エディター (IDE) の拡張機能、テスト フレームワーク、および特定のブロックチェーン上でのアプリケーションの開発をより簡単に、より速く、最終的にはアクセスしやすくする自動化、デプロイ、デバッグ用のその他のツールの存在を確認します。

テクニカル分析に関する重要な質問:

  • プロジェクトのプログラミング概念は習得しやすいですか?迅速、安全、効率的な開発が可能になるでしょうか?

  • 十分な教材や参考コードはありますか?ベスト プラクティスやパターンなどのより高いレベルの概念もカバーされていますか?

  • 最も一般的な質問に対応する開発者ツールはありますか?メインプロジェクトのツールとソースコードはすべてオープンソースですか?

前述の要素に加えて、一般の聴衆が特定のブロックチェーン プロジェクトの一般的な概念をどの程度理解しているかなど、概念の点での使いやすさを示すあまり明白ではない指標など、その他の考慮事項もあります。ユーザーが最初にかなりの新しい知識を取得することなく、すぐにその領域に入ることができれば、使いやすさは向上します。この点において、エンドユーザー向けの教育資料や、専門用語や専門用語を避けたアクセスしやすい言語の存在は非常に有益ですが、広範なエコシステムでは分析が難しい場合があります。

いずれにせよ、ブロックチェーンの使いやすさは後から追加できるものではなく、プロジェクトの DNA に組み込まれる必要があります。最初にプロトコルの内部動作を概略的に説明するときは、特に技術的な使いやすさを考慮する必要があります。

スケーラビリティだけでなく使いやすさがなければ、本格的に普及することはありません。

FlowTimes福洛时代
作者文库