1. 程式人生 > >比特幣約10分鐘產生的原理

比特幣約10分鐘產生的原理

本文是以普通人的角度來猜測。如有不對,請告訴我。

每約10分鐘頒發一次比特幣。

這句話已經很通俗易懂了。
正常的應該說,約10分鐘可挖出一個區塊,一個區塊獎勵一定的比特幣。
但是呢!我這樣說,只是為了突出10分鐘

疑問:究竟是怎麼控制約10分鐘挖出一次?

網上多數的回答是調節數學問題的難度來控制挖掘速度。

???不懂啊,為什麼調節數學問題難度就可以控制挖掘速度呢?
上面的問題還沒解決,新的疑問又來了,
1.數學問題,如果我很聰明,一下子解出答案,怎麼辦?
2.誰出的題目?

只有一直查資料。
啊啊啊!!!什麼hash啊,什麼雜湊值啊?隨機數啊?。。。新名詞不斷的出現。(而且隨機數,有的地方寫隨機值,不仔細看很容易認為是雜湊值。)

終於查到有用的,(本人小白,不知道引用會不會觸犯法律)

複製過來,

問題: 比特幣挖礦演算法是怎樣的?

回答:需要以下引數
1.block的版本:version
2.上一個block的hash值: prev_hash
3.需要寫入的交易記錄的hash樹的值:merkle_root
4.更新時間: ntime
5.當前難度: nbits

挖礦的過程就是, 找到x使得
SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET

上式的x的範圍是0~2^32,
TARGET可以根據當前難度求出的。除了x之外,你還可以嘗試改動merkle_root和ntime。由於hash的特性,找這樣一個x只能暴力搜尋。

看出什麼了嗎?好吧,看到這裡,SHA256?這又是什麼?
這裡再提供一個連結,

這裡為止,可能有些人還是有很多不懂的地方。
但我接下來,假定你知道以下幾點,
1.SHA256是一個hash公式。帶入一個數x進去,算出的數y是很難得回x。(這說法不嚴謹,其他同學別鑽牛角尖就好)
2.(好像沒2了)

小結:
如果要挖比特幣,你就要不斷的把不同的x帶入特定hash公式,算出不同的y。而y呢,就要達到標準,即前幾位是0。而控制約10分鐘挖一次就在於控制y前面有幾個0。

問題:那誰頒佈y的標準?y又是如何控制約10分鐘?

這裡以後全是我猜測,不對的話,希望有大神說出來。

整個網路,比特幣網路,比特幣協議,比特幣系統,比特幣挖礦原始碼。
這幾個詞,想到什麼了嗎?

頒佈y的標準是整個網路喔,也不能說是頒佈,而是算出。
整個網路有點抽象,範圍有點大,上面的幾個詞就為了逐步縮小了範圍。

看多比特幣資料的人,都知道,比特幣系統是可以知道從最開始到現在所有交易情況,當然也包括挖掘情況。
只要我在前幾個資料中提取挖掘情況,就可以計算出最近的挖掘速度。如果過快,就會調高y的標準。然後和整個比特幣市場說,現在y的標準是這樣喔。至於過慢情況,不會有吧?有也沒問題,降低y的標準就是了。

我可不是亂猜的,比特幣系統中認為,

每產生2016個block(約14天),網路會根據這段時間產生新block的平均間隔調整之後的TARGET。

看吧!每隔一段時間就會調整y(即TARGET)。

為什麼挖掘會過快呢?因為計算機的運算速度,加上很多人加入比特幣市場等原因。

小結:
利用最近的挖掘情況算出最近的挖掘速度,然後調整y的標準,即調整數學問題的難度。

問題:如果我一次就算出x值,那不就很賺?

也需有人想過這個問題,那麼我只能叫你買彩票試試。(雖然我沒買過彩票,不懂具體機制)

制約這一問題不會產生的,有以下兩點,(或許還有其他制約點)
1.SHA256的不可逆計算。說白了,x只能一個一個的帶入公式算出y,數學點的說法就是隻能列舉。(暴力破解)
2.比特幣系統的解題難度調節。具體就是上一問的情況。

買彩票,你買中一次,恭喜恭喜!你再買中一次,哇哇,走**(狗屎)運了你!!再買中一次,那麼我只能說。。。
以上情況,你認為多少機率會發生?很小甚至為0。

彩票系統設定這樣,比特幣系統也是設定成這樣。比特幣協議中SHA256為基礎的公式以目前的技術只能暴力破解。而每個x值的機會都是一樣的,那麼最終挖掘結果就會公平。
加上比特幣會調節y,那麼就更加不會出現不公平現象(這句話有幾個理由,但是呢,說出來感覺離話題太遠了)

