ClassZZ膠囊交換協議設計思想

2021-09-27 07:08:07 字數 1425 閱讀 5114

我們要解決的另乙個問題是確認時間。以位元幣為例,經過7個區塊就可以完成交易。由於建立每個塊需要10分鐘,理論上確認時間可能需要乙個多小時。如果使用者想買一杯咖啡,可能需要長達乙個小時的時間來確認。這就引出了我們的第二個想法,邊緣計算。我們建立了乙個協議,如果事務發生在兩個輕節點之間,支付方和收款人可以相互驗證,並得到交易的即時確認。這在以前的網路中是不可能的,因為在移動裝置上執行具有任何驗證功能的節點是非常困難的。在本節中,我們將描述什麼是輕節點,以及它們如何通過乙個稱為「膠囊交換協議」的過程彼此驗證。

隨著5g流動網路頻寬的提高,移動裝置不斷接收和更新資料塊成為可能。假設每個塊為8mb,並且每個移動端儲存最新的20個塊,這將只占用160mb的磁碟空間,這比大多數移動遊戲的大小都要小。在此之前,它們只需要儲存雜湊根。

定義5:輕節點節點是它所在位置的數字裝置

(1)接收和更新最新塊

(2)儲存最後20個塊

(3)儲存每個歷史塊的merkle root

每個輕節點都可以使用它們的雜湊根來驗證區塊鏈中的每個塊,從而使每個使用者都成為鏈完整性的保護者。我們可能會有數百萬個輕節點,而位元幣(bitcoin)和以太坊(ethereum)則有數千個,eos和tron則不到100個。僅這一點就使czz比幾乎所有現有的區塊鏈專案更安全,在這些專案中,終端客戶通常只執行在乙個輕量級錢包上(或在交易所中儲存硬幣),由乙個完整的節點以集中的方式維護。

假設alice和bob是輕節點,alice想要傳送bob 20czz,我們稱這個事務為tx。bob需要驗證的兩個重要部分是:

(1) ec schnorr簽名的真實性,這部分比較簡單。

(2) tx投入之前沒有使用過,這部分比較困難。

在傳統的位元幣設定中,如果bob不是乙個挖礦節點,他將沒有足夠的資訊來驗證tx是否有效。因此,他將不得不依靠其他礦商來驗證tx,將其封裝在乙個區塊中,等待區塊最終確認。

奇蹟發生在兩個輕節點之間。除了tx, alice還可以從最近的塊(從完整節點獲得)向bob傳送utxo樹事務輸入的merkle分支。然後,

(1)假設當前塊高度為t, bob可以驗證alice的事務輸入在最近的塊bt - u之前實際上沒有被使用。

(2)假設u很小,bob將儲存所有的塊bt - u+1,…,bt。因此,他可以區域性檢查tx的輸入是否已使用到塊高t。

(3)檢查mempool中任何具有相同引用輸入的事務。mempool通常只有幾mb大。

在檢查了tx的有效性之後,bob有權選擇是否接受交易,傳送到mempool,並在上面簽名確認,這就是我們所說的「膠囊」。因此,alice和bob幾乎可以即時確認彼此的tx,這對於頻繁的小額交易非常有用。

使用膠囊的優點是,如果有兩個事務引用mempool中的相同輸入,則礦工將直接接受膠囊,這將減少alice雙花的可能性。我們承認仍然存在兩個膠囊到達時間非常接近,導致交易無效的風險。因此,對於大額交易,建議支付方仍應在區塊鏈上等待確認。

Diffie Hellman 金鑰交換協議

設p 是乙個素數,gf p 上的離散對數是困難的,設 g為其生成元,為達到通訊雙方共享金鑰的目的,通訊雙方a和 b分別進行如下操作。1 a 進行如下兩步操作 隨機選取乙個整數 xa,0 xa 計算ya gxa mod p,將ya 傳送給b 2 b進行如下兩步操作 隨機選取乙個整數xb,0 xb傳送給...

Diffie Hellman 金鑰交換協議

設p是乙個素數,gf p 上的離散對數是困難的,設g為其生成元,為達到通訊雙方共享金鑰的目的,通訊雙方a和b分別進行如下操作。1 a進行如下兩步操作 隨機選取乙個整數xa,0 xa計算ya gxamod p,將ya傳送給b 2 b進行如下兩步操作 隨機選取乙個整數xb,0 xb計算yb gxbmod...

網路金鑰交換協議 Diffie Hellman

diffie hellman演算法是一種交換金鑰的演算法。它是目前比較常用的金鑰交換演算法。這種演算法的好處是能讓兩台計算機在不安全的網路環境中完成金鑰的交換。以下是整個演算法的過程。其中紅色字型表示私密資料,藍色字型表示公開資料。甲和乙事先協商使用質數p 7853和基數g 5224作為引數 甲隨機...