庫存狀況
「香港二樓書店」讓您 愛上二樓●愛上書
我的購物車 加入會員 會員中心 常見問題 首頁
「香港二樓書店」邁向第一華人書店
登入 客戶評價 whatsapp 常見問題 加入會員 會員專區 現貨書籍 現貨書籍 購物流程 運費計算 我的購物車 聯絡我們 返回首頁
香港二樓書店 > 今日好書推介
   
好吃(NO.5+6)套書(共二冊)
  • 定價99.00元
  • 8 折優惠:HK$79.2
  • 放入購物車
二樓書籍分類
 
區塊鏈生存指南:帶你用Python寫出區塊鏈!(iT邦幫忙鐵人賽系列書)

區塊鏈生存指南:帶你用Python寫出區塊鏈!(iT邦幫忙鐵人賽系列書)

沒有庫存
訂購需時10-14天
9789864345779
李耕銘
博碩
2021年3月05日
173.00  元
HK$ 147.05  






ISBN:9789864345779
  • 叢書系列:電腦類
  • 規格:平裝 / 304頁 / 17 x 23 x 1.57 cm / 普通級 / 單色印刷 / 初版
  • 出版地:台灣
    電腦類


  • 電腦資訊 > 程式設計 > SQL

















      一本手把手教你用Python刻出區塊鏈的技術書,想了解區塊鏈背後的原理?就從挽起袖子寫程式開始!

    ?

      手把手教學:你也可以寫出跑得動的區塊鏈!

      實用密碼學:Merkle Tree、非對稱加密、零知識證明是怎麼做的?

      共識與分岔:暫時性分岔、軟分岔、硬分岔有甚麼區分?

      礦工的世界:扣塊攻擊怎麼做?機槍池的原理是甚麼?

    ?

      本書內容改編自第 11 屆iT 邦幫忙鐵人賽的Blockchain 組冠軍系列文章,也是第一本從技術角度出發,透過實地撰寫區塊鏈開始談背後所應用到的相關知識。在完整復刻出區塊鏈後,更能了解到區塊鏈世界裡常聽到的幾個專有名詞:女巫攻擊、共識演算法、軟分岔與硬分岔、工作量證明、非對稱加密的由來。

    ?

      “What I cannot create, I do not understand” - Richard Feynman

    ?

      五大重點:

      1.用 Python 從頭打造區塊鏈

      本書重點在於從復刻出區塊鏈開始,帶你逐步了解開設錢包、發起並簽署交易、節點廣播的功能是如何被實作出來的,並透過實作過程中的細節來了解到區塊鏈背後需要哪些知識。

    ?

      2.密碼學初探

      虛擬貨幣之所以常被稱為加密貨幣就是因為應用了大量的密碼學,也是因為密碼學我們才能夠在茫茫的網路世界中確認彼此的身分!

    ?

      3.聊聊挖礦的兩三事

      帶你實地加入礦工們的世界,來看看礦工與礦池間又有哪些鉤心鬥角的方式!

    ?

      4.P2P網路入門

      在去中心化的世界中,我們如何知道彼此的身分?又如何形塑出一樣的共識?在求取共識的過程中,分岔又是怎麼形成的?

    ?

      5.淺談現實中的區塊鏈:BTC與Ethereum

      現在最知名的兩大公鏈莫過於比特幣(BTC)與乙太坊(ETH)了!除了講述區塊鏈的原理之外,本書最後也會帶你解析與走過比特幣與乙太坊的發展歷程與架構。



     





    Chapter 01 前言:區塊鏈的誕生

    1-1 用共識來信任

    1-2 你的錢不是你的錢

    1-3 Be your own bank

    1-4 本書的架構



    Chapter 02 打造一個簡易的區塊鏈

    2-1 定義格式與架構

    ?交易的組成

    ?區塊鏈架構

    2-2 產生創世塊與挖掘新區塊

    ?產生雜湊值(Hash)

    ?產生創世塊(genesis block)

    ?放置交易紀錄至新區塊中

    ?挖掘新區塊

    ?現在遇到的問題

    2-3 難度調整與確認雜湊鏈

    ?調整挖掘難度

    ?計算帳戶餘額

    ?確認雜湊值是否正確

    ?測試一下

    ?目前的問題

    2-4 公、私鑰與簽章

    ?非對稱式加密

    ?一個交易經過了哪些步驟?

    ?利用 RSA 加密產生公、私鑰與地址

    ?利用產生的公私鑰簽章後發送交易

    ?試著跑起整個鏈並發起交易

    ?目前的問題

    2-5 節點與使用者的溝通

    ?前置作業

    ?Socket

    ?Thread

    ?Bitcoin 中的 Socket 與 Thread

    ?節點與客戶端的功能

    ?產生錢包地址與公私鑰

    ?初始化交易

    ?簽章交易

    ?控制流程

    ?實際操作

    ?查詢餘額

    ?發起交易

    ?確認是否有收到

    2-6 節點間的同步與廣播

    ?節點的建置

    ?接受並判別訊息

    ?接收並驗證廣播的區塊

    ?如果廣播的區塊驗證通過,改挖掘下一塊

    ?挖掘到新區塊,廣播給其他節點

    ?執行我們的區塊鏈與雙節點

    ?現實中的網路

    ?網路的延遲

    ?節點不全然可信(reliable)

    ?完成簡易的區塊鏈了!



    Chapter 03 密碼學初探

    3-1 名詞簡介

    ?編碼

    ?亂碼

    ?Big5與UTF-8

    ?編碼的其他應用

    ?壓縮

    ?無失真壓縮

    ?失真壓縮

    ?霍夫曼(Hoffman) 編碼

    ?雜湊

    ?雜湊在區塊鏈上的功能

    ?雜湊的其他功能

    ?雜湊表(Hash Table)

    ?自製一個簡單的雜湊函數

    ?加密

    ?Kerckhoffss principle(柯克霍夫原則)

    3-2 古典加密

    ?Caesar 加密

    ?Monoalphabetic 加密

    ?Vigenere Cipher aka Polyalphabetic 加密

    ?One-Time Pad(一次性密碼本)

    ?Rail-Fence Ciphers(柵欄加密法)

    3-3 現代加密─ XOR 與 SPN 加密

    ?稍微現代一點的加密

    ?XOR Cipher

    ?Substitution-Permutation Network(SPN)

    ?SPN 演算法實作

    ?XOR Cipher

    ?S-boxes(替換盒)

    ?P-boxes(排列盒)

    ?加密:重複 XOR Cipher → S-boxes → P-boxes 的步驟

    ?解密:把加密的過程倒置過來

    ?測試一下加解密

    ?SPN 有滿足 Diffusion 跟 Confusion 嗎?

    ?SPN 與區塊鏈

    ?Feistel Cipher

    ?串流加密 vs 區塊加密

    ?串流加密

    ?區塊加密

    ?Electronic codebook(ECB)

    ?重放攻擊

    ?Cipher-block chaining(CBC)

    ?區塊鏈上的重放攻擊

    ?現代加密標準

    ?Data Encryption Standard(DES)

    ?Triple DES(3DES)

    ?Advanced Encryption Standard 加密(AES)

    ?Rijndael 演算法

    ?編碼、壓縮、雜湊、加密的比較

    3-4 Merkle Tree

    ?為什麼不直接連接(concatenation)所有交易再 Hash?

    ?Merkle Tree 如何驗證交易

    ?Second preimage attack

    ?Bitcoin 中的 Merkle Tree

    ?Full Node

    ?SPV(Simplified Payment Verification) Node

    3-5 非對稱加密與數位簽章

    ?對稱與非對稱加密

    ?對稱式加密

    ?非對稱式加密

    ?RSA 加密

    ?RSA 公私鑰的產生

    ?RSA 加密

    ?RSA 解密

    ?要如何攻擊RSA ?

    ?橢圓公式(Elliptic Curve Cryptography,ECC)

    ?橢圓公式概論

    ?橢圓公式的加法定理

    ?橢圓公式的離散

    ?橢圓公式的不可逆

    3-6 零知識證明

    ?沒有隱私的交易

    ?零知識證明(Zero-Knowledge Proofs)

    ?同態隱藏(Homomorphic Hidings)

    ?zk-SNARKs

    ?犯罪者的溫床

    ?幾種匿蹤性貨幣



    Chapter 04 關於挖礦的兩三事

    4-1 原理應用與礦池

    ?挖礦

    ?原生的挖礦

    ?挖礦方式演變

    ?挖礦硬體

    4-2 抗ASIC 演算法

    ?Bitcoin 被 ASIC 攻陷

    ?用CPU 挖能挖多少?

    ?ASIC 帶來極度中心化的疑慮

    ?Ethereum 如何對抗 ASIC

    ?Dagger-Hashimoto 演算法

    ?有向無環圖(Directed Acyclic Graph,DAG)

    ?Hashimoto 演算法

    ?Dagger-Hashimoto

    ?其他種抗 ASIC 演算法

    ?究竟有沒有必要對抗 ASIC?

    4-3 挖礦實戰

    ?如何開始挖礦

    ?選擇幣種/ 演算法

    ?ASIC 挖礦

    ?GPU 挖礦

    ?Nicehash 挖礦

    ?Ethereum 的算力預估

    ?選擇硬體

    ?CPU、RAM、SSD、網路

    ?主機板

    ?電源供應器(PSU)

    ?GPU

    ?選擇作業系統

    ?選擇挖礦軟體

    ?實際畫面

    4-4 礦工間的戰爭

    ?壓低成本(電費)

    ?硬體調校

    ?契約用電與時間電價

    ?增加挖礦期望值

    ?挖空塊

    ?跳跳池

    ?跳跳池

    ?扣塊攻擊



    Chapter 05 P2P 網路

    5-1 網路架構種類

    ?傳統的網路架構

    ?Peer to Peer(P2P)網路

    ?P2P 網路的難題

    ?工作的分配

    ?P2P 網路的分類

    ?P2P 與區塊鏈

    5-2 共識─拜占庭將軍問題

    ?拜占庭將軍問題

    ?拜占庭將軍問題與區塊鏈

    ?拜占庭容錯(BFT)演算法

    ?證明拜占庭容錯機制

    ?實用拜占庭容錯(PBFT)

    ?共識的形成與岔開

    5-3 共識未能形成的插曲:暫時性分岔

    ?暫時性分岔(Temporary Fork)

    ?Bitcoin 中的最長鏈機制

    ?Ethereum 中的叔塊(Uncle block) 機制

    ?叔塊如何被定義

    ?如何計算叔塊獎勵

    ?叔塊對整體礦工的利益是好的嗎?

    ?51% 攻擊

    5-4 共識未能形成的插曲:軟分岔與硬分岔

    ?升級之路上的岔路口

    ?從社群提案到接受

    ?BIP(Bitcoin Improvement Proposals)

    ?EIP(Ethereum Improvement Proposals)

    ?軟分岔(Soft Fork)

    ?硬分岔(Hard Fork)

    ?IFO(Initail Fork Offering)

    ?歷史上知名的硬分岔

    ?ETC 的分岔

    ?BCH 的分岔



    Chapter 06 現實中的區塊鏈

    6-1 區塊鏈與代幣的發展

    ?區塊鏈10、20、30

    ?區塊鏈10 ─ Bitcoin

    ?區塊鏈20 ─ Ethereum

    ?區塊鏈30 ─ IOTA?

    ?區塊鏈上代幣的實務發展

    6-2 Bitcoin 與 Ethereum 的交易架構

    ?Bitcoin 的 UTXO 架構

    ?UTXO 如何預防雙花攻擊

    ?UTXO 的優點

    ?Ethereum 的 Account 架構

    ?Account 架構如何預防雙花攻擊

    ?Input Data

    ?Account 架構的優點

    6-3 Bitcoin 的發展與路線之爭

    ?多重簽名

    ?隔離驗證(Segregated Witness,Segwit)

    ?閃電網路(Lightning Network)

    6-4 用 Command Line 操作 Bitcoin

    ?操作 Bitcoin

    ?圖形化介面

    ?Bitcoin-core

    ?環境設定

    ?啟動與停止

    ?挖掘新區塊

    ?發起交易

    ?手動簽發一筆交易

    ?查詢 UTXO

    ?初始化一筆交易

    ?簽署這筆交易

    ?多重簽名

    6-5 Ethereum 的 EVM 與智能合約

    ?圖靈完備性

    ?Ethereum Virtual Machine(EVM)

    ?Ethereum 的 Gas 機制

    ?智能合約(Smart Contract)

    ?Decentralized Application(DAPP)

    6-6 基礎智能合約語法

    ?開發環境與使用

    ?合約架構

    ?變數型別

    ?運算子

    ?函式撰寫

    ?常用 contract/library

    ?智能合約範例

    6-7 智能合約的使用與操作

    ?智能合約

    ?網頁與 Ethereum 的互動

    ?Metamask

    ?Web3js

    ?初始化並連接節點

    ?取得錢包餘額

    ?匯款

    ?使用智能合約



    Chapter 07 踏入虛擬貨幣

    7-1 相關媒體

    ?區塊客

    ?區塊勢

    7-2 購置虛擬貨幣

    ?代購商

    ?國內交易所

    ?國外交易所

    ?冷錢包

    7-3 常見交易方式

    7-4 區塊鏈不可能三角

    7-5 USDT 是泡沫嗎?





    其 他 著 作
    1. 演算法生存指南
    2. 區塊鏈生存指南:帶你用Python寫出區塊鏈!【第二版】(iT邦幫忙鐵人賽系列書)