比特幣理解

1.比特幣的去中心化

爲什麼要去中心化,中本聰對這些失敗者的反省是,Beenz、Flooz、E-cash、B-money等虛擬貨幣先驅嘗試的失敗主要是由其中心化的組織結構所造成的。這是因爲一旦爲虛擬貨幣信用背書的公司倒閉,或保管總賬的中央服務器被黑客攻破,該虛擬貨幣即面臨信用破產與內部崩潰的風險

git 的互相推送 沒有中心服務器,大家都是中心服務器,互相同步數據 所以 無法只更改自己的數據

所有人都是數據庫, 所以你無法修改

這裏理解有問題 所有人都是數據庫 數據量 非常大 ,而是有人會計算一個結果 爲大家得到的數據,這個數據就是一個區塊,

這個區塊包含了最近10分鐘所有的比特幣交易信息,正好解決了生產的問題,就我挖礦,誰的計算應該是最快,被承認 就是下一個區塊

你只知道你的上家 或者下家? 其實就是交易記錄流向

 

什麼是貨幣?

什麼是貨幣呢?貨幣就是商品(包括服務)交換的媒介。現在我們通行的貨幣是由有信譽的銀行發行的,基本上是由其信譽來擔保的。只要用的人都認可,那麼我們就可以用它來交易。貨幣有一定的保值特性,我把我的勞動/服務/所有的商品換成貨幣後,銀行擔保我在日後的某一天,我還可以用它交換會差不多等值的東西。這個保證的前提是,銀行不會濫發新的貨幣以及大家都信任這一點。

 

以前,我們用貴金屬做貨幣。因爲貴金屬產量不高,貨幣新增加的速度有限,而經濟體在不斷增大,市場需要更多的貨幣來讓商品儘量的流通。有需求就有價值,從這個意義上來說,貴金屬本身製造別的東西具備的價值是次要的,經濟體需要貨幣來流通商品這個需求才是主要的。而貴金屬產量有限,且曾經流通着的貴金屬貨幣由於各種原因會退出市場,那麼即使是新造的貴金屬貨幣也有同樣甚至更高的價值。

比特幣爲什麼保值,BTC (比特幣的貨幣簡稱)存在於一個龐大的 p2p 網絡中。使用 比特幣的羣體公認了一種算法,這種算法在現今的條件下,每小時只會新產生大約 6 組新的比特幣,目前一組是 50 個。也就是說,這個世界上,每個小時大約只會產生 300 個比特幣。這個產量還會由網絡自動調整難度來限制產量。你沒辦法通過修改所有人的 Client 的算法及參數(client 是開源的)來加快貨幣產量。僞造的貨幣會被網絡丟棄(除非你可以控制大部分網絡節點)。

the-dream

比特幣本身有什麼價值?

BTC 的價值就是交易渠道本身。一組新制造出來的比特幣提供了把舊的比特幣從一個帳戶轉移到另一個帳戶的數學保證。這個安全保證背後的代價是大量的計算力。生產這麼一個安全通道是需要消耗大量能源的,所以整個比特幣用戶羣體,獎勵那個造幣者(目前是 50 BTC)。

 

簡單說,我的理解就是,現在世界上所有的比特幣背後都是用運行計算機的能量產生出來的,它們的總價值,(到現在一共有大約 12w 組比特幣被生產出來,每組 50 個,市場價格大約 7.3 美金一個),應該是少於消耗掉的能源的總市場價值的。不過我想,用於生產比特幣的能源大都原本就是不用也被浪費掉的資源。

一個沒有中心節點的“銀行”是怎麼讓大家信任並工作起來的呢?

答案是,這個 p2p 網絡上每個節點都記錄了比特幣誕生以來的每筆交易的詳單,並從中可以推測出每個比特幣唯一的屬於誰。這樣你接受一筆交易時,就能知道別人給你的錢是不是合法的。

從最基本的說起:

