
技術原理:
1、交易
l交易記錄:
比特幣沒進行一次交易,就要在比特幣交易記錄中,用于確認交易,比特幣交易記錄是一個基于時間序列的鏈式結構,記錄付款人、收款人、交易金額、交易時間等數(shù)據(jù)。如:(1月1日趙大付給王二1比特幣,1月2日王二付給張三1比特幣,1月3日張三付給李四......)
l交易確認
電子貨幣進行交易時,為了保證交易的正常進行,傳統(tǒng)方法是引入信得過的第三方權威(銀行結算中心)來驗證每一筆交易,此處用到了中心化。
比特幣是去中心化的。因此要證明比特幣最新的交易記錄是有效的,比特幣用了“多數(shù)人的正義”的方法,當交易發(fā)生時,交易信息就會被公開宣布,如:5個人在一起同時用紙記錄一個交易,現(xiàn)在有人說“趙大給王二1塊錢”,這里面有三個人都同意這件事并將其記錄下來,并把記錄的紙復印5份,人手一份,那么他們就有唯一受到認可的記錄了。
l防止記錄被篡改:
運用非對稱加密技術,除了擁有者,外人沒有密鑰無法解密交易記錄。擁有者不會篡改記錄,一則以前的記錄已經(jīng)被大多數(shù)人確認,無法更改,二則新交易尚未發(fā)生,不能進行更改。
2、時間戳服務器
l作用
對以區(qū)塊形式存在的一組數(shù)據(jù)實時隨機散列而加的時間戳。
l不同主機的時間不相同問題
因為去中心化,就不能從一個權威處獲取時間,比特幣使用“多數(shù)人的正義”方法獲取時間,時間來自于參與驗證而連接的節(jié)點的時間的中位數(shù),連接的節(jié)點數(shù)量不少于5,中位數(shù)時間和本機時間差別不超過70分鐘,否則就會提醒你跟新本機時間。
3、工作量證明:
l作用:
防止有人通過控制節(jié)點時間的方式而已更改時間,同時修改比特幣源碼跳過時間檢測機制或惡意構造交易。
l證明方法
n基于CPU投票(一CPU一票),用CPU投票解決誰是大多數(shù)的問題,“大多數(shù)”的決定表達為最長的鏈,因為最長的鏈包含了最大的CPU工作量。如果大多數(shù)的CPU是城市節(jié)點,那么誠實鏈條會最長。如果要對也已出現(xiàn)的區(qū)塊進行修改,攻擊者必須重新完成該區(qū)塊的工作量外加該區(qū)塊之后所有區(qū)塊的工作量,并最終趕上和超越誠實節(jié)點的工作量。
l原理:
提升造假成本。很多網(wǎng)站為了防止機器人惡意注冊,通常采用人際識別機制,如驗證碼。
根本原理在于安全和成本的相關性,沒有人會花200塊的成本去制造100塊的鈔票。
4、網(wǎng)絡廣播
l作用:
為了達成所有人參與的交易驗證和記錄,需要將交易廣播出去,為了實現(xiàn)廣播出去以后的信息實現(xiàn)同步和內(nèi)容統(tǒng)一。
l步驟:
1)新的交易向全網(wǎng)廣播
2)每個節(jié)點都將受到的交易信息納入一個區(qū)塊中
3)每個節(jié)點都嘗試在自己的區(qū)塊中找到一個具有足夠難度的工作量證明
4)當一個節(jié)點找到了一個工作量證明,他就想全網(wǎng)進行廣播
5)當且晉檔包含在該區(qū)塊中的所有交易都是有效的且之前未存在過的,其他節(jié)點才認同該區(qū)塊的有效性
6)其他節(jié)點表是他們接受該區(qū)塊,而表是接受的方法是:在該卻快的末尾織造新的區(qū)塊一延長該鏈條,而將被接受區(qū)塊的隨機散列值視為先于新區(qū)快的隨機散列值。
l原理:
n僵局
節(jié)點始終將最長的鏈條視為正確的鏈條,兵持續(xù)工作和延長它。如果有兩個節(jié)點同時廣播不同版本的新區(qū)快,那沒其他節(jié)點在接受到該區(qū)塊的時間上將存在先后差別。詞是,他們講在率先收到的區(qū)塊基礎上進行工作,丹也會保留另外一個鏈條,以防后者變成最長鏈條。
n僵局的打破:
等到下一個工作量證明被發(fā)現(xiàn),二其中的一條鏈條被證實是較長的一條,那么在另一條分支鏈條上工作的節(jié)點將轉換到被證實為較長的那條鏈上工作。
5、激勵機制
n產(chǎn)生原因:
因為每一筆交易,都需要至少5個節(jié)點的參與驗證,參與驗證必將消耗節(jié)點的CPU計算量,要維持節(jié)點持久性而非激情性地參與驗證,需要一種激勵機制,最好的激勵機制是直接的經(jīng)濟獎勵。
n好處:
n可以保持節(jié)點的誠實性
n提供一種將電子貨幣注入到流通領域的方法
6、計算量問題:
考慮到了計算機硬件的摩爾定律:為了應對計算機計算力的大幅度提高,比特幣的挖掘量達到一定的數(shù)值之后,后續(xù)的比特幣的挖掘所需的工作量也提高,相當于:5年前,用1000塊的設備花30小時能挖到1個比特幣,而現(xiàn)在用此時1000塊的設備挖比特幣還是要30小時才能挖到一個比特幣,但是此時的1000塊的設備的計算性能是5年前的很多倍了。