作者:Shirley 、Benjamin Ebner
原標題:《Blockchain Networks and the Human Factor: How to Know Whether They're Accessible》
編譯:董一鳴,鏈捕手
隨著區塊鏈技術迅速獲得廣大觀眾的關注,對話仍然集中在像每秒交易量、延遲性以及吞吐量這種網絡的可擴展性的技術話題上。
為了成功構建消費者層面的體驗,開發者必須跳脫出只對性能指標進行考量的思路,要更多的考慮與用戶相關的因素:比如可訪問性(是否易於採用與使用),對於加密開發專家和新用戶來說是非常重要的性能。從長遠來看,只有那些早期致力於發展可訪問性的項目才能贏得大眾的喜愛。
可訪問性這一性能比可擴展性更難量化。本文提供了一個系統框架供組織和個人者使用,以可靠地衡量和評估區塊鏈項目的可訪問性。
1
對超越可擴展性的思考
長時間以來我們都在說,可擴展性是區塊鏈應用被大規模採用的必要前提。我們明白:2017 年時,Dapper Labs 創建了CryptoKitties——可收藏的數字貓,這也因此引入了第一個非同質代幣(NFT) 標準——ERC-721。雖然CryptoKitties 預示了消費級區塊鏈應用在整個行業的巨大潛力,但它也為當時以太坊的技術局限性提供了證明。
最大的爭論很快就變成了區塊鏈應用的可擴展性問題——以太坊和其他區塊鏈如何在不陷入困境或使用成本過高的前提下容納越來越多的用戶?
可擴展性問題使一批更年輕的第1 層區塊鏈湧現,如Flow、Solana、Avalanche 和WAX。以及像zkSync、Optimism 或Polygon 之類的第2 層或側鏈解決方案也紛紛出現。以太坊本身專注於使用分片和各種升級而達到更高的可擴展性。
但被大規模用戶採用不僅僅是關於可擴展性的問題。下面,我們藉鑑從CryptoKitties 和構建Flow 中吸取的經驗教訓,來分享一個框架。這個框架可以幫助構建者在不考慮底層協議或應用程序本身的前提下,只專注於應用的可訪問性。
2
可訪問性的原因和對象
可訪問性描述了區塊鍊網絡可以以無摩擦的方式被大量不同實體使用的能力。用戶參與項目的應用程序、協議或生態系統越容易,給定區塊鏈的可訪問性就越高。可訪問性不僅適用於終端用戶,還適用於開發人員、創建者、產品所有者以及與網絡交互的任何其他人員。
誰應該考慮可訪問性?積極構建和管理支持區塊鏈的應用程序的開發人員、架構師和高管在選擇要構建的區塊鏈時應進行可訪問性分析。任何利用區塊鏈生態系統現有服務的人——創作者、藝術家和知識產權持有者也都應該考慮給定項目的可訪問性,因為它將決定網絡上現有受眾的規模和特徵。
這兩個群體都需要提出正確的問題:“這個生態系統的文化是什麼樣的?”“什麼樣的人會在這裡建項目?”,“建立在其上的項目提供了哪些數字商品,以及圍繞它的經濟將如何發展?”,最重要的是,“這一切都適合大眾嗎?”,而不是單純地只玩數字遊戲。
回答這些問題的角度應該從1) 功能、2) 經濟和3) 技術三個方面出發,得到了我們希望得到的框架,供希望獲得主流認同的加密行業建設者使用。
二、功能的可訪問性——你會用麼?
功能的可訪問性(也稱為可用性),描述的是一個區塊鏈的能力及其生態系統是否可以讓用戶有輕鬆入門的使用體驗,以便用戶與協議或應用程序的交互可以以簡單有效的方式進行----這是評估任何一個項目的一個很好的起點。
1、新用戶引導流程
所有用戶的旅程都是從新用戶引導流程開始的:用戶交互的第一階段包括賬戶的設置、給賬戶注入資本、直到第一次的網絡交易。這個階段應該盡可能的做到無摩擦,用戶只需要有限數量的步驟即可操作完成(最好不需要用戶有技術專長)。
冗長的新用戶指南會有過多的步驟,這就代表了可訪問性差。例如,用戶註冊應用程序、下載瀏覽器插件錢包、寫下12個單詞的助記詞、訪問外部交易所購買加密貨幣、等待交易所執行KYC(Know-Your-customer的縮寫,了解你的客戶)的檢查,返回應用程序進行重新身份驗證,然後才能繼續執行所需的操作,例如交換代幣或購買NFT。這個過程至少需要跨越三種不同的服務商進行六個操作步驟才能完成整個操作流程。
另一方面,也有項目會有非常整合和精簡的流程,它們將用戶從大部分複雜步驟抽離出來,使用戶有了高度的“可訪問性”體驗。如果用戶可以在註冊應用程序的同時獲得一個加密錢包,這就是一個整合度非常高的,精簡後的註冊流程。而使用通過iFrame(iframe標籤,一般用於包含別的頁面,可以用於形成一個整合的支付入口),也可以消除了用戶訪問外部交易所來為賬戶注入資金的需要。
在這兩個極端之間,有多種應用程序和服務會包含其中一部分過程。例如有些應用或服務不必依賴於瀏覽器插件錢包(消除對單獨下載過程的需要)或整合了部分法幣兌換加密貨幣的支付入口。
一些應用程序代表用戶管理他們的私鑰。雖然這種託管架構可以消除對外部錢包的需求來減少對新用戶引導過程中的摩擦,但它是以更高的技術複雜性和法律要求為代價的。這些影響超出了本文的範圍,選擇託管架構的團隊應該對該模型進行徹底的研究以權衡利弊。
確定特定區塊鏈的三種最常見的入門路線是對可訪問性進行分析的一個很好的起點。我們需要從用戶的角度重新創建這些場景,並將所用的步驟收集到單獨的文檔中。由於單個協議通常有多種入門體驗(取決於用戶選擇的特定應用程序以及錢包),此過程應涵蓋所有常見場景和用戶類型。
2)錢包
新用戶引導流程包括一個用戶與該區塊鏈協議的交互。對於日常使用來說,用戶交易的簽名與提交至關重要。出於這個原因,分析這個區塊鏈上可用的錢包(此類交易所必須的)是分析該應用的可訪問性的非常重要的方法。
任何區塊鏈交易都需要由給定用戶使用數字簽名進行驗證——這可以防止惡意行為者進行未經授權的操作。為了創建這個簽名,需要用戶的私鑰。因為私鑰扮演著這個非常重要的角色,但不能(或者說不應該)單獨存在於我們的記憶庫中,所以它們需要以一種安全而方便的方式存儲。這正是區塊鏈錢包提供的功能。同時,錢包通常還提供了一個將交易發送到網絡的訪問點。
為了在功能上可訪問,必須使用給定區塊鏈的可用錢包輕鬆實現用戶交易的簽名。如果用戶必須下載外部插件或手動設置他們願意為給定交易支付多少費用的參數,那麼隨後的每筆交易都會涉及更多的摩擦。
為了獲得最大的可訪問性,錢包不僅應該易於使用,還應該被項目生態系統中的各種應用程序廣泛接受。如果用戶需要設置多個提供商的多個錢包來訪問不同的應用程序,則可訪問性水平大大降低。例如,如果NFT 市場不支持用戶在去中心化交易所交易代幣的錢包,則用戶本質上需要為另一個錢包再次進行註冊並在未來跟踪該帳戶。
這個問題與應用程序的開發直接相關:在大多數情況下,開發人員需要將可用於特定供應商的代碼添加到他們的應用程序中以支持一個新錢包。這會產生技術開銷並減慢跨應用程序的多個錢包提供商的集合度與和可用性。
3)法幣支付的進出通道
雖然部分用戶幾乎完全在加密生態系統內進行交易,但被大規模的用戶採用將要求不熟悉加密貨幣的用戶能輕鬆地將加密收入轉移到更熟悉的貨幣中。因此,功能可訪問性還包括終端用戶從網絡中存入或提取價值的難易程度---法幣支付進出通道對此至關重要。允許用戶使用信用卡或其他方便的支付方式直接用法定貨幣購買一定數量的加密貨幣對提高可訪問性非常重要。
雖然使用外部交易平台也可以達到交換貨幣的目的,但專用的集成服務確保用戶不必離開給定的應用程序就能進入支付入口,這大大提高了該應用的可訪問性。
一個很好的分析起點是粗略篩選網絡代幣在主要中心化交易所的列表。這樣做時,您可能希望將給定網絡上可用的穩定幣列表也包含進去。下一步是系統地檢查生態系統中主要錢包的集成入口工具,一些用戶友好的錢包已經集成了這些功能。例如,多鏈錢包Blocto 利用支付入口供應商Moonpay來允許用戶使用信用卡等簡單的支付方式直接在錢包中充值他們的加密貨幣。
最後,你可以檢查網絡中一些最常用的,提供法定貨幣支付入口選項的應用程序,並註意提供該服務的供應商。這種綜合分析將詳細的展示出終端用戶可以從使用該網絡中得到多少價值。
總結一下所有關於功能可訪問性的元素,這些是開發人員在決定該在哪個區塊鏈上構建應用時應該問自己的主要問題:
新人引導流程平均包括多少個步驟?完成它們需要多少先前的知識或技術專長?用戶簽署交易需要採取多少步驟?完成這些步驟需要多少先驗知識或技術專長?集合錢包是否與用戶體驗無縫銜接?它們是否普遍適用於各種應用程序?用戶在鏈上轉法幣需要幾步?是否存在法幣支付進出匝道?項目的區塊鏈原生代幣和穩定幣在中心化交易所的上市情況如何?
3
經濟上的可訪問性——你能負擔的起嗎?
經濟上的可訪問性基於協議和建立在協議之上的數字產品的普遍可負擔性。
交易費:
區塊鍊是公共資源,交易費用可以防止過度使用其網絡容量,有助於避免大眾的悲劇。它們還能保護底層網絡免受Denial-of-Service(DoS,阻斷服務)攻擊形式的垃圾郵件的侵害。
交易費用可以是固定的,例如在提交交易時以已包含費用的形式出現。或者它們也可以是動態的,隨著給定請求的複雜性而增加。大多數流行的區塊鏈協議使用這些費用的類型之一或它們的組合。
交易費用是功能和經濟可訪問性重疊的地方。在日常使用中,交易費用既要低到每個人都能參與,又要高到能保證網絡的穩定性。此外,這些費用的可預測性也很重要:如果交易費用存在不可預見的高度波動,這將阻止裝備不足的用戶向網絡發送交易。因此,任何可訪問性分析不僅需要考慮平均交易價格,還需要考慮日常確定這些價格的機制。
雖然用戶可以自由選擇Gas價格,但由於網絡驗證者需要選擇他們想要在下一個區塊中包含哪些交易,更高的Gas 價格通常會被更快的執行。這個過程本質上類似於拍賣,用戶為他們的交易競標。而像EthGasStation 這樣的整個網站已經發展為以交易定價為目的的平台。
這種交易費模型隱含了幾個問題:
這種拍賣模式之下,當人們需求旺盛的時候,可能會導致交易費用飛漲。例如,有時在以太坊上,一次簡單的代幣轉賬就會產生大約50 美元的Gas費用。
由於Gas價格波動很快,因此正確定價交易費用是一個非常重要的過程。雖然最近採用的EIP-1559定價機制和一些用戶友好的錢包可能會規避其中的一些問題,但有復雜機制的高交易費用可能會阻礙項目的普遍可訪問性。由於第1 層的區塊鍊和第2 層的解決方案通常提供更高的吞吐量,因此交易費用(大部分)也顯著更低。
這正是這些解決方案通常具有更高可訪問性的原因。然而,應用程序架構師必須仔細權衡利弊,因為在某些情況下更快的吞吐量是以降低去中心化程度為代價的。
應用層的產品:
除了交易費用,經濟層面的可訪問性程度還涉及區塊鏈項目應用層上提供的產品。一個重要的例子是給定生態系統上流行的NFT藏品的底價。底價類似於收藏品的最低價格,該指標經常與NFT藏品的總量(即所有收藏品價格的總和)結合使用,以分析收藏品的估值。
高底價會創造一個人跡罕至的生態系統,只有經濟精英才能進入,這會阻礙真正的社區建設也因此減少了未來被大規模採用的機會。雖然總體價值很高對於區塊鏈來說絕對是件好事,但如果大量的交易大多伴隨著高底價,那麼很可能只有少數富有的用戶才能推動生態系統中的經濟活動。
有些人可能會爭辯說,分割NFTs(NFT s的所有權在許多所有者之間分割)的這個概念從長遠來看將規避這個問題。然而,這是以增加工程開銷、增加用戶複雜性和缺乏法律認定為代價的。
運行的節點:
最後,經濟可訪問性也是節點運營商(保護和驗證區塊鏈的驗證者)關注的問題。只有當網絡節點在達到硬件要求和最小質押量(在權益證明網絡中)的前提下是可運行的,才會激勵足夠數量的驗證者參與網絡,只有這樣它的去中心化和完整性才能被保障。
比特幣和以太坊都是擁有大量節點運營商的網絡,這說明它們協議的可靠性和安全性水平很高。但是,對可訪問性的分析必須採取更加差異化的觀點。例如,運行比特幣節點的要求相當低,但不成比例的大量區塊是由有專業設備的礦池而不是由個體礦工開采的,這使得某人運行自己的比特幣節點變得不太可行且不易訪問。
雖然以太坊的設計在很大程度上阻止了專業設備的使用,但挖礦仍然發生在集中式礦池中,硬件要求也明顯比挖比特幣的硬件要求。由於以太坊存儲的數據比比特幣多得多,因此新節點需要更長的時間來補上這些數據——現如今,建立一個完整的以太坊節點大約需要17 個小時。由於時間和硬件資源都是有成本的,這使得節點運營商在經濟層面的可訪問性降低了。
在尋找替代方案時,還應密切關注節點運營商的其他非技術因素。例如,如果一個網絡計劃對誰有資格成為節點運營商施加永久的規則,這會使那些不滿足這些標準的運營商無法訪問該協議,這將導致網絡去中心化程度變低。
對經濟的分析有幾個關鍵的問題:
平均交易費用最高能到多高,用戶又可以提前預測到多少呢?在一二級市場上,項目應用層的熱門產品的底價有多少?誰是協議整體交易量背後的主要驅動者?他們是否是少量的大型機構?還是一大群價值較小的交易者?對節點運營商的硬件要求和最低權益餘額有多苛刻?
4
技術的可訪問性? ——你可以在鏈上開發應用嗎?
技術可訪問性描述了開發人員在給定鏈上構建應用程序的難易程度。這個概念也被稱為開發人員工效學。
編程的概念
一個團隊快速發布支持區塊鏈的產品的能力在很大程度上取決於項目的技術可訪問性狀態。首先要檢查的是一般的編程概念:只有能夠合理快速地理解它們,開發人員才能掌握它們並開始快速構建。理想情況下,編程範式植根於預先存在的技術,以簡化開發人員的上手流程。
一個好的方法是分析區塊鏈的主要客戶端的操作。區塊鏈客戶端是對協議中特定語言的實施方案,或者簡單地說,是節點運營商為了掌控區塊鏈而運行的實際程序。一些區塊鏈可能有更多的實施方案,通常這也代表更高程度的可訪問性;然而,更重要的其實是客戶端最常用語言。首先要確保這是一種廣為人知的、可被使用和維護的語言,例如C++、Golang、Rust或Python。這將保證這些客戶端被持續開發和維護的可能性。
下一個重要的考量是智能合約的編程語言。 Solana 等一些區塊鏈使用現有的語言比如Rust 和C++,而以太坊(Solidity)或Flow(Cadence)等其他網絡已經創建了自己的語言。當然,使用有開發者的已建立的語言可以使開發人員更容易上手了,然而,對於新手來說,這可能要以學習一門通用編程語言的所有細節為代價,學習像C++ 這樣低等級的語言來說尤其耗時。因此,學習一種在設計時就考慮到是為了智能合約編程做準備的的輕量級新語言可能更容易。
對於新的編程語言,要分析該語言是否存在眾所周知的、已建立的編程概念和範式。例如,Solidity 深受JavaScript 和Java 的啟發,而Cadence 則藉鑑了Swift 和Rust 的許多概念。
此外,請考慮語言為其開發人員提供了多少抽象概念。就像底層協議一樣,在不犧牲安全性或可定制性的前提下,語言對於開發者來說應該盡可能的簡潔。例如,Cadence 使用新的資源數據模型自動對數字價值的處理施加規則,而Solidity需要手動實施這些低級檢查。
最後,要確保所用編程語言的權威性,需要參考相關教育材料或文檔並提供實施參考。它們也要易於訪問的。
工具
一套好的工具對於開發人員來說至關重要,能方便他們快速、安全和輕鬆地構建應用程序。如果存在專用工具未涵蓋的常見問題,則表明技術可訪問性水平較差,因為開發人員必須自己處理這些問題了。
軟件開發工具包(SDKs) 可以說是這些工具中最重要的。 SDKs為協議的底層進程提供了一個抽象特定語言的層,它們簡化瞭如身份驗證、查詢、改變狀態、監聽發生的事件等這些交互操作。如果所有流行編程語言都有SDKs,那這說明給定項目的技術可訪問性很高。
除了SDKs之外,還有許多工具可以極大地簡化開發人員入門流程和日常開發。我們要檢查文本編輯器(IDE)、測試框架和其他用於自動化、建設和調試工具的擴展是否存在,這些工具使在給定區塊鏈上開發應用程序更簡單、更快、更易於訪問。
技術分析的關鍵問題
項目的編程概念是否容易學習?它們是否允許快速、安全和高效的開發?是否有足夠的教育材料和參考代碼?是否也涵蓋了諸如最佳實踐和模式之類的高級概念?開發人員工具是否可用於解決最常見的問題?這些工具,以及主項目的源代碼,都是開源的嗎?
除了上述考慮因素之外,還有其他一些考慮因素,例如普通用戶對給定區塊鏈項目的一般概念的理解程度。如果用戶無需先學習大量新知識即可快速進入空間,則可訪問性會得到提升。在這方面,面向終端用戶的、避免使用技術術語和行話的可訪問語言的存在是非常有益的,但很難在廣泛的生態系統中進行分析。
無論如何,區塊鏈可訪問性不是可以在以後添加的好東西,而是需要植根於項目的DNA中。特別是對於技術可訪問性,必須在一開始勾勒協議的內部工作原理時進行考慮。
沒有可訪問性——不僅僅是可擴展性——區塊鏈就不會被大規模採用。