大家都在聊, 你豈能錯過?
今天的“SMT遭到與BEC類似的溢出攻擊”的新聞想必大家都知道了,
部分幣友還沒反應過來怎麼回事,
TimYang:
最近的ERC20的轉帳的安全問題, 直接原因都是代碼安全性漏洞, 由程式師背鍋, 但大家比較少討論其深層次的原因, 為什麼乙太坊比較容易出安全問題?
乙太坊只是一個記錄dapp執行結果的區塊鏈, 其本身並沒有加密貨幣複式記帳所需的utxo模型。 乙太坊自身的乙太幣也是由balance來表示帳號餘額, 用餘額的區塊鏈有一個明顯的缺陷, 很容易遭受重放攻擊(交易的請求再發送一次)。 乙太坊用了nonce等tricky的做法避免主鏈貨幣重放,
採用複試記帳的utxo則所有的轉帳需要檢查輸入來源, 如果這個來源已經被使用過一次, 則表示這次轉帳是一個雙花嘗試, 而比特幣最主要的架構設計邏輯比如PoW以及長鏈勝出就是用於防止雙花攻擊。
乙太坊智慧合約運行的大致流程是, 取得寫區塊的節點運行dapp並記錄運行結果到新的區塊, 當這個結果被其他節點驗證之後這個新區塊就被整個網路認可, 驗證的方法也是執行一遍這個合約腳本, 智慧合約的設計約束是deterministic,但並無其他機制可保證這個執行的安全性及正確性。 即使有bug, 只要bug能被其他節點運行出相同結果,
從dao到bec,smt這些問題都是程式師的問題嗎?在數位貨幣的時代, 重要的token資產本身是需要貨幣級別的安全程度, 乙太坊目前的設計更適合遊戲積分之類的合約運行結果, 我的看法是, 重要的token資產不適合構建在erc20基礎之上。 它沒有任何貨幣安全設計的考慮。
再重複一下, 重要的token資產不適合構建在erc20體系基礎之上。
眾幣圈大佬紛紛轉發表示認同:
長鋏:這就是為什麼Bytom要使用BUTXO[偷笑]
姚遠BTCT:論UTXO的重要性。
有網友表示不認可結論:“最安全的代碼是no code。 uxto能用於token的擴展麼?應該是批評solidity語言的一些設計細節吧?”
Tim Yang回復:“再怎麼設計細節, 再怎麼 review, 憑空出 token 的現象都不會停止,
其實關於UTXO和Account模式孰優孰劣的討論早已有之, 而且也早已有可發行Token的UTXO公鏈的實現。
早在《Qtum量子鏈:選擇比特幣UTXO模型的原因及其優勢》一文中, 量子鏈闡述了自己選擇比特幣UTXO模型的原因及其優勢:
“我們選擇UTXO僅僅是因為這是最好的技術, 有很多文章極力想把Account模式打造成與UTXO模式一樣的高性能和安全, 然而事實並非如此。 不多贅述細節, Account模式過於不成熟也過於簡單, 並且沒有無法進行併發處理。 它總是讓我想到紙杯連線通話的交易模式。 對Qtum而言, 使用Hyperledger的混合模式(hybrid model)將是一個錯誤的選擇, 因為它無法與比特幣和乙太坊相容,
比原鏈也是底層選擇使用UTXO模式的公鏈之一, 在《比原鏈設計思考: 擴展性UTXO模型》一文中, 開發者說道了UTXO的優點:
“UTXO 具有天然的匿名效果, 一個帳戶所對應的未花費交易是難以發現的, 如門羅幣就是採用混幣的方式實現隱私的。
在性能方面, 由於UTXO是獨立的資料記錄, 那麼就存在極大的並行性可以提升區塊鏈交易驗證速度。
乙太坊的帳戶模型很容易的實現了超級電腦模型。 然而, 性能一直是一道難以逾越的坎。 在性能方面, utxo天然的可以並行運行, 而基於世界狀態的乙太坊難以擴展。 ”
那麼乙太坊為什麼棄用UTXO呢, 作者說道:
“正是因為智慧合約的考慮, Gavin Wood要基於UTXO去實現圖靈完備的智慧合約(功能多樣性的超級電腦)是困難的。
你怎麼看?歡迎去巴比特論壇討論:8btc.com
版權聲明:
作者保留權利。 文章為作者獨立觀點, 不代表巴比特立場。
發文時比特幣價格 ¥57867.29