<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Filecoin官方丨針對Filecoin出現(xiàn)“雙花”問題的說明

          共 1941字,需瀏覽 4分鐘

           ·

          2021-03-19 11:23

          點擊上方"藍字"
          關注我們吧!

          據(jù)報道,2021年3月18日,由于Filecoin的遠程過程調用(RPC)代碼中的“嚴重錯誤”,出現(xiàn)了“雙花”問題。這些說法是不正確的,而且具有誤導性。


          Lotus團隊對報告進行了徹底的調查,沒有發(fā)現(xiàn)Filecoin網(wǎng)絡或RPC API代碼有任何問題。區(qū)塊鏈本身沒有雙花,API代碼中也沒有bug。有問題的交易所已經在其記賬系統(tǒng)中恢復了錯誤的交易,并且正在審查其存款處理邏輯以糾正API的使用。



          發(fā)生了什么事




          問題報告

          今天早些時候,Lotus團隊收到了一份報告,稱一家交易所錯誤地使用Lotus api評估Filecoin網(wǎng)絡中的轉賬/存款。這種不正確的API使用是由用戶報告的,當他們的帳戶被錯誤地記入交易所記賬系統(tǒng)的存款兩次。這一點后來在交易所的記賬中被恢復了——Filecoin區(qū)塊鏈本身沒有任何雙花問題。


          交易所的API濫用

          所討論的交易所沒有正確地檢查鏈狀態(tài)以消除具有相同發(fā)送者和接收者的多個消息的重復問題。其中根本原因是錯誤地使用了Lotus API(而不是API本身的錯誤)——從而沒有按照他們預期的方式工作。這個記賬錯誤導致交易所展現(xiàn)錯誤的帳戶存款信息。到目前為止,我們只知道有一個交易受到這種API混淆的影響。



          虛假報道會成為頭條新聞:關于網(wǎng)絡上“雙花”的不準確說法在社交媒體渠道上傳播,并成為文章頭條

          這些聲明中的問題有許多已被調查,并被確定為虛假的。團隊發(fā)現(xiàn)Filecoin網(wǎng)絡或RPC API代碼沒有問題。在了解事實后,許多團體和媒體機構正在糾正他們的報道。


          正在采取行動




          交易的影響

          該交易所發(fā)現(xiàn)了這種錯誤使用API的行為,并立即采取行動,停止存款、取款和轉賬。他們已經恢復了有問題的不正確交易(因此在這個事件中沒有資金損失),并且正在糾正他們對lotus api的使用,以符合推薦的用途。


          其他交易所

          其他交易所已經收到了警告,并正在檢查它們的代碼,以確保它們沒有受到影響。許多審查已經完成——據(jù)我們所知,目前還沒有其他交易所以這種方式錯誤這個API。


          lotus團隊

          Lotus團隊正在積極地處理所有交易,以確保正確處理此行為,并改進API文檔,以確保其他所有人正確地檢查Filecoin區(qū)塊鏈的狀態(tài)。




          社區(qū)和媒體團隊

          一些組織正在與媒體合作,澄清所謂事件的細節(jié)和事實,并幫助消除錯誤信息。


          社區(qū)團隊

          社區(qū)成員正在創(chuàng)建材料,以幫助其他人準確和深思熟慮地報告問題,以避免意外傳播錯誤信息。



          技術細節(jié)




          類似的消息

          Lotus團隊了解,問題是由于兩條消息共享相同的發(fā)送方/接收方詳細信息和相同的nonce,但在同一個tipset中包含不同的gas參數(shù)而引起的。兩個類似的消息是更改與消息相關的gas費用的常見消息替換形式。Filecoin網(wǎng)絡安全機制正確地處理了這種情況,不會導致進行兩次消息執(zhí)行:兩條消息中的一條被執(zhí)行,另一條被忽略。


          錯誤使用API

          但是,根據(jù)檢查鏈狀態(tài)的方式,這可能會顯示消息被處理了兩次。具體來說,這個交易使用了一種錯誤的方式來處理鏈狀態(tài)——在tipset中的每個區(qū)塊上調用ChainGetBlockMessages,然后在每個消息上調用StateGetReceipt。


          錯誤的API的返回期望

          混淆在于,當對兩條類似的消息(一條被執(zhí)行,另一條被跳過)調用StateGetReceipt時,它將提供相同的結果:都對應于被執(zhí)行的消息。這顯然是違背直覺的,但卻是有意為之的行為。StateGetReceipt方法的主要用例是Lotus Miner和交易制定過程使用的事件處理程序。在替換消息的情況下,這些模塊不關心返回的收據(jù)是否與原始消息對應,或者與替換的消息對應——它們只想知道消息是否在鏈上成功執(zhí)行。我們在這里對文檔進行了說明:

          https://github.com/filecoin-project/lotus/pull/5838。


          使用正確的API

          大多數(shù)交易所都正確地使用了ChainGetParentMessages和ChainGetParentReceipts來進行記賬,以確定在鏈上執(zhí)行了哪些消息并取得了成功。這些是Lotus本身在狀態(tài)計算期間使用的api,因此可以保證以這種方式正確地反映鏈狀態(tài)。對每個消息執(zhí)行StateReplay將為您提供完整的調用結果,以便您可以將返回的InvocResult中的MsgCid與查詢消息的CID進行比較。這是交易所正確檢查鏈狀態(tài)并保持其內部報告系統(tǒng)同步的推薦路徑。

          瀏覽 45
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月婷婷性爱 | 国产热视频 | 国产又大又黄又爽的A片在线观看 | 亚洲九一 | 波多野结衣视频一区 |