每個帳戶其實就是一對公私匙,有私匙的人就是帳戶的主人。如果 A 要給 B 轉一筆錢,A 就把錢的數量加上 B 的公匙,用自己的鑰匙簽名。而 B 看到這個簽名,就可以瞭解,的確是 A 轉給了他如數的比特幣。

那麼這筆交易需要一個見證人,擔保交易發生過。這樣,以後 B 想用這筆錢的時候纔是合法的。擔保人就是整個使用比特幣的網絡。

A 在發起這筆交易的時候,必須把簽過名的交易單儘量的廣播到 p2p 網絡上,最終會讓每個節點都知道這件事。B 從 p2p 網絡上不斷的收到別人的確認信息。當它收到足夠多的確認信息後,就認爲 A 的確發出了這條交易單。這以後,B 就可以自由使用這筆錢了。

當 B 使用 A 轉給它的錢給 C 時,也會廣播給足夠多(最終所有人都收到)的人讓他們擔保。每個擔保人只有確信 B 有足夠多的錢可以支付的時候才做確認。本質上,BTC 網絡並沒有記錄每一塊錢屬於誰,它記錄的是從誕生起到當前的每一筆交易,並推算出每個帳戶裏有多少錢。任何人試圖確認一個交易單時,它需要確認的是轉出帳號上有沒有那麼多錢。

比特幣需要解決的核心問題是,如何避免一筆錢被花兩次。

整個帳單序列是一環套一環的。每個人在完整的全局帳單上籤上新的一筆的時候,都需要利用前面信息生成後面的。這個帳單序列被稱爲 chain of blocks 。每個區塊裏面包含有若干條經過確認並 hash 簽名(難以僞造)的交易記錄。每個區塊都和全局表上的上一個區塊有關聯。每條帳單都會通過 p2p 網絡最終被轉發給製造新區塊的節點上。

這個製造新區塊的過程被叫做挖礦,製造新區塊就是把最近收到的帳單打包在剛製造的區塊裏。這個打包的過程即製作的過程,只有極其稀少的機率被製造成功。(你可以理解成把新收到的帳單合在一起,一次成型不可修改,如果製造失敗就要再來一次)一旦製造成功,你就把新的區塊(被認爲是對老的全局區塊鏈的延續)廣播出去。

因爲是 p2p 網絡,可能有許多人都在同時製造新的區塊,但有一個排序機制保證只有最優(最難,花費最大計算時間的)的那個新區塊被網絡羣體接受,掛在全局的區塊鏈上。重複一次,整個比特幣網絡只有一個全局帳單表,每個節點都完整的保存有一份。

 

這個全局帳單表會越來越大,區塊鏈越來越長,在最新的部分,必然有許多分茬。這是因爲 p2p 網絡的挖礦過程是分開並行進行的,每條新帳單也不能立刻廣播給所有的節點。每個挖礦的節點都有責任把他新收到的,在他認可的老的全局帳單上不存在的帳單,合在他準備製造的新區塊中。一旦新區塊被製造出來,就立刻廣播出去,爭取得到更多人的認可。主要是得到那些想挖礦的人的認可,這些人會在這個區塊的基礎上製造新的區塊。

如果 p2p 網絡過大,交易帳單不能儘量的迅速的廣播到全網絡。就會出來 p2p 的網絡的局部保持有小羣體共同認可的一份全局帳單。多個全局帳單的分支同時發展是有可能的。因爲每個小羣體都可能認爲他們看見的那部分更長更有效。但是,只有有人發現另一條分支更長,它就會轉換陣營。所以,有一定的可能性,你的帳單被一個小羣體接受,但在一段時間後,被更大的陣營拋棄。

不過,算法參數決定了,新的區塊產生速度很慢,如果你的帳單被多達 6 個人確認,基本上就保證了它合併到的那份全局帳單,就是 p2p 網絡全體認可的。

