Algorand 創始人 Sivlio Micali 提出在第一層實施可替換通證和原子多方傳輸的方案,目標是解決第二層擴容方案中存在的智能合約複雜性問題。

原文標題:《Algorand 公鏈的第 1 層創新策略 (第 1 部分): 可替換通證和原子多方傳輸》(Algorand’s Layer-1 Strategy (Part 1): Fungible Tokens and Atomic Multi-Party Transfers
作者:Sivlio Micali,Algorand 創始人
授權翻譯與補充:Future 小哥哥
最終審覈與修訂:陳婧,Algorand 首席科學家

自從 Algorand 主網上線以來,我們非常激動地看到 Algorand 生態系統的發展,人們使用 Algorand 的衆多不同的方式,以及大家對開源平臺的許多想法和貢獻。Algorand 開發者社區繼續在全球擴展,參與了大量的論壇、會議和黑客馬拉松。隨着各個重點企業開始在平臺上進行開發,以體現其前所未有的性能水平,Algorand 平臺的使用正在迅速增加。

相應的,Algo 通證的應用也在擴展。在本文中,Algorand 創始人 Silvio Micali 分享了 Algorand 接下來在協議方面的創新內容,,以支持這些功能強大、多樣化的新用例、通證和資產。特別是 Algorand 在第一層實現可替換通證和原子多方傳輸的策略。

得益於 Algorand 協議獨特的安全性、可擴展性和去中心化特性,Algorand 公鏈在平均不到 5 秒的時間內就可以生成一個區塊,並且所有交易都是立即被最終確認的。這些基礎特性已經吸引了社區中的很多人以不同的方式來體驗 Algorand 的技術。

我們看到的一個常見用例是使用協議創建新的通證和資產,包括各種各樣的通證化資產,如衍生品、期權、掉期、證券等等。最近 Algorand 宣佈加入 ISDA (isda.org,國際掉期與衍生工具協會),正是爲了使用戶能夠在衆多現有的資產類型上靈活地創建交易模板和資產。

在其他鏈上,創建這些新資產需要智能合約或其他第二層(Layer-2)的方法。這引發了大量的創新方案,但同時也帶來了安全性、效率和可擴展性的問題。此外,我們也注意到了許多其他的用例,對它們來說基於智能合約的實現方式過於複雜了。

Algorand 致力於不斷的爲開源社區做貢獻,在此我們用兩個新的功能來消除第二層 Layer-2 方法上的缺點。

這些新功能都是在第一層實現的。它們是 :

1. 創建新的可替換通證

2. 實現原子多方傳輸 a *tomic *m ulti- *p *arty *t *ransfers(AMPTs),我們將稍後解釋這個新的構造。

通過在區塊鏈的第一層得以實現,這兩個功能都將成爲 Algorand 共識協議的一部分,並且非常安全、高效和易於使用。

在 Layer-1 實現的好處 :

在通用的區塊鏈術語中,第 1 層是處理基本支付和共識的協議,而第 2 層包括智能合約和與生成新的區塊沒有直接聯繫的任何其他功能。

Algorand 選擇在第一層實現核心功能主要有三個原因 :

1. 安全性

在第 1 層實現的任何功能都享有最高級別的安全性 : 即共識協議本身的安全性。我們的第一層交易是由專家設計和證明,經過全面徹底地測試,經過第三方審計驗證,並由世界各地的貢獻者進行檢查。針對第 1 層的任何資產的攻擊向量,如雙花、拒絕服務攻擊等等,面對的都是跟 Algo 本身,即 Algorand 公鏈的原生通證,相同的安全機制。

2. 兼容性

所有區塊鏈參與者對第一層功能的釋義都是一樣的。確實,儘管核心共識協議可以以去中心化的共識方式進行擴展,所有參與的軟件都使用相同的協議。這可以促進兼容性。如果兩個用戶使用相同的第一層實現來創建他們自己的可替換通證,那麼爲一個通證開發的應用程序也可以爲另一個通證工作。

相反,如果兩個用戶通過兩個單獨設計的智能合約來創建他們的可替換通證,那麼這兩個設計可能會有細微的差別,爲其中一個通證開發的 DApp 可能無法爲另一個工作。

3. 效率

在第 1 層實現的核心功能可以直接通過系統來優化其在計算、存儲、通信等方面的性能。相比之下,依賴虛擬機和其他第二層設備通常會導致不必要的複雜性和成本消耗。

需要指出的是 : 並不是所有的新功能都適合在第 1 層實現。特別是,在第 1 層中實現的任何功能都必須不能顯著降低共識協議的速度 ; 需要考慮它是否重要到應該在平臺中獲得這樣的地位,並且應該以一種能夠簡化正確性驗證的方式來設計。

第 1 層可替換通證 fungible tokens

通證是可替換的,如果它的任何兩個單位是可互換的。可替換通證的一個典型的例子就是貨幣,因爲任何兩個單位都具有相同的購買力。另一個可以是「忠誠度計劃中」的「積分 Points」,或者是一個股票的單位 1

1 相比之下,在一組不可替換的通證中,兩個通證可以彼此非常不同,並且可以非常不同地估值。想想同一棟大樓裏的公寓,每個公寓都有自己的戶型和光照。

Algorand 允許用戶生成自己的可替換通證,從而成爲這些通證的管理者:

通證管理者可以 :

● 生成有一定供應量的新的通證
● 增加新通證的流通供應量
● 凍結指定賬戶中的通證 (該通證由該管理者生成)
● 將管理者權限轉移給新的通證管理者。

這些屬性類似於 Ethereum 的 ERC-20 通證所包含的屬性。然而,在 Algorand 中,這些屬性是在 第 1 層實現的,而不是像在 Ethereum 中那樣通過第二層的智能合約來實現的

當可替換通證被用於發行一種新貨幣時,在第一層實現尤其有價值。如果一種貨幣是通過智能合約發行的,合約中出現的最微小的錯誤,或者將現有的應用程序用於新貨幣時最微小的兼容性問題,都可能,並且已經在現實中的很多情況下,造成很大的損失。

第一層原子多方傳輸 ATOMIC MULTI-PARTY TRANSFERS

Algorand 允許多個用戶通過一次鏈上交易來執行所有需要的傳輸,這些用戶可能持有不同的可替換通證,並且已經協商好了這些通證的一組傳輸。也就是說 , 如果:

● T1、T2、……可能是不同的可替換通證,包括 Algo
● a、b、……可能是不同的用戶
● a 向 b 傳輸 x1 單位的 T1; c 轉給 d x2 單位的 T2; 等等,每個都是有效轉賬 ;

然後,在每個用戶對自己的傳輸進行數字簽名之後,或者

(1) 在給定的時間內沒有任何一個被執行,或者
(2) 所有轉賬都被執行了。

也就是說,AMPT 保證同時執行各種可替換通證的多次傳輸。同時性是一種非常寶貴的屬性,但迄今爲止一直難以實現。考慮上面的這組傳輸。用戶 a 可以單獨向用戶 b 傳輸 x1 單位 T1 通證。但是,在完成了她的轉移之後,用戶 a 對 b 和所有其他用戶也將執行他們自己承諾的傳輸其實並沒有信心。這解釋了爲什麼通常使用智能合約來確保 AMPT 的全有或全無特性。但是智能合約是不太好用,容易出錯的,代價比較高的第二層結構。因此,Algorand 在第 1 層實現了 AMPT。

AMPT 的使用案例很多。這裏僅先列舉 5 個:

例 1: 雙邊交換

假設 USDX 是 Algorand 區塊鏈上由美元支持的穩定幣。假設 a 是一個擁有足夠多 Algo 的用戶,b 是一個擁有足夠多 USDX 的用戶。AMPT 使得 b 和 a 能夠交易——比方說——用 1500 USDX 兌換 1000 Algo。

這樣的交換是直接的、無中介的。如果雙方都確實擁有交易涉及的通證數量(a 有至少 1000 個 Algo,b 有至少 1500 個 USDX),通過原子性地在下一個塊中發佈正確的數據,雙方的交換在 5 秒內就能完成。用單個第一層交易執行雙邊交換的能力確保沒有用戶可以通過使自己的轉賬無效來欺騙對方,而且交換速度很快。

這種速度和真正意義上的同時性是 Algorand 區塊鏈相對於其他區塊鏈的主要優勢。雙邊交換實際上是構建去中心化金融體系的基本要素。

相比之下,其他區塊鏈上的雙邊交換既不同步也不快速。它們是通過多個步驟和多個區塊實現的,並且,正如我們將稍後解釋的一樣,其中一些步驟還需要很長的等待時間。

例 2: 循環交易 Circular Trades

AMPT 的速度和同時性不僅適用於雙邊交換,還適用於多個相互依賴的轉移,如以下「循環交易 Circular Trades」:

用戶 a 將通證 T1 的 x 個單位傳輸給用戶 b
當且僅當,b 將通證 T2 的 y 單位傳輸給用戶 c
當且僅當,c 將通證 T3 的 z 單位傳輸給 a

例 3: 全有或全無籌資

第一層 AMPT 簡化了許多需要聯合出資的應用。例如,它們使得多個用戶分攤晚餐或出租車的費用變得很簡單。另一個例子是第一層 AMPT 簡化了衆籌:一組用戶可以爲同一個項目(比如某個慈善組織)提供預先定好金額的可能不同種類的貨幣,每個用戶最終付款當且僅當組中的其他人也付款。

例 4: 去中心化交易所

第一層 AMPT 爲構建快速、安全的、去中心化的交易所提供了強大的構建模塊,在這裏,用戶無需信任任何中介就可以彼此進行交易。

例 5: 內部記賬單位

一個公司的內部記賬單位可以表示爲一種可替換通證,AMPT 使多個公司可以用一個快捷的操作來結算彼此的賬戶。例如,這將對供應鏈非常有利,因爲延遲付款對企業來說是巨大的不利因素。

期待更多的第 1 層功能

新的可替換通證和 AMPT 雖然很重要,但它們僅僅是 Algorand 計劃引入第 1 層的功能中的第一批。我們的計劃是提出一組第 1 層模板,提供當前需要通用智能合約才能實現的許多功能。每個模板都將經過精心設計和高度優化。所提供的模板集將足夠豐富,使得用戶可以通過組裝模板輕鬆實現沒有現成模板的功能。

我們認爲不可替換通證 non-fungible tokens(NFTs) 是此類模板的一個明確選擇,接下來將在第 1 層中提出 NFT。

Q&A 相關問答整理:

Q1. 現在能否實現不可替換通證 NFT?

A: 當然可以將每個不可替換的通證表示爲僅有一個單位的可替換通證。然而,這種方法不能滿足我們認爲必要的性能和易用性需求。我們正在完善一個方案,將以一種方便、高效和安全的方式將不可替換通證帶到第 1 層。

Q2. 基於 AMPT 的雙邊交換是否屬於《Algorand 即將發佈的創新技術》一文中提到的「原子的原子交換 atomic2 swap」?

A: 是的。基於 AMPT 的可替換通證的雙邊交換是原子交換的一個特例。後者可以處理任意資產,包括不可替代通證。

注意,可替換通證本質上比不可替換通證更容易處理。當供應量大到數十億個通證時,某個給定用戶擁有的可替換通證可以很容易地用幾個字節表示 : 即, 由她的餘額表示。但是,表明一個用戶擁有哪些不可替換通證可能需要很長的列表。爲了有效地處理不可替換通證,Algorand 將着眼於新技術,比如在《Algorand 即將發佈的創新技術》一文中提到的自驗證交易 self-verifying transactions。

Q3. 第一層原語會完全取代 Algorand 中的智能合約嗎 ?

A: 不會。Algorand 將在第 1 層實現一組原語,這些原語 (a) 已被確定爲關鍵的,(b) 其實現方式仍使 Algorand 區塊鏈能夠在幾秒鐘內生成和確認新的區塊。並不是大家所希望的所有功能都適合在第 1 層實現。因此,我們正在準備新一代智能合約技術,以滿足 Algorand 用戶期望並應該擁有的效率,安全性和易用性標準。

Q4.Algorand 會啓用「跨鏈 AMPT」嗎 ?

A: Algorand 將很快提供協議,使其他鏈的用戶能夠與 Algorand 的用戶執行可替換 (和不可替換) 通證的多方多次傳輸。然而,我們希望澄清的是,跨鏈協議不能提供 Algorand 鏈上 AMPT 所享有的同時性 !

此外,可以預見跨鏈協議的效率要低於只在 Algorand 用戶之間使用的 AMPT。即使是隻有兩個用戶參與的雙邊交換,如果其中一個用戶不是 Algorand 用戶,也會比 Algorand 用戶之間的 AMPT 慢。

Q5. 跨鏈雙邊交換爲何會相對緩慢呢 ?

因爲它們是通過多個步驟實現的,其中一些需要很長的等待時間,以確保用戶有足夠的時間採取一些必要的行動。

假設多步驟雙邊交換的兩個用戶中的一個試圖作弊。爲了避免轉出資金但沒有收到轉入,被騙方必須在某個步驟在相關的區塊鏈上發佈一個「停止交易」。

然而,要使她能夠在確認區塊比較慢的區塊鏈上這樣做,協議必須爲該步驟分配很長時間。(確實,在一個未被最終確認的區塊中發佈「停止交易」是不夠的,因爲該塊可能由於分叉而「消失」。) 但是這樣的等待時間是不夠的。協議還必須考慮到,被欺騙的用戶可能成爲拒絕服務攻擊 denial of service 的目標,從而阻止她在被攻擊期間發佈「停止交易」信號。因此,爲了確保安全,雙邊交換協議必須預先分配「足夠」的時間,以確保拒絕服務攻擊變得過於昂貴並將被終止。只有這樣,被欺騙的一方纔能發佈她的停止交易信息。

但「足夠」是多少 ? 現有資料中推薦一天、兩天和三天。但是,如果某次雙邊交換的貨幣價值很高,即使三天也可能不夠。畢竟,denial of service 拒絕服務攻擊的代價正在迅速降低,作惡一方可能願意長期維持這種攻擊,以便從對方那裏榨取大量金錢而無需支付自己本該支付的部分 !

相比之下,由於兩個 Algorand 用戶之間的雙邊交換是通過單個交易執行的,分配給發佈此交易的時間可以短至 50 秒,即生成 10 個塊的時間。更準確地說,兩個 Algorand 用戶可以在生成他們的雙邊交換時指定,僅當這個交易出現在 10 個預先指定的塊中的任何一個,例如區塊 n 到 n + 9,該交易纔有效。如果這個交易出現在其中一個塊中,那麼交換立即完全完成,沒有任何用戶能夠欺騙另一個。如果沒有出現 (因爲異常高的交易流量導致這些區塊飽和,因爲存在拒絕服務攻擊,或者因爲任何其他原因),那麼這兩個用戶中沒有任何一個向另一個轉賬,所以也沒有人被騙,而且任何一個用戶都可以自由地和其他人進行任何其他交易。

與僅是名義上的「原子」交換相比,這就是真正原子交換(atomic 2 swap)的優勢 !

來源鏈接:mp.weixin.qq.com