- 一、 比特幣是一種基於"密碼學"的電子貨幣
-
2008年11月1日 中本聰->(白皮書-比特幣:一種點對點的交易系統)
-
去中心化的電子記帳系統->帳本皆為公開
- 假設: 現有4人,A、B、C、D
- A支付B:10比特幣、 B支付C:5比特幣、 C支付D:2比特幣 ,每筆交易廣播給其他3人,而這些交易紀錄會形成一個"區塊",再將其鏈結到舊區塊上,形成"區塊鏈"。
-
問題
- 1.帳單以誰為準?(會因為延遲造成每人的資訊不對稱)
- 2.為何需要記帳?
- 3.如何防偽?
-
為何需要記帳?
- 記帳有獎勵
- 手續費收益
- 打包交易紀錄獎勵(只能一個人)
- 中本聰設計為10分鐘打一個包,每打一個包獎勵50比特幣,每4年遞減,故比特幣有總量限制,約只有2100萬個
- 記帳有獎勵
-
帳單以誰為準?
- 只能一個人打包
- 中本聰->工作量證明(PoW)
- 每一參與打包的用戶都必須解數學題,做出來後,就有打包的權利,並獲得手續費、打包獎勵->挖到礦
-
- 二、 挖礦原理
- Hash Function: SHA256(256位的二進位數)
- 特色: 正向算容易,反向算困難
- 具體原理
- 每一區塊並不只有交易訊息,還可分成區塊的頭部
- 數學題的產生
- 字符串:
- 前區塊的頭部+現有帳單信息+時間+…+隨機數
- 對字符串作2次Hash Function(SHA256),產生2進位數
- 規定前幾位數必須是0(關係到運算難度)
- 算出的Hash數做為新區塊的頭部完成打包,並與舊區塊鏈結->挖礦Fin.
- 字符串:
- 如何算出前幾位是0?
- 透過改變隨機數(其餘都是定值)
- 比賽誰的計算能力強
- 計算難度設置
- 特過操控前n位0->保證每10分鐘打包一個區塊
- Hash Function: SHA256(256位的二進位數)