可以上https://andersbrownworth.com/blockchain/看
Geth的工具可以自己做幣
SHA256 Hash –> 雜湊算法,用在資料加密
使用區塊練技術
每個找到的區塊都放在自己的硬碟裡面,區塊和區塊的連結用雜湊值(每個區塊產生的雜湊都不一樣),找到nonce之後廣播出去,給所有區塊,每個區塊紀錄上一次挖到的nonce(第一挖到nonce(2040505),產生hash值,紀錄上次prev(000…..)),第二挖到nonce(10212),紀錄上次prev((hash01),第三挖到nonce(242357),紀錄上次prev(hash02)),形成一個鏈結
區塊練是 peer to peer 的架構,挖到幣之後,要廣播讓大家知道,幣才會發下來,系統會檢查挖到幣的人的區塊鏈是不是最長的,是不是正確的(鏈結是不是第一的接第二個….),是不是造假(多數決,看其他人的區塊雜湊值有沒有跟你一樣)
去中心化的交易方式: public key / private key,要交易需要自己的public key、private key,別人的public key,
可以自己創建一個private key(錢包的錢要用這個開),每一筆交易存在一個區塊裡(不能超過4MB)
區塊後面比較弱,如果改了第2個區塊,2~n個區塊都要改
區塊鍊都是存在硬碟裡,透過peer互相驗證鍊結,如果只是要交易,不用存區塊,只要用public key和private key就可以紀錄再區塊裡面了,但如果是礦工,就要下載全部的區塊,才可以開始挖礦,挖到再驗證…..
挖礦機加上SHA會快很多,可以把指令寫成電路,會快很多,可以再用平行去加速
JSON.stringfy() ; 把JSON改成字串
非對稱演算法 (e 是公鑰, d 是私鑰),使用質數去做加密,數位簽章就是用類似的技術
c = n**e mod N --> 別人加密訊息
n = c**d mod N --> 自己解密訊息
IVEA對稱式加密,比較快,只有一把鑰匙,交易兩人互相知道
metamask 可以創建 public key 和 private key
Merkle Tree,是把區塊鍊變成tree,可以提升它的速度