比特量子幣
㈠ 量子霸權的誕生:把一台比特幣礦機改成量子礦機後會發生什麼
先搞清楚算力的單位,也就是Hash碰撞的單位,
大家都用過U盤或者硬碟存儲東西,單位是KB、MB、或者GB,比如8G的小U盤,1T的硬碟說的都是存儲空間,全稱應該是8GB、1TB。B是Byte位元組的縮寫,為存儲單位;如果把Byte改成Hash就成了算力單位,Hash縮寫為H,數學上這幾個字母代表的關系是一樣的。
K=2^10=1024≈1000;KH算力是每秒猜大概1000次
M=2^10K=2^20≈10^6;MH算力是每秒猜大概100萬次;
G=2^10M=2^30≈10^9;GH算力是每秒猜大概10億次。
T=2^10G=2^40≈10^12
P=2^10T=2^50≈10^15
E=2^10P=2^60≈10^18
以此類推,單位是TH,PH,EH,Z,Y,B,N,D等等
你的私鑰是256位的二進制信息,也就是有2^256種可能。
以現在市面上最新的大算力礦機來看,是50T到60T之間,單位Hash/s.
簡單粗暴的去算,這個每秒碰撞的次數,50 * 2^40 Hash/s
55T或者50T算力這個數字不好變化為2的n次方,假設為64T算力,單台礦機最高算力超過60T這個假設是可以成立的,即使是思維試驗也要非常嚴謹地結合實際情況,64也就是2的6次方,。那麼這個公式就變成如下形式:
如果量子計算機能夠做到的話,如果是谷歌的53量子比特能夠實現,那麼每一個邏輯單元里的兩種可能0和1,就變成了53種可能,從2到2^53. 單台礦機的算力就會從50 * 2^40 Hash/s
轉變成
這個數字已經遠遠超過比特幣私鑰的所有可能性了,這也就是這台礦機全面改造成53量子比特計算機的樣子,一瞬間直接破解。這個時間短到很難去描述(後面會講到時間單位)。
這個數字實在是太麻煩,我們反推一下,如果我要很快破解一個私鑰,就用一台礦機改造後的量子計算機,大概要多少個量子比特糾纏的量子計算機。
首先,50T=50*2^40,這是算力前文把50改成64變成了也就是一台64T的礦機,2^46H/s,這時候如果量子糾纏之後的量子比特是n,那麼算力就變成了。
……此公式後面會引用
我們來找一個相對臨界值。
假設 2^(256-46n) =64s ,也就是一分鍾零四秒就破解了你的私鑰,求解n 。
256-46n=6 推出,n=5.435 量子比特取整數。
5 比特量子糾纏的量子計算機(量子礦機)
如果n=5,所需要的時間就是
2^(256-46n)= 2^(256-46*5)=2^26 s
描述一下這個時間,就是
2^26 s ÷ 3600s ÷ 24h ÷ 365d = 2.128 年
注釋:以上的s、h、d依次代表的是秒,小時,天等時間單位
也就是說5比特量子糾纏的量子計算機,2年多一點的時間就可以遍歷目前所有比特幣的私鑰。
6 比特量子糾纏的量子計算機(量子礦機)
那麼如果是6比特量子糾纏的計算機呢,同樣算一遍,這個時候n=6.
2^(256-46n)= 2^(256-46*6) =2^(-20)s=9.5 *10^(-7)s約等於 10^(-6)s 等於 1 微妙,也就是不到1 微秒就可以把世界上所有的私鑰的可能碰一遍。
注釋:1s=1000毫秒;1毫秒=1000微妙
太可怕了!
只要增加一個比特的量子糾纏,就這么恐怖,對於一台 64T 的算力礦機就是一個任務從 2 年縮減到 1 秒以內。
2 比特量子糾纏的量子計算機(量子礦機)
咱們再把量子比特縮小到2比特的量子糾纏看一下,這台64T算力的礦機的算力會漲到多少。
上面這個是前文出現的一台64T的礦機每秒鍾的hash碰撞次數,現在n=2我們看看算力到多少了,2^92 hash每秒
算一算這是多少T的算力,1T=2^40 hash
2^92 hash÷2^40 hash=2^52T
一台礦機的算力是64 T=2^6 T,2^(52-6)=2^46台礦機,約等於10的13.8次方台礦機,有點大不太好用語言描述,下面我們看下目前的全網算力。
目前全網的算力是89.98EH/s 相當於多少台64T的礦機呢?
實際上目前大廠商最新的是50-60T的比特幣算力礦機,那麼,如果全部換成新礦機保持這個算力是多少台呢?
全網所有的礦機加起來每秒鍾發生了89.98*2^60次哈希碰撞。
89.98約等於2^6.5,所以全網算力是2^66.5 hash/s,而剛剛公式推算的2比特量子糾纏的量子礦機的算力是2^92 hash/s, 也就是比目前全網算力還大,具體算一下相當於
2^(92-66.5)=2^25.5約等於4745萬個全網算力。
也就是你這一台64T的比特幣礦機,外星人過來把裡面的每個晶元的每個二極體全部改成2比特的量子糾纏後,你的算力就直接干到全網的4745萬倍。
指數級增長的概念,日常是難以理解的,因為平時見到的指數級別還是不夠大。做個思維試驗,把一張1mm厚的紙張折疊50次有多厚?
0.001*2^50這個數字比地球到太陽的距離還遠(這個拿科學計算器搗鼓一下就知道了,地球到太陽大概15000萬千米)。
而量子計算的不可控制導致目前並不能有什麼大的應用,畢竟半導體、二極體、晶元的工業成熟,運行穩定。如果每一個二極體邏輯上的0和1都變成了一個一個n比特的量子糾纏態去計算,這個是非常誇張的,這個算力增長不是2倍4倍幾萬倍,而是2的n次方倍,拿一張紙折疊下去,因為是折疊不動的所以是思維試驗。
總結與展望
Google的所謂量子霸權的鏈接附上: https://drive.google.com/file/d/19lv8p1fB47z1pEZVlfDXhop082Lc-kdD/view
也就是12頁的文字,回想起2008年的時候,比特幣白皮書也就是短短十幾頁,這是不是一個很大的趨勢呢?這個事情很難說,因為非常難以實現,量子態本身就是人類目前不能操控的領域。
但是,誰知道呢,愛因斯坦提出狹義相對論提出質量能量的轉換公式的時候覺得這個只是理論上的東西,實現估計還要一百年。
1905年提出的時候,連提出者本人都不相信這個公式有什麼實用價值,1945年的時候美國就直接將原子彈用於戰爭,四十年就把難以置信的東西扔到人類面前,直接結束了世界大戰,核威懾時代來臨,常規戰爭退出世界級別戰爭的舞台。
未來的世界裡,或許所有現在的計算和礦機,都是常規計算,不管量子計算有多麼難以實現,理解量子的時候有多少槽點, 如果不重視,很有可能槽點變淚點 。70年國慶就要來了,我們國家在量子計算領域一直走在世界前列,不斷地突破,祝福我國繼續開拓創新,勇攀高峰。不誇張的講,誰先掌握量子計算,誰就成為量子霸權,就像世界上第一個研製出原子彈的國家一樣,把現行所有的加密解密直接歸於「常規」。
只是這個時間是10年還是40年,誰也說不準,因為這個理論到實踐不是實驗室做了一個化工材料要去工業化量產,而更可能是剛剛知道原子之間有個東西叫共價鍵是什麼就要去人工合成蛋白質中間的跨度還是非常大。
本文是一個思想實驗,也是繼量子秘鑰分發和量子計算兩篇文章之後的又一篇文章,關於量子,暫時就講到這里, 量子計算是伊甸園還是惡之花,現在都還很難講 。未來的文章還是回歸現實回歸區塊鏈項目,關注眼下的行業問題。
㈡ 量子比特
在經典圖靈機模型中,儲存經典信息的基本單位叫做比特。它是一個二進制變數,其數值一般記做二進制的 0 或者 1。一個比特要麼是 0,要麼是1,正如向空中拋起一枚硬幣,那麼它落下後要麼正面朝上,要麼反面朝上。我們用二進制的比特理論上可以儲存任何信息,最簡單的,像儲存十進制整數就可以利用二進制和十進制的轉換。3=11, 4=100, 50=110010 等等。當然,非整數也是可以寫成二進制的形式,像 5.5=101.1,也就是說任意實數都可以按精度要求用二進制來表示。而在電子學中,很多器件是非常適合二進製表示的,像電壓的高低和開關,電容器的帶電荷與否等等,都可以來作為一個比特的載體。但在量子世界,一切都發生了改變。一個量子的硬幣不僅可以正面或反面朝上,它甚至可以同時正反面都朝上,在你觀測它之前。著名的薛定諤的貓就是這個道理,這只貓在開箱子,也就是觀測之前,它又是死的又是活的,處於生和死的疊加態 (superposition state)上。正是疊加性這個奇妙的性質引出了量子比特 (quantum bit, qubit) 的概念。
(網路知道里不方便輸入公式,更詳細的介紹見量子研究網站:quantum-study.com/article/795/21.html)
在物理實現上,原則上具有疊加性質的兩態量子系統都適用做qubit。目前的實驗室里,像 核磁共振中處於磁場中的自旋 1/2 粒子 (自旋向上和向下),空腔中的原子的態 (原子的基態和激發態),超導結之間隧穿的庫珀對 (Cooper pairs處於一個結和另外一個結時),都可以被用作 qubit。當然,如果一個硬幣可以同時向上和向下也是可以的,在量子隨機行走中我們就會看到這種量子硬幣(quantum coin)。
現在我們可以回過頭來在看一下經典計算機和量子計算機的差距,這次是存儲容量上的。考慮一個簡單的情況,我們要儲存 45 個自旋 1/2 的粒子,這在量子系統中只是一個很小的體系,只需要 45 個 qubit 就可以實現。但如果我們要用經典計算機完成這個任務,約需要 245 個經典比特,也就是大概4 個 TB 的硬碟!這里有些典型的數據來跟它比較, 4TB 大概是 4000G 或者4000000M,而一部高清藍光電影大概是 10G,一本書大概是 5M。另外一些比較有意思的數據是,美國國會圖書館的所有藏書總容量大概為160TB 或者說 50 個 qubit,而 2007 年人類所擁有的信息量總和為 2.2 × 109 個 TB,也僅相當於 71 個 qubit 的存儲容量。
㈢ 你知道什麼是量子嗎你知道什麼是量子比特嗎
下面這句話,用的就全是專業概念:「基於量子疊加原理,一個量子比特可以同時處於0狀態和1狀態。」說得明確一點就是,n個量子比特能存儲2的n次方個比特的信息。奇妙的是,說這番話的不是民科,而是2016年以來大火的《寶寶的物理學》系列的作者克里斯·費利(Chris Ferrie)博士。這是他在《寶寶的量子信息學》里寫的。他甚至還做了一個幽默的比喻:為了存儲我最喜歡的一個分子(咖啡因)的信息,就需要地球上所有的手機!
下面我們來從頭解釋起。
量子比特是什麼?
「比特」是計算機科學的基本概念,指的是一個體系有且僅有兩個可能的狀態,一般用「0」和「1」來表示。典型的例子,如硬幣的正、反兩個面或者開關的開、關兩個狀態。
但在量子力學中,有一條基本原理叫做「疊加原理」:如果兩個狀態是一個體系允許出現的狀態,那麼它們的任意線性疊加也是這個體系允許出現的狀態。
現在問題來了,什麼叫做「狀態的線性疊加」?為了說清楚這一點,最方便的辦法是用一種數學符號表示量子力學中的狀態,就是在一頭豎直一頭尖的括弧「|>」中填一些表示狀態特徵的字元。這種符號是英國物理學家狄拉克發明的,稱為「狄拉克符號」。 在量子信息中,經常把兩個基本狀態寫成|0>和|1>。而|0>和|1>的線性疊加,就是a|0> + b|1>,其中a和b是兩個數,這樣的狀態稱為「疊加態」。「線性」意味著用一個數乘以一個狀態,「疊加」意味著兩個狀態相加,「線性疊加」就是把兩個狀態各自乘以一個數後再加起來。
現在,你明白「一個量子比特可以同時處於0狀態和1狀態」是什麼意思了吧?它實際是說,量子比特可以處於|0>和|1>的疊加態。在一個時刻只會處於一個這樣的確定的狀態,既不是同時處於兩個狀態,也不是迅速在兩個狀態之間切換,也不是處於一個不確定的狀態,更不是時空分裂。
不得不說,「同時處於0狀態和1狀態」是一個很容易令人糊塗的說法,好像禪宗的打機鋒,遠不如旋鈕的比喻清楚易懂。更糟糕的是,讀者可能會以為自己懂了,然後胡亂引申,造成更大的誤解。在科普文章中,類似這樣的令人似懂非懂的說法太多了,簡直是遍地陷阱。
那麼,為什麼許多人言之鑿鑿地說,n個量子比特包含2的n次方個比特的信息?
要讓這句話有意義,關鍵在於:把a|0> + b|1>中的a和b這兩個系數,當作兩個比特的信息。這當然不是個嚴格的說法,因為把連續變數和離散變數混為一談了。不過只要你姑且接受這種表述,你就可以明白,他們實際想說的是,「n個量子比特包含2的n次方個系數」,這就是正確的了。
這是怎麼算出來的?
對於一個量子比特,n = 1,體系可以取的狀態是a|0> + b|1>,有a和b兩個系數,系數的個數等於2的1次方。
對於兩個量子比特,n = 2,體系可以取的狀態是……是什麼?
你也許會覺得,第一個量子比特的狀態是a1|0> + b1|1>,第一個量子比特的狀態是a2|0> + b2|1>,總共有4個系數。
錯了!按照這種方式,當你有第三個量子比特時,只是增加a3|0> + b3|1>的兩個系數,總共有6個系數。廣而言之,每個量子比特提供兩個系數,所以n個量子比特包含的系數個數就是2n,怎麼會是2的n次方呢?
真正的關鍵在於,對於多量子比特的體系,基本的描述方式並不是「第一個量子比特處於某個態,第二個量子比特處於某個態……」,而是「系統整體處於某個態」。
系統整體可以處於什麼態呢?再次回憶疊加原理(敲黑板)!是的,疊加原理對多粒子體系也適用。 所以,我們要做的就是找出多粒子體系可以處於的基本狀態,而這些多粒子基本狀態是由單粒子的|0>態和|1>態組合而成的。下面我們來看這些基本狀態。
首先,你可以讓每一個量子比特都處於自己的|0>態,這時系統整體的狀態是所有這n個|0>態的直接乘積(稱為「直積」),可以簡寫為|000…>,狄拉克符號里有n個「0」。
然後,在這個態的基礎上,你可以讓第一個量子比特變成自己的|1>態,這時系統整體的狀態是|100…>,這也是一個直積態。
然後,在|000…>的基礎上,你可以讓另一個量子比特(比如說第二個)變成自己的|1>態,這時系統整體的狀態是|010…>。這樣,你可以走遍所有的由n-1個「0」和1個「1」組成的字元串。
然後,在|000…>的基礎上,你可以讓兩個量子比特變成自己的|1>態。這樣,你可以走遍所有的由n-2個「0」和2個「1」組成的字元串。
這個過程繼續下去,最終你會把所有的量子比特都變成自己的|1>態,得到由n個「1」表示的|111…>這個態。在這個過程中,你得到了所有的由「0」和「1」組成的長度為n的字元串。
這樣的態總共有多少個呢?第一位有2種選擇,第二位也有2種選擇,一直到第n位都是2種選擇。所有這些選擇乘起來,就是2的n次方種選擇。注意是相乘,而不是相加。在高中學過排列組合、二項式定理的同學們,肯定都看明白了吧?
機智如我,早已看穿了一切。
順便說一下,這樣的一個n粒子狀態,有可能可以表示成n個單粒子狀態的乘積,這時我們稱它為「直積態」,但更常見的是不能表示成n個單粒子狀態的乘積,這時我們稱它為「糾纏態」。作為一個簡單的例子,二粒子體系的(|00> + |11>) / √2就是一個糾纏態。你可以試著證明一下,很容易的~
㈣ 量子比特的概述
參照Shannon資訊理論中比特描述信號可能狀態的特徵,量子信息中引入了「量子比特」的概念。量子比特的英文名字為quantum bit,簡寫為qubit或qbit。
1983年,Stephen wiesner在他量子貨幣的提案中第一次引入了量子比特的概念。而「量子比特」這個術語的問世應歸功於Benjamin schumacher,在他論文的致謝辭中,schumacher 表示術語「量子比特」是他在同William wootters的一次談話時提出的,只是因為它同古代的一種長度測量單位腕尺(cubit)的發音相似。在量子計算中,作為量子信息單位的是量子比特,量子比特與經典比特相似,只是增加了物理原子的量子特性。
㈤ 比特幣量子是什麼符號
量子鏈QTUM
㈥ 為什麼說量子計算機可輕易破解比特幣,究竟怎麼
摘要:在位於紐約市以北約50英里處僻靜鄉村中的一個小型實驗室內,天花板下纏繞著錯綜復雜的管線和電子設備。這一堆看似雜亂無章的設備是一台計算機。它與世界上的任何一台計算機都有所不同,而是一個即將開創歷史的里程碑式設備---量子計算機。
2017年5月3日,科技界的一則重磅消息:世界上第一台超越早期經典計算機的光量子計算機誕生。這個「世界首台」是貨真價實的「中國造」,屬中國科學技術大學潘建偉教授及其同事等,聯合浙江大學王浩華教授研究組攻關突破的成果。
如果現在傳統計算機的速度是自行車,量子計算機的速度就好比飛機。在過去的幾個月里,IBM和英特爾已經宣布他們已經分別製造了50和49個量子比特的量子計算機。有專家指出,在十年之內,量子計算機的計算能力就可能趕超當前的超級計算機。
2018年3月5日在洛杉磯舉行的美國物理學年會上,谷歌量子AI實驗室研究科學家Julian Kelly報告了,帶領谷歌團隊正測試一台72量子比特通用量子計算機。然而,這還是僅僅是72量子比特而已。按照這個速度發展下去,很快量子計算機的神通,將強勁得讓人恐懼。
那麼,為什麼說量子計算機可輕易破解比特幣,究竟怎麼回事?
要破解現在常用的一個RSA密碼系統,用當前最大、最好超級計算機需要花60萬年,但用一個有相當儲存功能的量子計算機,則只需花上不到3個小時!也就是說,從電子計算機飛躍到量子計算機,整個人類計算能力、處理大數據的能力,就將出現上千上萬乃至上億次的提升。在量子計算機面前,我們曾經引以為豪的傳統電子計算機,就相當於以前的算盤,顯得笨重又古老!
雖然比特幣協議使用的是不對稱的加密貨幣,用相應的公鑰驗證私鑰簽署的交易,以確保比特幣只能被合法所有人使用。使用當前可用計算機強制私鑰與公鑰保持一致不可行,但量子計算機卻可以解決不對稱加密貨幣的問題。
另外,比特幣的規定是處理得更多的那個區塊加入區塊鏈,另一個區塊則作廢。舉個例子,這就像於在一個賬簿里有51個人說你在銀行存了100塊錢,而49個人說你存了50塊錢,這種情況下,區塊鏈演算法少數服從多數,銀行認為你存了100塊錢是真,存了50塊錢是假。所以一旦一位礦工擁有51%的算力,其他後續礦工將無法繼續獲得比特幣。
Andersen Cheng,英國一家網路安全公司的聯合創始人,他表示在量子計算機投入使用的那一天,比特幣就會終結。你覺得呢?
㈦ qtum是什麼幣
很多朋友不知道qtum是什麼幣,接下來就一起來看看吧。
qtum是什麼幣
qtum是量子鏈幣。QtumBlockchain(簡稱「量子鏈」或「Qtum」)致力於開發比特幣和以太坊之外的第三種區塊鏈生態系統,通過價值傳輸協議(「ValueTransferProtocol」)來實現點對點的價值轉移,並根據此協議,構建一個支持多個行業(包括金融、物聯網、供應鏈、社交、游戲等)的去中心化的應用開發平台(「DAppPlatform」)。
由於技術上的創新、治理結構完善、應用范圍廣,量子鏈將成為優於比特幣和以太坊的公鏈:
1、從技術角度分析,量子鏈具有強大的開發團隊,通過引入Identity、Oracle和數據饋送(Datafeeds)機制,並兼容比特幣改進協議(BitcoinImprovementProposals)的UTXO交易模型,實現了首個基於IPoS(激勵權益證明)共識機制的智能合約平台。在合規性方面,也符合不同行業的監管需求。
2、從治理角度分析,量子鏈設立量子鏈基金會,致力於量子鏈的開發建設、治理透明度倡導和推進工作,促進開源生態社會的安全、和諧。通過制定良好的基金會治理結構,分別從代碼管理、財務管理和公共關系等多個維度幫助管理開源社區項目的一般軼事和特權事項,從而確保量子鏈的可持續性、基金會內部管理有效性及募集資金的安全性。
㈧ 為什麼說量子計算機會是比特幣的終結者
因為比特幣協議使用的是不對稱的加密貨幣,用其相應的公鑰驗證私鑰簽署的交易,以確保比特幣只能被合法所有人使用。使用當前可用計算機強制私鑰與公鑰保持一致不可行,但量子計算機卻可以解決不對稱加密貨幣的問題。
硬體和軟體的整合是這一過程的關鍵環節,量子計算能夠解決目前電腦無法解決的問題前也許還需要「數次迭代」也就是說由於現在都是基於布爾邏輯體系展開運的電子計算機。而量子原理邏輯是顛覆性的,要實現商業化需要整個量子產業鏈的完善配套和優化。其中包括硬體方面的、操作系統、軟體方面的方方面面的生態建設過程。走出實驗實到完全商用,少說也得5到10年的籌備完善過程。
㈨ 關於比特幣的謎題(完結)
你可曾想過: 為什麼礦機算力越大越好?(既然是解數學題那為什麼不是拼誰的演算法厲害啊喂!) 比特幣的數量總和為什麼是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)所有數字貨幣系統高度依賴私鑰,私鑰在存儲、使用方面的安全性成為區塊鏈系統安全性中至關緊要的一環。
盡管區塊鏈是去中心化系統,但目前絕大多數數字交易所卻是中心化的,存在著人為安全漏洞及技術安全漏洞。這些數字交易所擁有存放大量加密貨幣的私鑰,這對於黑客來說無疑是最矚目的目標;只要黑客偷走了這些私鑰,就可以獲取到這些加密貨幣。
作者會繼續閱讀相關資料、不斷完善本文,目標是完成一篇通俗易懂的比特幣科普文章。:)
**本文系網上信息與個人理解的結合,如有偏差及誤讀,歡迎讀者指出。也歡迎給出關於文章結構上的指導~
㈩ 量子和比特幣是傳銷嗎
比特幣不是傳銷。比特幣在我國完全是合法的。在2013年年底的時候,央行等五部委發布了比特幣風險通知,在通知中明確把比特幣定義為一種特殊的互聯網商品,公民在自擔風險的前提下可以自由的買賣,否定了其貨幣屬性。央行行長周小川則把比特幣比作是一種可交易的資產。比特幣之家網有相關的報道。目前,世界上大多數國家對比特幣也大都採取冷處理的態度,不肯定也不去否定。比特幣只是一直小范圍的社會化大實驗。比特幣雖然不是騙局,但打著比特幣進行傳銷詐騙的活動卻是屢禁不止。