Fusaka分叉將引入一維、基於列的資料可用性取樣,其中每個樣本是由來自所有blob的單元格和證明組成的列。在Fusaka之後,改進列的傳播是進一步提高blob吞吐量的主要途徑之一,目前提出的工具包括從基於推送的gossip轉向公告和拉取/推送混合模式,並引入某種形式的編碼,如RS或RLNC。在這篇文章中,我們探索了實現後者的各種方法,同時使單個單元格成為傳播的基本單位。感謝@asn、@dankrad、@potuz、@MarcoPolo、@vbuterin的討論和反饋。
我們原則上可以避免在每個節點重複計算。kzg_commitments在HeaderSidecar中可以包含*所有*承諾,包括擴充套件的承諾。這些需要與原始承諾進行一致性驗證,但可以透過選擇隨機標量向量r並檢查r^TC' = (r^T M_{RS}) \cdot C來更快地完成,這隻需要在G1中進行兩個128點的多標量乘法(MSM),大約需要2毫秒。權衡的代價當然是頻寬,因為這意味著HeaderSidecar中會增加約6千位元組。RLNC + KZG
我們可以利用 KZG承諾和證明的線性特性,在保持重組塊與原始KZG行承諾可驗證性的同時,實現列傳播的隨機線性網路編碼(RLNC):



