比特幣為什麼6次確認
❶ 比特幣一個UTXO交易為什麼要經過6個區塊確認才被認為更改不可逆(或者說幾乎不可逆)
你說的是對的,的確會回滾, 如果的交易不幸被打包到分叉上面了,這個交易很有可能會在主鏈被同步後被取消掉。
至於為什麼要6個確認是因為加大蒙出最優解難度(防止單節點造假)。 一個塊可能還能蒙出一個最優解,6個塊一起蒙出基本上不可能。 跟分叉關系不大
❷ 比特幣系統規定要幾個個體確認後才算交易成功呢
六個。比特幣除了要輸入交易金額1個比特幣外,還需要設置一定量的礦工費,在輸入秘鑰並點擊發送之後,需等待交易打包和6個區塊確認,才能完成這筆轉賬,所以比特幣系統規定要六個個體確認後才算交易成功。
❸ 比特幣交易為什麼確認6個區塊以上就可以證明
為了避免雙花造成的損失,一般認為,等 6 個區塊確認後的比特幣交易基本上就不可篡改了。舉個例子來解釋雙花過程:假設小黑給大白發了 666BTC,並被打包到第 N 個區塊。沒過幾分鍾,小黑反悔了,通過自己控制的超過 50% 的算力,發起了 51% 算力攻擊,通過剔除發給大白的 666BTC 那筆交易,重組第 N 個區塊,並在重組的第 N 個區塊後面繼續延展區塊,使之成為最長合法鏈。
一般來說,確認的區塊數越多,越安全,被 51% 攻擊後篡改、重組的可能性越低,所以6個區塊並不是硬性的,只是說有了6個區塊,被篡改的可能性較低。對於大額交易,當然是區塊越多越好,但是對於小額效益,一個區塊就夠了
❹ 詳解比特幣的「51%攻擊」
剛接觸比特幣的時候,都聽過「51%攻擊」這個概念。簡單來說,就是如果某個節點擁有超過全網51%的算力,將能夠實現雙重支付、撤銷交易等操作,讓比特幣網路崩潰。
那麼,這個51%攻擊是什麼實現的?
假設一個場景,A用10比特幣向B購買一樣商品,步驟如下:
(1)A支付給B 10BTC;
(2)B收到10BTC確認收款後發貨(一般認為6次確認後交易就不可逆轉);
(3)A隨即創建另一筆交易,將同樣的10BTC支付給自己。
顯然,A想要撤銷第一筆交易,不用花錢就得到B的商品。為了達到這個目的,A進行了雙重支付,將同樣的10BTC支付給B和自己。在正常的比特幣網路中,一旦第一筆交易經過6次確認後就幾乎不可更改,後續的交易數據將繼續打包成新的區塊依次鏈接下去。可是,如果A用戶擁有51%的算力,情況將會發生有趣的變化,A可以實現雙重支付的目的。
具體過程如下:
假設第一筆交易被打包到100號區塊,當後面再增加5個區塊後,6次即可確認該交易,區塊如下圖所示:
這時,A又發起了一次給自己10BTC的交易。如果A向全網廣播,這筆交易不會被處理(因為找不到要花費的UTXO,10BTC支付給B的事實已經被全網確認了),所以A選擇不廣播,而是對主鏈進行「分叉」,生成另外一個100號區塊,並在其中打包第二筆交易,如下圖:
由此,產生了兩條子鏈。簡單描述起見,第一筆交易所在的叫C1,第二筆交易所在的叫C2。其他礦工繼續在C1上打包數據,而A則在C2上挖礦,兩條鏈開始賽跑。由於A具有超51%的算力資源,很快,C2的長度就會超過C1,如下圖:
這時,按照比特幣的最長鏈優先原則,其他礦工也會自動轉到C2上,使C2變成了主鏈。C1則會被拋棄,之前打包在C1上的所有交易(包括第一筆A支付給B 10BTC的交易),都會變為無效。結果是A不花一分錢就擁有了屬於B的商品,這就是「51%攻擊」。
當然,要真正實現51%攻擊是非常困難的,在比特幣網路中幾乎是不可能的,因為這需要消耗巨大的成本,跟攻擊成功後獲取到的收益相比,完全是得不償失。
51%攻擊能帶來的收益是非常有限的,只能做到:
1、修改自己的交易記錄,如雙重支付;
2、阻止確認部分或全部交易。
而下面這些即使是51%攻擊也沒法做到的:
1、憑空生成比特幣;
2、修改每個區塊產生的比特幣數量。
因此,51%攻擊成本巨大,收益卻很小,僅能實現「雙重支付」而已,所以51%攻擊很多時候又被稱為「雙花攻擊」。「雙花」是數字貨幣要解決的第一個核心問題,比特幣通過共享賬本和工作量證明共識機制比較完美地解決了這個問題。
❺ 比特幣里的0確認是什麼意思
就是比特幣交易失敗,一個完成的比特幣交易需要6個確認。
交易確認意味著一筆交易已經 被網路處理且不太可能被撤銷。當交易被包含進一個 塊時會收到一個確認,後續的每一個塊都對應一個確認。對於小金額交易單個確認便可視為安全,然而對於比如1000美元的大金額交易,等待6個以上的確認比較合理。每一個確認都成 指數級地降低交易撤銷的風險。
❻ 區塊鏈中為什麼一筆交易需要6個區塊的確認,是硬性規定嗎
這不是硬性規定,這和區塊鏈不存在任何的關系。這個幣的演算法存在關系,每一種幣的確認方式都是不同的,所以這不是一個硬性規定。
比特幣和瑞泰幣、萊特幣、狗狗幣的確認次數都是不同的。
❼ 比特幣系統規定要幾個個體確認後才算交易完成呢
6個區塊確認。
解釋:
A君給B君轉1個比特幣,除了要輸入交易金額1個比特幣外,還需要設置一定量的礦工費,在輸入秘鑰並點擊發送之後,需等待交易打包和6個區塊確認,才能完成這筆轉賬,而這個過程大概需要花費30分鍾~1小時。
比特幣網路上有很多節點,假設B和C節點在短時間差內都計算出工作量證明解,然後把自己挖到的區塊傳播到網路中,先傳播給鄰近節點,而後傳播到整個網路。
B和C礦工的區塊數據是不一樣的,但都是正確的,因此在這一刻出現了兩個都滿足要求的不同區塊,B和C附近進的D、E、F等等礦工在監聽到這個兩個區塊時,是有先後順序區別的。怎麼辦,先入為主,節點把先監聽的區塊復制過來,然後開啟新區塊的挖礦工作。
那這個時候不同節點,同時有不同版本的區塊鏈,而這兩個版本的區塊鏈,都被礦工們繼續開采。但是兩個版本的區塊鏈其增長速是不一樣的,總有一條鏈的長度要超過另一條鏈。當D、E、F等等礦工發現全網路中有一個條更長鏈的時候,他們會拋棄當前較短的鏈,轉到更長鏈上進行挖礦。而那些被礦工成功挖掘的塊,因為不是在最長鏈上而被拋棄了,他們叫過時塊。這些過時塊中的數據,又需要等待重新被寫入區塊中。
當一筆交易獲得6個區塊確認後,從而以確認該交易是在最長分支的區塊鏈里,不可篡改,然後才能夠花費小星轉他的比特幣。
(7)比特幣為什麼6次確認擴展閱讀
比特幣交易確認過程
(1)錢包創建交易
錢包軟體通過收集UTXO、 提供正確的解鎖腳本、 構造支付給接收者的輸出這一系列的方式來創建交易。 產生的交易隨後將被發送到比特幣網路臨近的節點, 從而使得該交易能夠在整個比特幣網路中傳播。
(2)交易獨立效驗
每一個收到交易的比特幣節點將會首先驗證該交易,有效的交易將被傳遞到臨近的節點,這將確保只有有效的交易才會在網路中傳播, 而無效的交易將會在第一個節點處就被廢棄。
驗證的交易添加到交易地:驗證交易後, 比特幣節點會將這些交易添加到自己的交易池, 用來暫存尚未被加入到區塊的交易記錄。
(3)節點確認交易
假設有個比特幣網路節點A,其收集到了區塊277,314。接下來A節點做兩件事:1.嘗試挖掘新區塊;2.監聽其他節點是否挖出新的區塊。 如果A節點監聽到了區塊277315,則標志著277,315區塊競爭結束。與此同時開啟區塊277,316的競賽。
A節點在接收並驗證區塊277,315後,會檢查內存池中的全部交易, 移除已經在區塊277,315中出現過的交易記錄,確保任何留在內存池中的交易都是未確認的,等待被記錄到新區塊中,而被移除的交易記錄獲得一次確認交易。把包含在區塊內且被添加到區塊鏈上的交易稱為確認交易。
❽ 區塊鏈是騙人的嗎
「區塊鏈」是新時代的一個重要概念,本質上說是一個中心化的資料庫,同時也是數字貨幣之類的底層技術。按照我們通俗的解釋,可以將「區塊鏈」看成一個賬本,每張賬單就是每一個區塊,只不過這個賬本是中心化得的,可以說是沒有任何企業或者團隊對其管轄。「區塊鏈」技術是以中心化,信息無法串改等特有的信息化,現在生活中此技術已應用至電子發票,支付碼等一系列應用之中。
對於現如今生活中,很多人都打著此幌子進行詐騙,直銷盤、資金盤,科技盤等名號拉人圈錢然後跑路,很多人因此資金受損,無處維權,最後只能說「區塊鏈」是騙人的這種話。技術無對錯,錯在人。
隨著時代的進步,社會的進步,任何技術的開始應用都會受到正面和反面的種種質疑聲,但也隨著技術的相對應用與成熟,加之技術的完善,形成人們身邊的各種應用也會不斷完善,相信不久的未來,這些質疑聲會慢慢消散。
下面為大家總結身邊常有一些區塊鏈的騙局!
陷阱一:區塊鏈就是發幣圈錢
陷阱二:進行虛擬貨幣交易,許諾低投資高回報
陷阱三:去中心化能解決所有問題
陷阱四:區塊鏈的延伸產品 有了挖礦機就能躺著賺錢
陷阱五:微信、支付寶進行的交易買賣虛擬貨幣
總之騙子的手法也是與時俱進,要通過我們的「法眼」去提高增強我們的應變能力,去發現與警醒自己,防止上當受騙,投資者對於那些,低投資高回報的各種騙人手段一定要有所警惕。
❾ 當你向朋友轉了兩個比特幣,在交易的過程中你提交了哪些信息給礦工
地址、金額、手續費、比特幣簽名
傳統轉賬是在銀行賬戶之間進行的。同樣,比特幣轉賬就是把比特幣從一個比特幣地址轉移到另一個比特幣地址上的過程。它的轉賬過程也類似:
①登陸錢包:你需要登陸你的錢包,類似登陸銀行的網銀、支付寶、微信等;
②選擇錢包地址:你先選好要從自己哪個比特幣地址轉幣給你的朋友,也就是自己的銀行卡號(或者支付寶賬號微信賬號)。
③填寫轉賬錢包地址、金額、手續費、比特幣簽名、礦工記賬:填寫好朋友收幣的比特幣錢包地址,填寫轉賬的數額、比如100個然後寫下你想付出的交易手續費金額,簽上你的比特幣簽名,提交給比特幣網路,然後就等礦工們來處理記賬了。
④轉賬確認:確定支付後交易信息會在比特幣網路進行全網廣播,礦工每隔10分鍾會將比特幣網路中未被記賬的交易打包進一個區塊,這就完成了一次確認,此時比特幣已轉到對方賬戶。通常需要經過6次確認,確保交易記錄不能被任何人竄改,轉賬才算真正完成。
❿ 關於比特幣的謎題(完結)
你可曾想過: 為什麼礦機算力越大越好?(既然是解數學題那為什麼不是拼誰的演算法厲害啊喂!) 比特幣的數量總和為什麼是2100萬? 比特幣盜竊是怎麼回事? 我不玩比特幣,就真的與比特幣無關了嗎…… 🤔️
關於大眾不再感到陌生的比特幣,背後還有許多巧妙之處。本文介紹了比特幣的基本原理和主要原則,並結合對部分技術細節的剖析,來對上述的一些疑問作出解答。全文較長,約7000字,閱讀時間約為22分鍾,建議收藏後閱讀😁
文章可以分成以下幾個部分:
* 比特幣先驗知識
-- 密碼學相關
-- 比特幣重要概念
* 交易的生命周期
* 區塊鏈的構成
* 區塊鏈的生長
-- 「挖礦」的數學本質
-- 「礦工」的收益
* 比特幣的共識機制
-- 比特幣的去中心化共識
-- 「最長鏈優先」原則
* 比特幣安全性
比特幣作為第一個去中心化的數字貨幣,其設計中運用了不少的密碼學相關知識,主要包括非對稱加密技術、哈希函數等等。理解這些密碼學知識,能幫助我們更好地理解比特幣中的一些概念及規則。
以下是比特幣的一些定義及概念解說,了解過的小夥伴們可以直接跳過~
在比特幣這個創新的支付網路中,一個交易的生命周期大概可以分為幾個階段:創建、傳播和被驗證交織、被打包進區塊記錄到區塊鏈中、獲得更多的確認。圖1對這幾個階段做出了示意。
註:
1⃣️一個支付方A在發起一個比特幣交易時,會使用自己的私鑰對交易信息的哈希值進行簽名。因此A向全網廣播的內容除了交易信息之外,還有自己的公鑰信息、對消息的簽名。其他礦工只要利用A的公鑰即可對這個交易進行驗證,判斷是否真的由A創建。
2⃣️」交易傳播和交易驗證「交替意味著 各個節點基於一定的規則獨立驗證每個交易(共識基礎1) , 一個節點只有認為這個交易有效才會把它繼續傳播出去。
比特幣的底層技術是區塊鏈。區塊鏈系統是一種分布式共識系統,區塊鏈網路中所有的參與節點將就交易的狀態達成一致。
區塊鏈到底是什麼呢?你可以把它理解成一種分布式的交易的共享賬本,以區塊為基本單位鏈接在一起。交易信息將被整理並打包記錄在區塊中。每一個區塊,包含區塊頭,以及緊跟其後的交易列表。區塊頭包含3個區塊元數據集合:前序區塊哈希(嚴格來說是前序區塊頭哈希,因為只有區塊頭被用於哈希運算)、元數據集(包括難度、時間戳、隨機數等)、一個基於加密哈希來高效概括區塊中所有交易的默克爾樹(merkle tree)。了解這個結構,將幫助我們更好地理解挖礦的數學本質。
你可能聽說過「挖礦」這個詞,或者聽說眾人爭相購買挖礦機器來發家致富。但讓人疑惑的是:都說打包區塊的本質是解數學難題,但單憑那些看似簡陋的機器嗡嗡嗡瘋狂耗費電力,就能確保自己解出比特幣難題的勝率高了嗎?比特幣技術原理中,礦工們解決的數學題,難道是一個暴力破解題?
看了一圈,發現礦工們解決的題,還真有點暴力破解的意思,每次嘗試解題的過程幾乎都是茫茫然、去碰運氣的。拼的是誰足夠幸運,也拼誰算的足夠快;算的快了么,試錯次數多,自然勝算也就大了。
解題的背景是這樣的—— 挖礦節點通過基於工作量證明演算法(Proof-of-Work,POW)的證明運算,獨立將交易匯聚到新區塊中(共識基礎2)。 當礦工從網路中接收到一個新的區塊的時候,他發現自己已經在上一輪競爭中失敗了,所以立即開始新區塊的挖礦過程。為了創建一個新的區塊,他從內存池中選擇交易來填充區塊(加入區塊的第一筆交易是一個「鑄幣交易」,3.2節會給出詳相關細節)。接下來是填充欄位來創建區塊頭(包括前序區塊的區塊頭哈希、交易的默克爾樹(Merkel樹)、時間戳、難度目標值、隨機數),然後開始計算這個新區塊的工作量證明。
這個計算的過程簡單來說是對區塊頭部進行兩次sha256運算,得到一個RESULT,如果這個RESULT滿足特定要求,這個人才能算是算對了、才有權利去記賬。滿足要求的RESULT被稱為「工作量證明」(中本聰論文中稱為「proof of work」)。
關於這個計算過程,強調以下幾點:
第一,區塊頭部,包含了前序區塊頭部的哈希、本區塊交易信息的默克爾樹、時間戳、難度目標值、隨機數等信息(見圖2)。
第二,哈希運算具有「知道y,無法推出使得h(x)=y成立的x」、「即使輸入只改變一點點,輸出也會差很多」、「利用任意長度的數據作為輸入,生成一個固定長度的確定結果」的特性。所以大家也不知道什麼樣子的輸入才能產生自己想要的結果,礦工只能不斷嘗試。
第三,前面說到,區塊頭哈希值需要滿足一個特定要求才能成為工作量證明——小於某一閾值,或者說哈希值含有給定前綴。閾值的大小求和挖礦難度有關:挖礦難度是一個動態參數,其值越大,則閾值越小,說明哈希值符合要求的概率更小,礦工每次計算能成為工作量證明的概率越小。比特幣有一個自我調節過程——通過對現有的挖礦算力情況進行估算,來對應調整挖礦難度,可以保證區塊鏈每十分鍾出一個塊,達到控制發行速度的目的。(這個過程的基本思想類似產品筆試的數據估算題,根據「一個提供、一個需要「的思路去構造一個等式,然後求解等式一邊的一個因子;想了解挖礦難度系統和調整方式的同學可以進一步查閱~)
綜合以上三點來看,為了產生工作量證明,用戶基本上會通過調整隨機數來碰運氣(因為其他欄位基本不變)、進行多次運算直至符合要求,別無他法。如此一看,隨機數就具有「幸運數字」的意味了。因此,平均來講,誰計算的能力越強(嘗試的次數越多),就更有希望打包塊。
你可能會想,礦工這么心甘情願地消耗算力去維護區塊鏈,是受到怎樣的利益驅使呢?簡單來說,礦工的收益來源有二:1、計算出工作量證明,創造一個新區塊所獲得的新幣獎勵;2、記賬礦工費。
當礦工找到工作量證明、打包一個新區塊,並把區塊傳送給他的所有對等節點。 每一個挖礦節點都獨立驗證新區塊、把合格的新區塊整合進區塊鏈(共識基礎3) ,並把這個區塊繼續傳給自己的對等節點。結果是,只有經過驗證的區塊才會在網路當中廣泛傳播,保證了誠實礦工挖出的新區塊能被區塊鏈所接納。挖礦成功的個體節點或集體節點,可以同時獲得新幣獎勵和記賬礦工費。
新幣獎勵類似於貨幣的發行,其遵循規則是,第一個四年每一個新區塊產生50btc,第二個四年每一個新區塊產生25btc,第三個四年每個新區塊產生12.5btc,如此周期指數遞減。按照等比數列求和可知,到2140年,比特幣產生的總和約為21000000(所以說比特幣數量有限,天生緊縮)。屆時,不再隨區塊的產生增加新的比特幣,礦工不再擁有第一項收益。但現實中,由於挖礦成本高昂,挖礦成功的往往是是一個礦池的所有參與者。收益被分給礦池地址,礦池按照組內算力貢獻比例來分攤收益的。
記賬礦工費又稱交易費用,以交易輸入和交易輸出之間的差值的形式存在;一個區塊的總交易費用是對加入區塊的所有交易的(交易輸入-交易輸出)求和。一般來說,礦工費越高的交易,會越快被處理。而礦工費在這里起到兩個作用,一個是獎勵礦工,另一個是防止主鏈濫用(防止大家發送交易垃圾信息,因為提出交易是有一定代價的)。
礦工的收益以什麼樣的形式被驗證呢?這里不得不提到 「鑄幣交易」 。每個計算機節點在進行工作量證明計算之前加入區塊的第一筆交易,正是「鑄幣交易」。這個交易從無到有生成比特幣,其金額是新幣獎勵與記賬礦工費的總和,被支付到挖礦礦工自己的比特幣地址。如果礦工找到了一個工作量證明使區塊有效,他就贏得了這個獎勵,因為他構造的「鑄幣交易」生效了。
關於鑄幣交易和「新幣獎勵」,之前有一個讀者問我:一個礦工把自己挖到新區塊的消息公布出去,他的工作量證明 不會被別人剽竊 嗎?
個人認為,至少「鑄幣交易」能防止這件事情發生。讓我們來重申一下計算工作量證明的過程——一個礦工E在新區塊里加入了獎賞自己的「鑄幣交易」,並利用時間戳、前序區塊頭哈希、隨機數、本區塊交易的merkle樹等信息計算出一個符合要求的工作量證明。
在這個過程中,merkle樹啥樣子,取決於包括「鑄幣交易」在內的本區塊所有交易信息。因此可以把鑄幣交易視為工作量證明的間接變數之一。那麼,即使其他人拿到了E的工作量證明,這個工作量證明也是帶有E的印記的、與獎賞E的鑄幣交易相關的,別人根本無法納為己用。
你還可以通過設想以下的場景來加深對共識基礎2「挖礦節點通過基於工作量證明演算法的證明運算,獨立將交易匯聚到新區塊中」的理解。
為什麼一個挖出新區塊的礦工不悄悄使個心眼,在創建區塊之初就把鑄幣交易的金額設成1000BTC呢?原因在於每個節點都是基於相同的規則來獨立驗證區塊的。礦工必須創建完美的、符合公共規則的、正確依據工作量證明方法的區塊;而一個無效的鑄幣交易會導致整個區塊無效,並被其他節點拒絕,永遠無法成為賬本的一部分。可以預想,為了生成這個工作量證明,礦工們已經投入了巨大的算力和電量去挖礦,如果涉嫌欺詐而被否決,其為挖礦付出成本都付諸東流。
綜上所述,礦工不能冒領他人的獎勵,而拿到獎勵的礦工也必須只能拿取符合規定的數額。
比特幣的卓越之處,在於建立了一種去中心化的自發共識。這種共識是自發產生的,是成千上萬在網路中遵循著共同規則的節點,在非同步交互中形成的,不依賴於任何中央機構的調解和干涉。
關於比特幣的4項主要共識基礎,本文在講解對應細節時有提及,下面做一個整合:
這四個過程相輔相成、互相作用,形成了自發的全網共識,促使全網節點組合出可信、公開、權威的總賬。
你可能會想,比特幣是一個去中心化的、基於大眾信任的、依靠眾人力量運轉的一個東西。萬一有一部分礦工被壞人收買了咋辦呢?「51%攻擊」指的又是什麼?比特幣交易所要求的「6個確認」又是怎麼回事?
這里首先要提到比特幣的一個規則「 最長鏈優先 」。意思是, 比特幣的賬單鏈在出現分叉的時候,每個礦工會獨立選擇長(累積了最多工作量證明)的鏈條,在上面繼續挖礦工作(共識基礎4) 。
這個原則主要涉及到兩個問題:
當有兩個礦工A和B同時挖礦成功(算出符合要求的數學答案)時,他們分別把自己計算出來的工作量證明作為下一個塊的前序區塊哈希,生成一個塊銜接到原有的鏈後面,由此出現了兩個分支。
這個時候,這兩個成功的礦工廣播了自己打包成功的消息。由於區塊鏈是一個去中心化的數據結構,區塊消息到達不同節點的時間點不一致,故不同的節點可能擁有不完全一樣的區塊鏈視圖——有的礦工會先收到A的消息,有的則先收到B的消息。為了解決這個問題,收到消息的礦工們遵循一個原則:選擇並嘗試延長最長的鏈。
因此,這兩條分支會各自成長一小段時間,直到他們的長度出現差異(不可能長度一直相同),比如說其中一條鏈的礦工們,更快地打包在支鏈後面又加上一塊。按照「最長鏈優先「的規則,較短的鏈會被拋棄,原本工作在短鏈上的礦工們都回到長鏈上工作。
換言之,分叉只是不同節點暫時的不一致現象,當新區塊被加入到其中某一分支時,最終收斂將解決這一個問題。[讀者可以思考一下,為什麼區塊鏈被設置成每十分鍾挖出來一個塊:如果時間短了,是不是就增加了分支產生的次數?如果時間長了,是不是交易結算的效率就太低了?]
雙重支付的本質其實也是區塊鏈的分叉,但這種分叉卻是「非自然惡意蓄謀」的產物。
我們假設小敏是密謀雙重支付的一方,她把自己僅有的10BTC先給小強、交換一塊黃金,待這條交易信息P被打包進區塊Q後,她從小強手中拿到了黃金。這時,小敏使了個心眼,她想偷偷抹去、篡改區塊Q上的交易信息P,「白嫖」這塊黃金。為了實現這樣的目的,根據「最長鏈優先」法則,小敏必須剔除該筆交易P後、重新進行結算工作,集中算力來形成分叉,並讓分叉以更快的增速超過並取代Q所在的主鏈。如果小敏確實能讓分叉更長,分叉就成為了主鏈,其他節點也會轉向新主鏈上繼續工作。這樣,小強付出了黃金,卻沒有收到這10個比特幣,「賠了夫人又折兵」。
在這個過程中,小敏需要和原鏈進行「抗爭」,使新分叉成為最長的主鏈,這被稱為「共識攻擊」。「共識攻擊」本質上是對下一區塊的爭奪,攻擊方越「強壯」、哈希算力越大,就越容易成功。
「共識攻擊「成功的可能性有多大呢?
大多數比特幣交易所規定,一個交易傳送到區塊鏈上後需要6個「確認」來完成驗證該筆交易。這一規定的根據是,假設意圖造假的礦工擁有10%的算力(挖礦成功概率0.1),那麼造假礦工要構造另一條偽鏈實施長度超越,必須至少成功挖礦6次。那麼原鏈被取代、被拋棄的概率約為0.1的6次方,趨近於0。你可以把比特幣理解為地質構造層,表層可能因為季節變換而有所改變,甚至可能被風颳走,但一旦深入到地下,地質層就能更加穩定、不受干擾。
而假設有一群擁有了51%算力的礦工,他們控制了一半以上的全網哈希算力,可以故意在區塊鏈中製造分叉、進行雙重支付交易 。但事實是,全網哈希算力的大量增加,個體礦工幾乎不可能控制哪怕1%的哈希算力了(但礦池帶來的算力集中化控制,存在一定的風險)。更何況,如果真有擁有如此強大算力的組織,他完全可以憑借自己強大的算力投入到挖礦中去獲取開發新區塊所獲的的比特幣獎勵,誠實挖礦比雙花更有利可圖。
盡管實際上並未出現51%攻擊的問題,但不可否認的是,算力的集中違背了比特幣去中心化這一初衷,並成為其繼續發展的一大隱患。
一個系統的安全性,往往取決於系統安全的最薄弱環節,這也就是所謂的「木桶原理「。與區塊鏈系統相關的安全性問題包括但不限於以下幾項:
(1)在區塊鏈上被廣泛使用的公鑰系統基本上是安全的,但量子演算法在理論上能夠破解公鑰系統;因此,區塊鏈的演算法安全性是相對的。
(2)區塊鏈協議本身存在邏輯缺陷,例如受到黑客攻擊的區塊鏈系統共識機制。
(3)所有數字貨幣系統高度依賴私鑰,私鑰在存儲、使用方面的安全性成為區塊鏈系統安全性中至關緊要的一環。
盡管區塊鏈是去中心化系統,但目前絕大多數數字交易所卻是中心化的,存在著人為安全漏洞及技術安全漏洞。這些數字交易所擁有存放大量加密貨幣的私鑰,這對於黑客來說無疑是最矚目的目標;只要黑客偷走了這些私鑰,就可以獲取到這些加密貨幣。
作者會繼續閱讀相關資料、不斷完善本文,目標是完成一篇通俗易懂的比特幣科普文章。:)
**本文系網上信息與個人理解的結合,如有偏差及誤讀,歡迎讀者指出。也歡迎給出關於文章結構上的指導~