iT邦幫忙

鐵人檔案

第 11 屆 iT 邦幫忙鐵人賽
回列表
Blockchain

從0開始架構區塊鏈 系列

從復刻一個簡單的區塊鏈開始談到架構完整的區塊鏈必備的幾個相關知識:密碼學、P2P網絡、拜占庭將軍等議題,接著來看實務上像是挖礦、閃電網路、智能合約的發展,最後搭配兩大公鏈:Bitcoin與Ethereum的實際操作。

鐵人鍊成 | 共 30 篇文章 | 9 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day01|前言:區塊鏈的誕生

用共識來信任 區塊鏈簡而言之是透過共識來解決信任的問題,不只有區塊鏈如此,共識實質上決定現實中許多東西,比方說公眾人物的風評或是市場上的價值:股票或黃金的價值就...

2019-09-17 ‧ 由 lkm543 分享
DAY 2

Day02|打造一個簡易的區塊鏈(1):定義格式

區塊鏈的架構 Transaction 打造一個簡單的區塊鏈之前,先來了解區塊鏈的架構與裏頭具備哪些要點。就像我們平常習慣用的銀行轉帳一樣,每筆交易都會產生一筆交...

2019-09-18 ‧ 由 lkm543 分享
DAY 3

Day03|打造一個簡易的區塊鏈(2):產生創世塊與挖掘新區塊

我們在昨天已經定義完交易、區塊、區塊鏈的主要格式與資料,今天的目標是架構起我們的簡易區塊鏈,並且能夠做到下面這四件事情 產生哈希/湊雜數(Hash) 產生創世...

2019-09-19 ‧ 由 lkm543 分享
DAY 4

Day04|打造一個簡易的區塊鏈(3):難度調整與確認哈希鏈

昨天我們已經有能力產生出新區塊,但區塊的產生時間會根據運算力的多寡而浮動,因此今天我們要處理的第一件事便是根據現在運算力多寡調整挖礦的難度,除此之外我們在處理交...

2019-09-20 ‧ 由 lkm543 分享
DAY 5

Day05|打造一個簡易的區塊鏈(4):公、私鑰與簽章

昨天遇到一個問題:如果我們未經驗證就直接把交易紀錄送上區塊鏈,那麼任意人都可以隨意移轉他人帳戶的餘額,很明顯這樣是不可以的,於是今天我們主要處理的便是驗證發起交...

2019-09-21 ‧ 由 lkm543 分享
DAY 6

Day06|打造一個簡易的區塊鏈(5):節點與使用者的溝通

前置作業 我們今天的目標是模擬節點(礦工)端與使用者端的互動,節點端儲存了自創世塊以來的所有交易明細,同時也負責接受交易、打包交易至區塊、挖掘區塊、廣播挖掘到的...

2019-09-22 ‧ 由 lkm543 分享
DAY 7

Day07|打造一個簡易的區塊鏈(6):節點間的同步與廣播

節點的建置 我們昨天已經能夠讓使用者端與節點端彼此溝通,而且能夠讓使用者在不需要儲存所有交易明細的狀況下向節點查詢餘額或是發起交易,但我們的節點也只有一個,在這...

2019-09-23 ‧ 由 lkm543 分享
DAY 8

Day08|密碼學初探(1):編碼與壓縮

密碼學 密碼學(Cryptography)一詞的英文來自兩個古希臘詞彙kryptós(隱藏的)和gráphein(書寫),因此古典密碼學主要著重在資訊傳遞與保密...

2019-09-24 ‧ 由 lkm543 分享
DAY 9

Day09|密碼學初探(2):哈希(湊雜)

我們昨天提到了四個下面名詞,並且已經解釋完編碼與壓縮: 編碼 壓縮 哈希(湊雜) 加密 在正式進入密碼學之前我們接著介紹:哈希 哈希(湊雜) 我們在Day0...

2019-09-25 ‧ 由 lkm543 分享
DAY 10

Day10|密碼學初探(3):古典加密

我們前天提到了下面四個名詞,並且已經解釋完編碼、壓縮、哈希: 編碼 壓縮 哈希(湊雜) 加密 因此今天我們最後要介紹:加密 加密 加密(Encrypt)的...

2019-09-26 ‧ 由 lkm543 分享