五歲都能懂的卡爾達諾的 eUTXO 模型

卡爾達諾在會計模型上與以太坊有著根本的不同。 卡爾達諾使用擴展 UTXO 模型(eUTXO),而以太坊則使用帳戶。 在本文中,我們將以簡化的方式解釋這些方法之間的差異。

會計模型

您可以將區塊鏈視為賬本,即由會計師編寫的會計記錄的歷史。 帳本是開放的,因此所有會計人員都可以查看所有記錄,所有使用者也可以隨時查看。 在我們的類比中,會計師將代表網路。 想像一下,會計師坐在銀行裡,客戶(使用者)找到他們,要求他們做會計分錄(交易)。 所有會計師共享一本用於會計分錄的賬本。

在區塊鏈網路中,用戶擁有代幣。 即使記錄位於賬本中,當使用者向會計師提出更改記錄的請求時,他們也必須使用指紋進行確認(類似於交易的數位簽章)。 將 ADA 和 ETH 硬幣想像成用戶放入木箱(錢包)中的一張紙。 這些紙片物理上位於賬本中,它們一起形成了賬本的各個頁面,但多虧了這個盒子,用戶可以查看它們,如果他們要求更改記錄,則可以將它們交給會計師(發送交易)。

卡爾達諾和以太坊的不同之處在於帳本條目的寫入方式,以及客戶持有代幣的方式。

卡爾達諾使用 ADA 幣的方式與紙幣類似,只是面額可以是任何價值。 例如,12 ADA、3.5 ADA 和 0.3 ADA。 使用者的盒子裡有 3 張紙,上面寫著這些數值(他有 3 個 UTXO)。 總共 15.8 ADA。 與以太坊不同,卡爾達諾具有附加功能,即盒子中可以有多個較小的盒子,其中包含單獨的紙張(較小的盒子代表區塊鏈地址)。 一個較小的盒子裡可以有更多的紙。

如果 Alice 想寄 14 ADA 給 Bob,她必須給會計師 2 張紙,上面有 12 ADA 和 3.5 ADA。 會計師將創建一張新紙(新的 UTXO)並在上面寫下 14 ADA。 他會把這張紙放進鮑伯的盒子裡。 接下來,他將創建另一張價值 1.5 ADA 的新紙,並將其放回愛麗絲的盒子中。

當會計師完成帳本輸入(處理交易)時,Alice 的盒子裡將有 2 張紙,價值分別為 0.3 ADA 和 1.5 ADA。 在輸入之前,鮑勃的盒子是空的。 記入帳本後,他將擁有 14 個 ADA。

我們稍微簡化了這個類比。 會計師會收取在帳本中寫入條目的費用(交易費),例如 0.2 ADA,因此他只會將 1.3 ADA 放回 Alice 的盒子中。

在以太坊記帳模型中,用戶的盒子裡總是只有一張紙,上面寫著值。 這類似於銀行帳戶中的當前餘額。 在卡爾達諾的例子中,愛麗絲的盒子裡有 15.8 ADA。 假設她在以太坊中有 15.8 ETH,那麼她的盒子裡有一張包含該值的紙。

以以太坊為例,當會計師想要進行新的會計分錄時,她會同時涵蓋Alice和Bob的紙上的資料。 如果 Alice 向 Bob 發送 14 ETH,如前面的範例所示,會計師將把 Alice 的紙上的 15.8 改寫為 1.8。 同時,她覆蓋了鮑伯的紙,並將價值0變為14。在這個例子中,我們也省略了會計師的費用。

我們使用範例來展示使用者如何去找會計師並要求他們進行帳本紀錄,這類似於發送交易。 如果使用者要求會計師進行更複雜的操作,例如貸款或交換兩種資產(執行智能合約),則其運作方式將非常相似。

以太坊中的新記錄是透過重寫紙張(平衡變化)來創建的,而在卡爾達諾網路中,則是在先前的紙張基礎上創建單獨的新紙張。 建立新的文件而不是重寫它們是會計模型之間的關鍵區別。

帳本用途的區別

會計模型影響卡爾達諾和以太坊如何使用帳本,或會計師如何建立新紀錄。 以太坊網路上的會計師在創建新記錄(或多個記錄)時必須將帳本從金庫中取出,並將其帶到他的辦公桌上,以便同時處理所有盒子(共享全局狀態)。

以太會計師

為了進行新的紀錄,會計師必須對所有方框有一個概述,並且必須確保在他紀錄時另一位會計師不會嘗試進行紀錄。 透過將帳本本拿到辦公桌上,會計師向其他會計師發出訊號,表示現在只有他可以進行分錄。

網路中的其他會計師無法將其紀錄輸入到帳本中,因為另一位會計師擁有自己的紀錄。 他們甚至無法提前準備新紀錄,因為他們不知道帳本中將包含哪些新紀錄。 一旦帳本回到金庫,另一位會計師就可以拿走它。 所有會計師都可以查看新紀錄並驗證它們是否正確(區塊驗證)。

