簡易檢索 / 詳目顯示

研究生: 譚力銘
Tan, Lee-Ming
論文名稱: 以正規驗證方法驗證以太坊虛擬機指令行為
Using Formal Method to Verify the Instructions of Ethereum Virtual Machine
指導教授: 陳盈如
Chen, Yean-Ru
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2021
畢業學年度: 109
語文別: 中文
論文頁數: 96
中文關鍵詞: 正規驗證以太坊虛擬機模型驗證指令驗證
外文關鍵詞: Formal verification, Ethereum virtual machine, Model checking, Instruction
相關次數: 點閱:58下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 摘要i Abstract iii 英文延伸摘要 iv 誌謝 ix 目錄 x 表格 xii 圖片 xiii 第一章緒論 1 1.1 研究背景 1 1.2 研究動機 2 1.3 論文貢獻 4 1.4 論文組織 5 第二章文獻探討6 2.1 CBMC 6 2.2 測試套件(Testsuit) 7 2.3 智能合約驗證 9 第三章研究方法 12 3.1 背景知識與專有名詞介紹 12 3.1.1 以太坊(Ethereum) 12 3.1.2 黃皮書(Yellow Paper) 14 3.1.3 以太坊虛擬機(EVM) 20 3.2 驗證方法 26 3.2.1 驗證流程 26 3.2.2 Interface 30 3.2.3 Property 42 第四章實驗結果 67 4.1 EVM implementation(C ++) 67 4.2 Bug injection 69 4.2.1 0x16 AND 70 4.2.2 0x52 MSTORE 74 4.2.3 0xf0 CREATE 75 4.3 驗證結果 80 第五章結論 83 References 84 第六章附錄 Appendix 86

    [1] Aleth ethereum c++ client, tools and libraries. [Online]. Available:https://github.com/ethereum/aleth. Accessed: 2020-08-20.
    [2] Ethereum consensus tests. [Online]. Available:https://github.com/ethereum/tests. Accessed: 2020-09-20.
    [3] Ethereum virtual machine introduction. [Online]. Available:https://blog.csdn.net/TurkeyCock/article/details/83786471. Accessed: 2020-08-20.
    [4] Ethereumj. [Online]. Available:https://github.com/ethereum/ethereumj. Accessed:2020-08-20.
    [5] Go ethereum. [Online]. Available:https://geth.ethereum.org/. Accessed: 2020-08-20.
    [6] Smart contract. [Online]. Available:https://en.wikipedia.org/wiki/Smart_contract. Accessed: 2020-10-30.
    [7] Trinity. [Online]. Available:https://trinity.ethereum.org/. Accessed: 2020-08-20.
    [8] What is smart contract. [Online]. Available:https://blog.gasolin.idv.tw/2017/09/02/what-is-smart-contract/. Accessed: 2021-06-30.
    [9] Mouhamad Almakhour, Layth Sliman, Abed Ellatif Samhat, and Abdelhamid Mellouk.Verification of smart contracts: A survey. Pervasive and Mobile Computing, page 101227, 2020.
    [10] Leonardo Alt and Christian Reitwiessner. Smt-based verification of solidity smart contracts.In International Symposium on Leveraging Applications of Formal Methods, pages 376–388. Springer, 2018.
    [11] Sidney Amani, Myriam Bégel, Maksym Bortin, and Mark Staples. Towards verifying ethereum smart contract bytecode in isabelle/hol. In Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs, pages 66–77, 2018.
    [12] Karthikeyan Bhargavan, Antoine Delignat-Lavaud, Cédric Fournet, Anitha Gollamudi, Georges Gonthier, Nadim Kobeissi, Natalia Kulatova, Aseem Rastogi, Thomas Sibut-Pinote, Nikhil Swamy, et al. Formal verification of smart contracts: Short paper. In Proceedings of the 2016 ACM workshop on programming languages and analysis for security, pages 91–96, 2016.
    [13] Edmund Clarke, Daniel Kroening, and Flavio Lerda. A tool for checking ANSI-C programs. In Kurt Jensen and Andreas Podelski, editors, Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2004), volume 2988 of Lecture Notes in Computer Science, pages 168–176. Springer, 2004.
    [14] Nick Dodson. Solint: A linting utility for ethereum solidity smart-contracts, 2016.
    [15] Chun-Sheng Ke and Yean-Ru Chen. Instruction verification of ethereum virtual machine by formal method. In 2020 Indo–Taiwan 2nd International Conference on Computing, Analytics and Networks (Indo-Taiwan ICAN), pages 69–74. IEEE, 2020.
    [16] Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. Decentralized Business Review, page 21260, 2008.
    [17] Gavin Wood et al. Ethereum: A secure decentralised generalised transaction ledger. Ethereum project yellow paper, 151(2014):1–32, 2014.

    無法下載圖示 校內:2026-09-23公開
    校外:2026-09-23公開
    電子論文尚未授權公開,紙本請查館藏目錄
    QR CODE