再來一個極端的假設,有人破解了SHA256等hash公式,可以很快的挖掘比特幣。
然後你發現不對勁,調節系統出了問題,就會想比特幣原來這麼容易挖,這麼不值錢,比特幣系統這麼垃圾,種種。大家都像你這麼想的話,那麼比特幣系統就會崩盤,就不存在比特幣了。

小結:
比特幣的挖掘,目前只能勤奮地挖掘。

總結:

1.比特幣挖掘就是不斷地列舉x並帶入hash公式解出合適的y。
2.hash公式的計算是不可逆的。x可以算出y,y不能算出x(以當時的技術)
3.通過計算最近的挖掘速度,調節y的標準,控制挖掘速度。即,網上說的“調節數學問題難度來控制挖掘速度”。
4.x值最好只能列舉。(為啥說最好呢,突然想到幾個假設,覺得這樣說比較好)

因為這篇文章大部分是我的猜測,如果有同學覺得哪裡不對,請聯絡我。QQ:841212582

開始日期:20170912

相關推薦

10分鐘產生原理

本文是以普通人的角度來猜測。如有不對,請告訴我。 每約10分鐘頒發一次比特幣。 這句話已經很通俗易懂了。 正常的應該說,約10分鐘可挖出一個區塊,一個區塊獎勵一定的比特幣。 但是呢!我這樣說,只是為了突出10分鐘。 疑問:究竟是怎

區塊鏈在中的應用和原理

區塊鏈記賬原理 區塊鏈(1.0)是一個基於密碼學安全的分散式賬本,是一個方便驗證,不可篡改的賬本。通常認為與智慧合約相結合的區塊鏈為區塊鏈2.0, 如以太坊是典型的區塊鏈2.0很多人只瞭解過比特幣,不知道區塊鏈,比特幣實際是一個使用了區塊鏈技術的應用,只是比特幣當前太熱,把區

產生原理、運作方式、特點、區塊鏈等

摘要:要近期比特幣已經成為主流討論的熱門話題,自8月12日突破4000美元以來,比特幣的價格達到了前所未有的高點。根據CoinDesk比特幣價格指數,比特幣的價格今年迄今已上漲逾300%,總市

分鐘帶你看懂的運行原理

方法 簽名 版本 不能 不完全 簡單 騙子 發送 二次 有一種貨幣目前價值成百上千美元 ,但不是由金子、鉑金或任何貴重金屬制造的,這就是比特幣,那麽比特幣的原理是什麽呢? 針對不方便打開視頻的小夥伴,CDA字幕組也貼心的整理了文字版本,如下: 假設有一種貨幣目前價值成百上

PoW挖礦算法原理及其在、以太坊中的實現

print 惡意攻擊 actions 規則 rom header() const state divisor PoW,全稱Proof of Work,即工作量證明,又稱挖礦。大部分公有鏈或虛擬貨幣,如比特幣、以太坊,均基於PoW算法,來實現其共識機制。即根據挖礦貢獻的有效工

Cobra懟大陸濫用算力要求改算法,吳忌寒:或跌到10%下

比特幣吳忌寒昨天,Bitcoin.org負責人Cobra發表公開信怒懟比特大陸,要求比特幣用戶修改PoW算法,采用PoW+PoS混合系統,並且選擇那些方便搭建ASICs的算法。 隨後,比特大陸CEO吳忌寒在推特回應稱“太酷了。當你真的這麽做的時候,比特幣在加密貨幣市場的份額大概會跌到10%以下。祝你好運!”。

以及區塊鏈原理學習

管理 base58 分布式系 過程 現實社會 ali 同步 結果 計算   2018年春節過後區塊鏈技術一下子火爆起來了,本人也對該技術十分感興趣,因此想研究下區塊鏈技術的原理,看看區塊鏈背後那些技術值得去研究。由於自己缺乏實際的開發經驗和使用經驗,文中難免會有些理解不到位

貨幣發展歷程及產生

貨幣發展歷程 比特幣的產生 區塊鏈技術 第一階段:物物交換 在原始社會,人們用自己所擁有的物資去交換其他的物資,以滿足更多的物資需求,比如用一頭羊換一把石斧,這便是“物物交換”,在《易經·系辭下》有著“日中為市,致天下之民,聚天下之貨,交易而退,各得其所”的清晰記載。隨著物資的不斷豐富,人們需求的

如何挖礦(挖礦原理)-工作量證明

