商品簡介
作者簡介
網絡ID Xrosheart,就讀于上海交通大學網絡空間安全學院。現于Loccs實驗室區塊鏈研究小組和看雪區塊鏈安全小組從事區塊鏈領域的研究,在以太坊智能合約安全方面有相關在投論文和在申請專利。
陳佳林,
看雪論壇“iOS安全”版主roysue,看雪講師,在移動安全領域有豐富的項目經驗。曾在2017看雪安全開發者峰會、GeekPwn發表主題演講,多次主持銀行、電信、行業部門的培訓並擔任講師,在看雪、FreeBuf、安全客等安全社區發表多篇精華文章。目前就職於看雪科技,主要研究方向包括移動安全、區塊鏈等。
王鑫,
網絡ID dwfault,啟明星辰ADLab團隊安全研究員。主要研究方向為區塊鏈、Web瀏覽器等軟件系統的漏洞分析、漏洞挖掘,並在上述領域獲得了若干CVE漏洞編號和廠商致謝。
何芷珊,
網絡ID CoralineH,畢業于上海交通大學電子信息與電氣工程學院信息安全專業。主要研究方向包括區塊鏈、人工智能對抗、ICN等。
目次
1.1 區塊鏈簡介 1
1.2 區塊鏈1.0 ――比特幣,一種點對點的現金支付系統 1
1.2.1 比特幣的產生 1
1.2.2 深入分析比特幣的工作機制 5
1.2.3 結合《比特幣白皮書》理解比特幣 9
1.2.4 比特幣的回顧與剖析 13
1.2.5 比特幣的不足 16
1.3 區塊鏈2.0 ――以太坊 18
1.3.1 以太坊的產生 18
1.3.2 深入理解以太坊 18
1.4 區塊鏈3.0 ――DApp 25
1.5 基於以太坊的智能合約入門 25
1.5.1 智能合約的結構 26
1.5.2 EOS上的智能合約及其與以太坊的對比 27
第2章 智能合約開發實戰
2.1 以太坊網絡 29
2.2 私有鏈的搭建 30
2.2.1 geth簡介 30
2.2.2 geth的安裝與配置 31
2.2.3 geth的操作及相關說明 33
2.2.4 以太坊中的賬戶與密鑰 39
2.2.5 查看以太坊網絡的狀態 40
2.3 Mist和Ethereum Wallet的安裝、配置與操作 42
2.3.1 下載與安裝 42
2.3.2 通過Ethereum Wallet連接本地私有庫 42
2.3.3 用Mist實現多重簽名 45
2.4 以太坊智能合約開發實戰 52
2.4.1 開發環境 52
2.4.2 編寫第一個智能合約 54
2.5 ERC-20 Token合約 58
2.5.1 Token合約概述 58
2.5.2 ERC-20 Token合約詳解 60
2.5.3 對ERC-20 Token合約的進一步說明 61
2.6 本章小結 63
第3章 智能合約語法實戰
3.1 造就骨架――建立合約框架 64
3.2 初添血肉――添加狀態變量 66
3.2.1 數據類型簡介 66
3.2.2 添加uint類型的變量 67
3.2.3 添加結構體 67
3.2.4 添加數組 68
3.3 再添經脈――添加函數 70
3.3.1 添加一個簡單的函數 70
3.3.2 添加一個複雜的函數 72
3.3.3 特別的函數――回退函數 75
3.4 與外界交互――添加事件 80
3.5 大腦的溝通――多用戶拓展 82
3.5.1 神經的連接――映射和地址 82
3.5.2 神經的傳輸――msg.sender 85
3.5.3 神經興奮的判別――require()方法 87
3.5.4 生命的傳承――Inheritance 87
3.5.5 血液裡的本能――“獵食”和“繁殖” 90
3.5.6 DNA的融合 91
3.5.7 各司其職的隱私――關於函數可見性的更多內容 92
3.5.8 同化作用――合約交互 93
3.5.9 同化作用的結果――獲得獎勵 98
3.6 高級Solidity理論 100
3.6.1 外部依賴關係 100
3.6.2 權限的產生――Ownable Contracts 101
3.6.3 權限的確認――函數修飾符onlyOwner 105
3.6.4 運轉的動力――gas 107
3.7 Truffle的介紹與安裝 108
3.8 創建、部署、使用Token合約 110
3.8.1 Truffle的box和OpenZeppelin 110
3.8.2 安裝tutorialtoken box和OpenZeppelin 111
3.8.3 創建TutorialToken合約 112
3.8.4 合約的編譯與部署 114
3.8.5 合約操作與實踐 116
3.9 創建、部署、使用ICO合約 121
3.9.1 ICO簡介 121
3.9.2 創建ICO合約 122
3.9.3 ICO合約的編譯與部署 125
3.9.4 ICO合約的操作實踐 130
3.10 本章小結 131
第4章 智能合約常見漏洞
4.1 智能合約審計指南 132
4.1.1 智能合約審計概述 132
4.1.2 智能合約審計報告的結構 132
4.2 整型溢出漏洞 133
4.2.1 漏洞概述 133
4.2.2 代碼片段 133
4.2.3 漏洞分析與調試 134
4.2.4 相關案例 139
4.2.5 規避整型溢出的神器――SafeMath庫 140
4.3 重入漏洞 141
4.3.1 漏洞概述 141
4.3.2 代碼片段 148
4.3.3 漏洞分析、調試與防範 149
4.3.4 相關案例 155
4.4 訪問控制缺陷 155
4.4.1 漏洞概述 155
4.4.2 代碼片段 156
4.4.3 漏洞分析、調試與防範 157
4.4.4 相關案例 162
4.5 特權功能暴露 162
4.5.1 漏洞概述 162
4.5.2 代碼片段 163
4.5.3 漏洞分析、調試與防範 163
4.5.4 相關案例 170
4.6 跨合約調用漏洞 170
4.6.1 漏洞概述 170
4.6.2 代碼片段 172
4.6.3 漏洞分析、調試與防範 173
4.6.4 相關案例 176
4.7 拒絕服務漏洞 177
4.7.1 漏洞概述 177
4.7.2 代碼片段 177
4.7.3 漏洞分析、調試與防範 178
4.7.4 相關案例 185
4.8 礦工特權隱患 185
4.8.1 漏洞概述 185
4.8.2 代碼片段 185
4.8.3 漏洞分析與防範 186
4.8.4 相關案例 187
4.9 短地址攻擊 187
4.9.1 漏洞概述 187
4.9.2 代碼片段 189
4.9.3 漏洞分析、調試與防範 190
4.10 tx.origin漏洞 195
4.10.1 漏洞概述 195
4.10.2 代碼片段 195
4.10.3 漏洞分析、調試與防範 195
4.11 本章小結 199
第5章 智能合約蜜罐
5.1 智能合約蜜罐概述 201
5.2 WhaleGiveaway1 201
5.2.1 蜜罐分析 201
5.2.2 代碼複現 203
5.3 Gift_1_ETH 207
5.3.1 蜜罐分析 207
5.3.2 代碼複現 210
5.4 MultiplicatorX3 213
5.4.1 蜜罐分析 213
5.4.2 代碼複現 215
5.5 TestBank 217
5.5.1 蜜罐分析 217
5.5.2 代碼複現 221
5.6 CryptoRoulette 223
5.6.1 蜜罐分析 223
5.6.2 代碼複現 225
5.7 OpenAddressLottery 226
5.7.1 蜜罐分析 226
5.7.2 代碼複現 229
5.8 KingOfTheHill 231
5.8.1 蜜罐分析 231
5.8.2 代碼複現 233
5.9 RACEFORETH 235
5.10 For_Test 237
5.10.1 蜜罐分析 237
5.10.2 代碼複現 239
5.11 DividendDistributor 240
5.11.1 蜜罐分析 240
5.11.2 代碼複現 244
5.12 與智能合約蜜罐相關的安全建議 246
5.13 本章小結 246
第6章 常見智能合約分析與審計工具
6.1 智能合約分析工具――Solgraph 247
6.1.1 Solgraph簡介 247
6.1.2 Solgraph的安裝與使用 248
6.2 智能合約審計工具――mythril 250
6.2.1 mythril的安裝 251
6.2.2 mythril的使用與功能說明 252
6.3 智能合約審計平臺――SECURIFY 257
6.3.1 SECURIFY概述 257
6.3.2 SECURIFY系統探究 259
6.3.3 SECURIFY的使用 261
第7章 智能合約審計實戰
7.1 智能合約審計清單 264
7.2 博彩遊戲合約審計 265
7.2.1 合約代碼與合約功能瀏覽 265
7.2.2 審計報告 268
7.3 CryptoKitties合約審計 274
7.4 本章小結 277
第8章 智能合約字節碼解構
8.1 打開引擎蓋――智能合約下的字節碼 278
8.2 解構第一步――creation 282
8.3 解構第二步――runtime 291
8.3.1 函數選擇器 292
8.3.2 函數包裝器 295
8.3.3 函數主體 301
8.3.4 元數據散列 305
8.4 本章小結 309
參考文獻 310
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。