Contract-Design

原生合約會影響區塊鏈的完整性嗎?

  • July 19, 2017

我開始閱讀有關HydraChain的文章,並遇到了他們的原生合約概念。這意味著節點可以繞過 EVM 並在本地執行合約。我不明白擁有這個設施的意義。這使得區塊鏈的安全性和不確定性降低。這些原生合約是如何達成共識的?

還提到原生合約可以與基於 EVM 的合約進行通信。那麼,這是否像一個不安全的 Oracle 版本?此外,如果我能以某種方式掌握這個原生合約,我可以將惡意/意外數據發送到基於 EVM 的智能合約,並且沒有人檢查這些數據的正確性,這是不希望的。那麼,擁有這些原生合約有什麼用呢?

Hydrachain 適用於私有(又名聯盟)網路。與在 EVM 上執行的 Solidity 程式碼不同,本機合約允許程序員編寫非確定性、無限執行和沙箱轉義程式碼。非確定性程式碼確實可以阻止網路達成共識。在專用網路上,這些錯誤旨在通過對智能合約進行更強大的治理和質量管理來防止。原生合約的好處是開發人員不受 gas 和 gas-limit 的限制(這在私有網路中沒有意義),並且程式碼執行速度明顯快於 EVM。

不應將本機合約與預編譯合約混淆。乙太坊黃皮書中描述的預編譯合約是在EVM 之外執行但可以從 EVM 呼叫的可重用函式。例如 SHA256、RIPEMD160 和 ECRECOVER 是作為預編譯合約實現的。與原生合約一樣,預編譯合約比 EVM 上的solidity-code 執行效率更高,但與原生合約不同的是,這些預編譯合約是嚴格指定的(在黃皮書中)並且它們確實消耗氣體。

引用自:https://ethereum.stackexchange.com/questions/7690