區塊鏈 比特幣 在區塊鏈記賬原理 一篇,我們了解到記賬是把交易記錄、交易時間、賬本序號、上一個Hash值等信息計算Hash打包的過程。我們知道所有的計算和存貯是需要消耗計算機資源的,既然要付出成本,那節點為什麽還要參與記賬呢?在中本聰(比特幣之父)的設計裏,完成記賬的節點可以獲得系統給與的一定數量的

深層技術原理淺析

相對 頁碼 system 介紹 菜刀 上架 積極 各類 賬單 摘要: 這是一篇主要針對技術小白的文章。本文盡量使用通俗易懂但又不失要義的文字,帶你深入剖析當前備受追捧的比特幣背後的深層技術原理,最後會簡要介紹一下業界市場的現狀。 這是一篇主要針對技術小白的文章。本文盡量使用

原理-賬號所有權的問題

技術分享 src 地址 技術 http 圖片 易信 對稱 一個 比特幣原理-賬號所有權的問題-由私鑰控制無個人信息 比特幣系統 1 點對點交易 沒有第三方 2 賬號就是地址來表示的,轉賬是從一個地址轉到另外一個地址 轉賬記錄就是 地址1 地址2 幣值 3

BTC的風風雨雨10年——未來十年,我們拭目以待

比特幣(Bitcoin),BTC——最初作為一些志同道合的cypherpunks(密碼朋克)之間的電子郵件鏈(現稱之為“區塊鏈”),現在已經變成了我們這個時代最熱門的技術之一。 10月31日,比特幣將迎來10週歲的生日,它是21世紀最具前景但又具有分歧的先進技術之一。 在全球金融危

芝加哥期權交易所:10期貨波動率創歷史新低

暴走時評:比特幣價格近幾周異常穩定,波動率的下降現已達到期貨市場的歷史新低。對於比特幣價格趨於穩定,波動率大大降低的現象,許多分析專家表達了自己不同的看法。 作者:Josiah Wilmoth       翻譯:Mir

區塊鏈交易原理

1.比特幣背景 在去中心化的區塊鏈比特幣中進行交易(轉賬)怎麼實現,通過例項來分析一下。需要進行交易,首先就需要有交易的雙方以及他們的認證機制,其次是各自的資金賬戶規則。在分散式賬本系統裡面,需要有機制能夠準確驗證一個使用者身份以及對賬戶資金的精確計算,不能出現一丁點差錯。在區塊鏈中交易

《精通》master_bitcoin-第二章-《原理

Abstract:在本章中, 我們將從一個較高層面檢視比特幣, 通過追蹤一筆比特幣系統中的單獨交易(以Alice買咖啡為例),來看看它在比特幣分散式共識機制中變得“被信任”和“被接受”的情形, 以及最終成功地被儲存到區塊鏈。 1. 比特幣交易   簡單來說,通過交易告

深入淺出區塊鏈-第一講 競爭記賬的的基本執行原理

  第1講:比特幣競爭記賬的的基本執行原理   開頭先問一個問題:為什麼一張可能只有幾釐錢成本的紙幣,卻能夠購買到價值百元的商品呢?   要解決這個問題,首先要理解我們人類社會從實物貨幣到記賬貨幣的演變,其次要理解我們現在所處的網際網路世界裡資訊的傳

10大PHP開源專案

如果你是一個Phper,如果你希望學習區塊鏈,那麼本文列出的 10個開源的Php比特幣專案,將有助於你瞭解在自己的應用中 如何加入對比特幣的支援。 如果你希望快速掌握使用Php對接比特幣錢包的方法,可以訪問我們的 線上互動課程:《Php比特幣開發詳解》。 1. bitcoin-

10個PHP開源專案

如果你是一個Phper,如果你希望學習區塊鏈,那麼本文列出的 10個開源的Php比特幣專案,將有助於你瞭解在自己的應用中 如何加入對比特幣的支援。 如果你希望快速掌握使用Php對接比特幣錢包的方法,可以訪問我們的 線上互動課程:《Php比特幣開發詳解》。 1

是誰控制了,是你?還是錢包?——BTC地址與交易原理大剖析

*- [ ] List item 比特幣地址有 1 打頭的地址 ,也有 3 打頭的地址,這兩者有什麼區別嗎? - [ ] List item 在哪種情況下,地址上的比特幣會被鎖死? - [ ] List item 到底是誰擁有比特幣的控制權,是你?還是

鑽石BCD挖礦軟體T-RES0.6.10上線算力+42%

自9月5號幣安開放比特幣鑽石BCD充提以來,BCD的熱度一直不減,全網算力從360G幾小時之間漲到900G。 居高不下的全網算力使得礦工挖礦難度加大,收益相較之前來說大幅度減少,很多礦工都說無利可圖。 就在這時,新的BCD挖礦軟體T-RES0.6.10上線,算力