優點是會計師擁有這本書,可以對所有方框進行任何更改。 他甚至可以連續多次更改(重寫)一個盒子裡的一張紙。 缺點是新條目的寫入順序很重要。 如果會計師輸入 20 個新條目,其他會計師必須遵守此順序。 各個條目是相互依賴的。

可能會發生佇列中有更多使用者有興趣在帳本中進行記錄的情況。 即使他們的請求在排隊時有效,當輪到他們時,會計師也可能無法處理該請求。 儘管如此,用戶仍必須向會計師支付嘗試處理的費用。 無法執行會計操作是因為它依賴於當另一位會計師擁有帳本時發生變化的盒子(盒子裡的紙片)。 不幸的是,用戶在排隊之前沒有機會提前檢查他們的請求是否有效

卡爾達諾會計師

當卡爾達諾網路中的會計師想要創建新條目時,他也必須將帳本從金庫帶到他的辦公桌上,但他不會阻止其他會計師完成他們的工作。 會計師不需要追蹤所有其他盒子,因為他只處理客戶放在辦公桌上的紙片。 會計師可以驗證所需會計交易的有效性,而不管其他框如何(無全局狀態)。

客戶可以提前驗證他們要求的交易是否有效(鏈下驗證),如果有效,他們可以確定當他們加入隊列時,會計師將接受並執行他們的交易。 他們還可以確定費用將保持不變

每張紙片之間並不相互依賴,因此擁有帳本的會計師所執行的分錄順序並不重要。 當會計師將帳本退還給金庫時,其他會計師可以並行驗證條目。

特定會計操作獨立於其他盒子(盒子裡的紙片)的優點是,如果它通過了用戶的本地驗證,則幾乎肯定會成功。 使用者可以自己扮演會計來看看他的請求是否有效。 這對於貸款和資產交換(智能合約)等更複雜的操作尤其重要。

缺點是,尤其是在進行更複雜的會計操作時,兩名會計師可能希望同時處理同一張紙,但只有其中一人能夠成功。 在某些情況下,必須在會計師之間引入一些特殊的同步。

目前,卡爾達諾網路中的會計師的工作方式與以太坊網路類似。 主要區別在於,會計師不需要了解其他使用者盒子中所有紙張的上下文即可完成工作。 建立一組新條目和後續驗證的原理與以太坊網路中的操作方式類似。 一名當選的會計師將帳本從金庫帶到他的辦公桌上以建立新條目。 當我們轉向新版本的 Ouroboros PoS 共識時,我們會看到更大的差異。

會計模型的可擴展性選項

以太坊網路中的會計師無法並行進行個人會計操作。 在任何時候,只有一名會計師可以將帳本從金庫中取出。 然後,他就可以安全地處理盒子裡的所有紙片了。 由於其他會計師必須始終遵循帳本中的最後一個條目才能繼續工作,因此他們無法與在佇列中等待的客戶一起工作。 他們總是必須等到分類帳返回金庫才能查看先前的條目。 他們必須驗證這些,然後另一位會計師才能開始與隊列中的下一個客戶合作。 這本質上阻止了會計操作的並行處理,並且是可擴展性的主要障礙。

在卡爾達諾網路中,多個會計師可以同時工作,每個會計師都可以在自己的佇列中處理客戶請求。 此功能將用於名為 Leios 的 PoS 共識。 卡爾達諾網路將能夠讓會計師提前準備會計分錄,以便由主會計審查已準備好的分錄。

當會計師為自己記帳時,他總是會寫入更多新條目(建立一個新區塊)。 這將建立一個條目列表,然後必須由其他會計師驗證(網路共識)。 這個過程通常需要一些時間(區塊時間),並且新條目的數量是有限的(區塊大小)。 會計師大約每隔 20 秒輪流共享帳本。 例如,即使會計師只工作一秒鐘,其他會計師也需要用剩餘的時間來驗證條目。

卡爾達諾將允許所選會計師(或可能更多會計師)每秒準備新條目,然後讓主會計師進行主要檢查(查找並丟棄雙花嘗試、刪除重複項等)。 這是可能的,因為個體會計師的工作在很大程度上獨立於其他會計師和主會計師的工作結果。 獨立性來自於盒子裡的紙片彼此獨立。

在以太坊網路中,可擴展性必須以不同的方式處理。 不能使用相同的方法,因為個體會計師的工作是相互依賴的。 每個會計師都需要確切地知道前一個會計師做了什麼。 然而,由於透過網路傳播數據需要時間,因此他們可能無法獲得此資訊。 一個限制是需要為一個需要處理所有盒子的會計師鎖定賬本,並且其他會計師無法同時做一些有用的事情。 新記錄(區塊)的產生和後續驗證需要 20 秒,在此期間只有一名會計師能夠工作。 剩下的會計師都閒著。

結論

希望類比能幫助您理解卡爾達諾和以太坊會計模型的差異。 乍看之下差異並不大,但實際上,會計模型會影響可擴展性、所需會計操作結果的可預測性、費用金額的可預測性、安全性等。

1 Like