既然生成新區塊費時費力,製造出新區塊的機率好象買彩票中大獎,還有那麼多人去執行程序計算出新區塊呢?答案是,每個製造出新區塊的人,都有權利構造一條帳單聲明老天給了我 50比特幣。這個規則是被所有比特幣用戶共同承認的。把製造區塊等同於成挖金礦 (mining) 只是一個形象上的比喻。實際上,沒有人可以把金子挖出來囤積。每個新區塊必須包含全局表上的上一個區塊的 hash 值,BTC 網絡自我調節難度,讓每 10 分鐘大約產生一個新區塊。如果你 10 分鐘內沒製造出新的區塊,差不多就是說你前面 10 分鐘乾的活白乾了。從最新版的區塊繼續演算。

所以更恰當的比喻是買彩票。一個每 10 分鐘開一次的彩票。你不停的花錢買,10 分鐘內開中了就是你的,開不中先買的都作廢,然後下一輪。

數學上怎樣保證挖礦的過程需要消耗大量的 CPU 時間?並只有很小的機率成功?

這裏用到一個叫做 Hashcash 的系統。它最早是爲了改善 email spam 的問題被髮明出來的。

就是給一段特定信息(比如這封 email 是從誰發給誰)加一個特定的 hash 頭。這個 hash 頭需要大量的 CPU 時間計算出來。發 spam 的人沒有那麼多 CPU 時間爲羣發的每一封 email 計算一個符合要求的 hash 頭,所以認爲有這個合法 hash 頭的 email 不太可能是 spam (花了 CPU 時間在上面)

這個算法就是,爲你想保護的信息,找到一串數字,附加上去後,使用某種公認的 hash 算法,比如 SHA-2 ,算出一個 hash 值。如果 hash 值由一長串 0 打頭(具體多少個決定了難度),那麼就成功了。

bitcoin-diagram

爲一段信息,找到這串數字,在目前來說,除了暴力嘗試沒有什麼好的方法。也就是隨機更換數字,換一次就 hash 一次比對。在一個可以預期的嘗試次數後,一般都能找到想找的數字。

每個想挖礦賺比特幣的人,不停的從比特幣網絡上監聽信息。如果有人發佈了新的合法的區塊,他就合併到本地的全局表裏。並重置自己的計算過程,從新得到的區塊開始。如果有新發布的交易單,也記錄下來。不斷的把最新的區塊的 hash 值、新收到的交易單,自己獲得 50比特幣的那條獎勵單合併在一起,計算 SHA-256 ,看看結果是否滿足條件。一旦滿足,就把這個新的區塊廣播出去。

當足夠的人認可它,(以它爲基礎計算後面的區塊),他也就獲得了那 50比特幣。

爲了匹配比特幣的經濟規模。所有的 比特幣client 都被設置成,每 210000 個區塊,生產新區塊的人被認可憑空獲得的比特幣數量比之前的少一半(如果這個時候他還在包內寫上自己獲得 50比特幣,其他人不會確認他的這個區塊)。這會讓比特幣的總量增速變緩。新的區塊產生的速度是由難度來調節的。這個難度會由 p2p 網絡根據最近生產區塊的速度自動調節。所以即使日後計算能力增加,也能保證大約 10 分鐘一個的速度。

而且,隨着生產新區塊的收益減少,願意貢獻自己的 CPU 來挖礦的節點也會變少。(如果減少太多,只需要減少難度即可)

最終,p2p 網絡不再憑空製造出新的比特幣,這個時候製造新的區塊的動力是什麼呢?那就是交易稅。因爲沒有什麼人願意生產新的區塊,發起交易就變的困難。(沒有區塊可以容納交易單)希望交易被確認的人可以聲明,如果有人制造出新的區塊接納他的交易單,他會支付一小筆交易稅給他。當許多人都這麼做的時候,製造區塊又變的有利可圖了。只不過,直接上不再有新的比特幣誕生,只是在這些比特幣用戶之間流通。

總有一些比特幣會消失,主要是那些帳號的私匙丟失了,沒有任何人可以轉移走帳戶上的錢。不能流通的貨幣就不是貨幣了。但最終比特幣總體會達到一個比較大的規模,準確說是兩千一百萬個。但比特幣本身是可以切割的,比如你可以支付給別人 0.01 個比特幣。所以比特幣本身會升值,總數也一直夠用。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章