0人評分過此書

區塊鏈生存指南:帶你用Python寫出區塊鏈!

出版日期
2022/07/01
閱讀格式
PDF
書籍分類
學科分類
ISBN
9786263332133

本館館藏

借閱規則
當前可使用人數 30
借閱天數 14
線上看 0
借閱中 0
選擇分享方式

推薦本館採購書籍

您可以將喜歡的電子書推薦給圖書館,圖書館會參考讀者意見進行採購

讀者資料
圖書館
* 姓名
* 身分
系所
* E-mail
※ 我們會寄送一份副本至您填寫的Email中
電話
※ 電話格式為 區碼+電話號碼(ex. 0229235151)/ 手機格式為 0900111111
* 請輸入驗證碼
一本手把手教你用Python刻出區塊鏈的技術書,想了解區塊鏈背後的原理?就從挽起袖子寫程式開始!

手把手教學:你也可以寫出跑得動的區塊鏈!
實用密碼學:Merkle Tree、非對稱加密、零知識證明是怎麼做的?
共識與分岔:暫時性分岔、軟分岔、硬分岔有甚麼區分?
礦工的世界:扣塊攻擊怎麼做?機槍池的原理是甚麼?
去中心金融 - 乙太坊上也有當舖!預言機暗藏危險?AMM機制是怎麼做的?

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

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

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

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

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

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

6.去中心化金融
為何 ERC20 如此重要?借貸系統是如何實作的?有哪些獲取正確價格的方式?為什麼閃電貸可以拿來攻擊?為何算法穩定幣註定會失敗?
  • 01 前言:區塊鏈的誕生
    • 1-1 用共識來信任
    • 1-2 不信任中誕生的信任
    • 1-3 你的錢不是你的錢
    • 1-4 Be your own bank
    • 1-5 比特幣能成為實質上的「貨幣」嗎?
    • 1-6 本書的架構
  • 02 打造一個簡易的區塊鏈
    • 2-1 定義格式與架構
      • 交易的組成
      • 區塊鏈架構
    • 2-2 產生創世塊與挖掘新區塊
      • 產生雜湊值(Hash)
      • 產生創世塊(genesis block)
      • 放置交易紀錄至新區塊中
      • 挖掘新區塊
      • 現在遇到的問題
    • 2-3 難度調整與確認雜湊鏈
      • 調整挖掘難度
      • 計算帳戶餘額
      • 確認雜湊值是否正確
      • 測試一下
      • 目前的問題
    • 2-4 公、私鑰與簽章
      • 非對稱式加密
      • 一個交易經過了哪些步驟?
      • 利用RSA加密產生公、私鑰與地址
      • 利用產生的公私鑰簽章後發送交易
      • 試著跑起整個鏈並發起交易
      • 目前的問題
    • 2-5 節點與使用者的溝通
      • 前置作業
      • Socket
      • Thread
      • Bitcoin中的Socket與Thread
      • 節點與客戶端的功能
      • 產生錢包地址與公私鑰
      • 初始化交易
      • 簽章交易
      • 控制流程
      • 實際操作
      • 查詢餘額
      • 發起交易
      • 確認是否有收到
    • 2-6 節點間的同步與廣播
      • 節點的建置
      • 接受並判別訊息
      • 接收並驗證廣播的區塊
      • 如果廣播的區塊驗證通過,改挖掘下一塊
      • 挖掘到新區塊,廣播給其他節點
      • 執行我們的區塊鏈與雙節點
      • 現實中的網路
      • 網路的延遲
      • 節點不全然可信(reliable)
      • 完成簡易的區塊鏈了!
  • 03 密碼學初探
    • 3-1 名詞簡介
      • 編碼
      • 亂碼
      • Big5與UTF-8
      • 編碼的其他應用
      • 壓縮
      • 無失真壓縮
      • 失真壓縮
      • 霍夫曼(Hoffman) 編碼
      • 雜湊
      • 雜湊在區塊鏈上的功能
      • 雜湊的其他功能
      • 雜湊表(Hash Table)
      • 自製一個簡單的雜湊函數
      • 加密
      • Kerckhoffs's principle(柯克霍夫原則)
    • 3-2 古典加密
      • Caesar加密
      • Monoalphabetic加密
      • Vigenère Cipher a.k.a. 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
      • 犯罪者的溫床
      • 幾種匿蹤性貨幣
  • 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 礦工間的戰爭
      • 壓低成本(電費)
      • 硬體調校
      • 契約用電與時間電價
      • 增加挖礦期望值
      • 挖空塊
      • 跳跳池
      • 跳跳池
      • 扣塊攻擊
  • 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的分岔
  • 06 比特幣Bitcoin
    • 6-1 區塊鏈與代幣的發展
      • 區塊鏈1.0、2.0、3.0
      • 區塊鏈1.0 ― Bitcoin
      • 區塊鏈2.0 ― Ethereum
      • 區塊鏈3.0 ― 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
      • 初始化一筆交易
      • 簽署這筆交易
      • 多重簽名
  • 07 乙太坊Ethereum
    • 7-1 Ethereum Virtual Machine(EVM)與智能合約
      • 圖靈完備性
      • Ethereum Virtual Machine(EVM)
      • Ethereum傳統的Gas機制
      • 第一價格拍賣
      • 第二價格拍賣
      • EIP-1559 的交易手續費
      • 智能合約(Smart Contract)
      • Decentralized Application(DAPP)
    • 7-2 基礎智能合約語法
      • 開發環境與使用
      • 合約架構
      • 變數型別
      • 運算子
      • 函式撰寫
      • 常用contract/library
      • 智能合約範例
    • 7-3 智能合約的使用與操作
      • 智能合約
      • 網頁與Ethereum的互動
      • Metamask
      • Web3.js
      • 初始化並連接節點
      • 取得錢包餘額
      • 匯款
      • 使用智能合約
    • 7-4 ETH 2.0
      • 權益證明(Proof of Stake,PoS)
      • 分層分片鏈(Sharding)
  • 08 去中心化金融(Decentralized Finance,DeFi)
    • 8-1 智能合約上的金融系統
      • ERC20標準代幣
    • 8-2 混幣器Tornado.cash
      • 混幣器的原理
      • 存款憑證
    • 8-3 乙太坊上的「當鋪」
      • MakerDAO
      • Compound
      • Aave 與閃電貸
    • 8-4 兌幣協議
      • 自動做市商(Automated Market-Makers,AMM)
      • 無常損失(Impermanent Loss)
      • Uniswap
      • Lido Finance
      • Curve Finance
      • Convex Finance
    • 8-5 算法穩定幣Luna的四百億美金帝國
      • Terra與UST的建立
      • 瘋狂的資金潮
      • 死亡螺旋
  • 09 踏入虛擬貨幣
    • 9-1 相關媒體
      • 區塊客
      • 區塊勢
    • 9-2 購置虛擬貨幣
      • 代購商
      • 國內交易所
      • 國外交易所
      • 冷錢包
    • 9-3 常見交易方式
    • 9-4 區塊鏈不可能三角
    • 9-5 USDT是泡沫嗎?

評分與評論

請登入後再留言與評分
幫助
您好,請問需要甚麼幫助呢?
使用指南

客服專線:0800-000-747

服務時間:週一至週五 AM 09:00~PM 06:00

loading