Ethereum Overview¶
Info
CTF 中關於區塊鏈安全的內容,目前爲止,涉及到最多的便是 Ethereum 安全。
定義¶
Ethereum is a decentralized, open-source blockchain featuring smart contract functionality. Ether (ETH) is the native cryptocurrency of the platform. It is the second-largest cryptocurrency by market capitalization, after Bitcoin. Ethereum is the most actively used blockchain. ------ from wikipedia
Ethereum 是區塊鏈 2.0 的代表產物,因其底層使用區塊鏈技術,所以繼承區塊鏈的各種特性,其中有一項便是 代碼一旦上鍊,便難以篡改或更改,所以我們需要額外關注它的安全。
智能合約 (Smart Contract) 是 Ethereum 中最爲重要的一個概念,允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。
CTF 中的區塊鏈¶
CTF 中有關於 Ethereum Security 還是比較簡單的,主要涉及到的是 Solidity Security, 下面介紹一下需要具備的基本能力。
要求¶
- 對區塊鏈基本知識以及交易本質有所瞭解
- 熟悉並掌握 Solidity 編程語言及以太坊虛擬機 EVM 運行機制
- 熟悉各種測試鏈,包括私鏈
- 熟悉 Remix、MetaMask、web3.js、web3.py 等工具或庫的使用
- 瞭解並掌握以太坊智能合約各種漏洞及其攻擊原理
- 對底層 opcodes 理解透徹
- 較強的程序理解和逆向分析能力
Note
注:以太坊智能合約大多數不公開源代碼,而是字節碼,所以需要逆向分析能力。