交易分片可聽起來那么簡單。考慮到在一個類似于
比特幣的系統中引入交易分片(沒有智能合同),系統的狀態是用UTXOs來進行定義的。我們假設網絡已經由碎片所組成,用戶發送一筆交易,每一筆交易有兩個輸入和一個輸出。那么,該筆交易將如何分配給一個碎片呢?
最直觀的方法是根據交易哈希值的最后幾位來決定碎片。例如,如果哈希值的最后一個比特是0的話,那么交易將被分配給第一個碎片,否則它被分配給第二個碎片(假設我們只有兩個碎片)。這允許我們在單個碎片中驗證交易。但是,如果用戶是惡意的,他可能會創建另一筆具有兩個相同輸入但不同輸出的交易——是的,就是一個雙花交易。第二筆交易將有一個不同的哈希值,因此,這兩筆交易就可能形成不同的碎片。然后,每個碎片將分別驗證接收到的交易,同時忽略在另一個碎片中驗證的雙花交易。
為了防止雙花問題,在驗證過程中,碎片將不得不進行相互通信。事實上,由于雙花交易可能會在任何碎片中出現,因此特定碎片所接收到的交易將不得不與其它的碎片進行通信。而實際上,這種相互之間的通信可能會破壞交易分片的整個目的。
另一方面,當我們有一個基于賬戶的系統(沒有智能合約)時,問題就簡單得多了。每一筆交易將會有一個發送者的地址,然后系統可以根據發送者的地址分配一個碎片。這確保了兩筆雙花交易將在相同的碎片中得到驗證,因此系統可以很容易地檢測到雙花交易,而不需要進行任何跨碎片的通信。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。