原文來源:以太坊愛好者
原文作者:Sunil Tom Jose
翻譯&校對:閔敏 & 阿劍
DeFi 運動展現了以太坊生態系統的強大和成熟。但是,雖然用戶體驗不斷提高,錢包和區塊鏈之間依然存在鴻溝,甚至有可能難倒最老練的以太坊用戶。
好在,TokenScript 能夠幫助用戶跨越這一鴻溝。
最近,我試用了一下 Compound。這是一款路人皆知的 DeFi 應用。雖然我是密碼學貨幣用戶,但我不是以太坊開發者。因此,我用最簡單的方式來測試 Compound 的用戶體驗:打開我的 Chrome 瀏覽器,使用 MetaMask 擴展程序來連接我的錢包。
接下來,我通過以下步驟測試 Compound:
1、在 Uniswap 上使用 ETH 買入 WBTC。這種交易方式可以帶來更多收益。這是因爲 Uniswap 這個應用可以讓我直接通過錢包來進行代幣交易。
2、使用 WBTC 在 Compound 上鑄造 cWBTC(Compound 上的原生代幣)。作爲 cWBTC 持有者,我不僅可以隨時贖回 WBTC,還能獲得由此產生的利息。
3、獲得出借 BTC 帶來的收益。
整個測試過程非常流暢。由此可見以太坊錢包和 dApp 的先進程度、智能合約集成方式之間的差異,以及 DeFi 是如何讓中心化服務相形見絀的。而且從頭到尾,我都不需要將密鑰交給第三方。
然而,還有很多信息是缺失的
從信息缺失這點來看,以下幾點嚴重影響了用戶體驗:
1、Metamask 上沒有關於 Uniswap 交易的記錄。我只能看到一個簡單的交易列表。如果我在 Etherscan 上搜索這些交易,或許能找到詳細信息。如果涉及到申報納稅,就有可能出現問題。
2、當我鑄造出 cWBTC 時,我的 MetaMask 中的 WBTC 餘額變成了零。爲了看到我的 cWBTC 餘額,我必須將 cWBTC 合約地址粘貼到一個輸入框中。然後,我發現我持有的 cWBTC 數量大約是我之前持有的 WBTC 數量的 90 倍,這讓我感到很困惑。
3、只要我在 Compound 上借出 WBTC,我就能獲得 COMP 代幣,這就是所謂的「流動性挖礦」。這是個很棒的功能,但是有個問題:哪裏可以查看我獲得的 COMP 代幣?爲了在 MetaMask 上看到我的 COMP 代幣,我又找到了合約地址,將它粘貼到了相關的輸入框中。但是,由於我的賬戶餘額爲零,我必須先取回我的 COMP 代幣。結果,MetaMask 上根本看不到我獲得的 COMP 代幣,即使我提供了智能合約地址。
4、最後,我還是得使用網站。如果 Compound 網站掉線,我就不知道該怎麼辦了。從理論上來說,我持有我所有資金的密鑰,但是我的錢包無法理解相關操作,也不知道我擁有哪些代幣。因此,我只能完全依靠 Compound 網站來解釋區塊鏈上發生的事,然後創建交易。
我很喜歡 DeFi,而且覺得 Compound 很棒。但是,出於種種原因,錢包內部的交易情況不透明是一個重大缺陷。講道理,即使我們有了去中心化和非託管型密碼學錢包,就我個人的感受而言,我依然無法擺脫對中心化服務的依賴。我很清楚自己的感受,一個主要的原因就是:
智能錢包聰明不起來
所有 DeFi dApp 都存在我上文指出的問題。我認爲這些問題的癥結在於,智能錢包的體驗感很笨拙。
那麼,智能錢包應該是什麼樣的呢?
我認爲智能錢包應該:
1、顯示每筆交易的所有相關信息。
2、檢測到我持有 cWBTC 代幣,並解釋 cWBTC 和 WBTC 的數量比爲什麼不是 1:1。
3、顯示我能夠獲得多少利息,已經獲得多少利息,以及是否可以取出我的 COMP 代幣。
4、知道如何創建交易來提供貸款和取回我的 COMP 代幣,並提供執行相關操作的按鈕。
等等。
總之,MetaMask 很傻。
這不是 MetaMask 的錯。MetaMask 是一個很好的錢包。它在很多方面提高了區塊鏈的用戶體驗,能夠很好地將用戶引導到以太坊區塊鏈上。
儘管如此,MetaMask 聰明不起來。它對區塊鏈的理解存在固有侷限性。公平來說,所有智能錢包都是如此。這是因爲區塊鏈和用戶代理之間沒有標準化層。智能錢包就只是錢包。
MetaMask 的開發者需要投入大量人力,才能讓 MetaMask 聰明起來。他們需要爲 MetaMask 定製格式,使其能夠閱讀並理解智能合約,在錢包 UI 中描述這些合約,並制定與這些合約相關的交易方案。
指望錢包開發者來解決所有這些問題,是不現實的。即使他們能這麼做,也會導致 MetaMask 過於龐大,對該應用的性能構成威脅。此外,MetaMask 無法擴展。想象一下,目前已有的代幣和智能合約的數量,以及未來隨着 DeFi 成爲主流而涌現出的新代幣和智能合約。開發者根本無法及時實現一切必需的更改。
我們需要的在區塊鏈和用戶代理之間增加一層,能夠讓智能合約創建者和代幣發行方解釋智能錢包、智能合約和代幣。
TokenScript 剛好可以提供這種透明度。有了 TokenScript,智能錢包就可以取代網站,同時確保流暢的用戶體驗。
TokenScript 是簡單強大的解決方案
簡單來說,TokenScript 是一個帶有 XML 標記的 JavaScript 代碼層。它描述了與代幣相關的屬性、邏輯、操作和用戶界面等要素。
TokenScript 文件由代幣發行方來編寫並簽名。用戶可以在任何地方下載它。我們爲代幣發行方提供了一個 TokenScript 庫,任何網站都可以爲這個庫提供服務,就像任何網站都可以驗證合約創建者的簽名那樣。
TokenScript 還提供了一個通用數據層。這樣一來,假設你持有 10 種代幣,每種代幣都受到以太幣價格的影響,只需查詢一次以太坊區塊鏈即可。
錢包可以存儲 TokenScript,然後使用它們。正如上文所述,TokenScript 是一種簡單強大的解決方案。我們已經在 AlphaWallet 上實現了 TokenScript。可能還有些改進工作要做,但是我們已經取得了巨大的進步。迄今爲止,TokenScript 已經應用到了 FIFA 足球票、跨國汽車公司的數字車鑰匙(即,車主門戶)、主要 DeFi 項目的智能 DeFi 代幣以及其它智能代幣(例如,ENS)上。在我們的 GitHub 庫中,你可以找到一些關於 TokenScript 的應用場景。事實上,我們已經簡單列舉了一些應用場景。
我們真心相信,TokenScript 能夠釋放代幣化和智能合約的潛力。如果你想獲得更多關於 TokenScript 的信息,併爲 Tokenscript 做貢獻,請訪問我們的 GitHub 庫,閱讀概念文件,並瀏覽我們的社區論壇。
歡迎加入律動 BlockBeats 官方社群:
Telegram 訂閱群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方帳號:https://twitter.com/BlockBeatsAsia