比特幣世界中的雙花
Ⅰ 比特幣出現雙花,怎麼解決
不太清楚,
Ⅱ 在區塊鏈中,雙花問題是什麼問題呢
什麼是雙花問題呢?
雙花問題,簡單講就是一筆錢能被花兩次三次很多次。為什麼雙花問題會成為比特幣系統裡面一個這么重要的問題呢?
原因就在於:比特幣,是虛擬貨幣,它是虛擬的,通過代碼形式呈現出來的,是可以被復制下來的。一旦被攻破了代碼漏洞,那麼就可以循環使用同一筆比特幣,這樣一來,比特幣這種「錢」就會變得很雞肋。
我們想一下,要是一筆錢可以花很多次,你有500塊錢,你去買一件500塊錢的衣服,還能循環使用,再去買一雙500塊錢的鞋,這樣一來,錢還能叫錢嗎?
所以,中本聰在設定比特幣系統的時候,他所有的技術手段基本上都是圍繞著解決
「雙花問題」的,來保護比特幣作為一種貨幣,它自身的一個支付手段職能。
其實,這個雙花問題在我們現在的中心化世界裡面根本不是問題,因為有銀行,錢的交易結算都是通過銀行,很安全,有問題直接找銀行。
但是,在去中心化世界裡面呢,沒有銀行這樣一個中心機構,還必須保證一筆錢只能花一次,怎麼樣實現在去中心化的前提下,杜絕「雙花問題」呢,這是一個難題。
這里插一句,中本聰為什麼如此執著的追求「去中心化」呢,自找煩惱嗎?不是,他希望能夠通過去中心化,來解決一些社會問題,其中最主要的問題就是:因為權力機構過量發行貨幣造成的通貨膨脹。
所以,我們總結一下他的邏輯:中心化的貨幣增發導致通貨膨脹——所以我們要實現去中心化——去中心化要面臨很多問題,最大的問題是雙花問題——所以我們要解決雙花問題——怎麼解決雙花問題?
這里,中本聰就引入了UTXO和「時間戳」概念,依靠這兩種手段來解決雙花問題。
Ⅲ 天河二號超級計算機挖礦多久可以挖一個比特幣2100萬個需要多久
告訴你,家用PC挖的話計算力太低。按照現在9億多的運算編程難度講家用PC的算力一般在100M到600M之間,去挖的話一個月掙的錢連電費的十分之一都不夠,所以需要礦機。現在市面上專門針對比特幣生成計算演算法而優化製造的機器就是礦機。一台礦機每秒能處理600GHash數據運算,不間斷的話能夠在大約10天的時間生成一個比特幣,對電腦的配置要求好高的。
你說的一天能挖100個並不是沒可能,確切的來說不需要一天,只需要幾秒不到就可以拿下,前提是你拿得下世界排名第一的「天河二號」。
Ⅳ 你知道哪些關於比特幣的冷知識
就是一種比較特別的幣吧。有多特別呢?就是一下成了大胖子的那種。
Ⅳ 全世界的比特幣有多少個
比特幣只有2100萬個。
」顯卡挖礦「是調侃的說法。其實是在運行特定演算法,通過大量計算產生比特幣。
拓展資料:
比特幣(BitCoin)的概念最初由中本聰在2009年提出,根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。
與大多數貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性。該貨幣系統曾在4年內只有不超過1050萬個,之後的總數量將被永久限制在2100萬個。
比特幣可以用來兌現,可以兌換成大多數國家的貨幣。使用者可以用比特幣購買一些虛擬物品,比如網路游戲當中的衣服、帽子、裝備等,只要有人接受,也可以使用比特幣購買現實生活當中的物品。
西維吉尼亞州民主黨參議員喬·曼欽(Joe Manchin)2014年2月26日向美國聯邦政府多個監管部門發出公開信,希望有關機構能夠就比特幣鼓勵非法活動和擾亂金融秩序的現狀予以重視,並要求能盡快採取行動,以全面封殺該電子貨幣。
2017年1月24日中午12:00起,中國三大比特幣平台正式開始收取交易費。
Ⅵ 小白如何了解比特幣
多去比特幣新聞網看比特幣新聞,以及行情,技術
比特幣的誕生
比特幣的誕生應該算在2008年的11月1號的那一天,一個化名為「中本聰」的人在網上發表了一篇論文。 在這篇論文里,他詳細的描述了一種嶄新的貨幣體系,他將之命名為「比特幣」。
隨後,次年的1月3日,首個比特幣程序在中本聰的手裡誕生,與之一起誕生的是最早挖礦所得的50個比特幣。在那之後他開始逐漸淡出,直到徹底的消失。
人們至今也沒找出這個叫中本聰的人的真實身份,即使如今的運營商、互聯網巨頭與政府已將人們在網路上的行跡牢牢掌握在了手裡。
他在發言時會經常切換美式和英式英語,他隨機在全天不同的時間上線,以隱瞞自己的國籍和時區;他隱藏自己的ip地址,加密自己的郵件,故意偽造一些寫作和發言風格來混淆視聽;此外他還是一名造詣頗深的密碼學專家,對了,他發表論文的地方就叫做 "密碼學郵件列表"。
所以比特幣從誕生時起就帶上了一種黑客精神:對抗任何勢力所強加的審查。
當然我們也可以這么看: 如果一個發明了匿名貨幣系統的黑客,卻連自我身份都不能匿名的話,那整件事會變成一個笑話。
但是所幸,中本聰沒讓我們失望。
1. 什麼是貨幣
我發現要講清楚什麼是比特幣,這一節是無論如何也跑不了的了。我不是什麼經濟領域的專家,我只能很粗淺且只能在很直觀的意義上講述這個問題。(不過就標題所表達出來的本文主旨而言,似乎也足夠了)
高中的課本里有講過(還記得嗎?) , 貨幣是儲存價值的媒介,一種東西要成為貨幣,最重要的,他必須滿足:
1) 稀缺性。
這就是為什麼黃金可以而沙子不能被當作貨幣的原因。稀缺性可以理解為獲得它的難度,越是稀缺要獲得它就越難。 一個直觀的認識是這樣的:假設你一個月的薪水是5000元,它意味著人民幣的稀缺程度恰好到了這樣一個度,即你要付出一個月的勞動才能獲得5000個一元。 你不會同意以5000粒沙子來支付你的薪水,是因為與其通過勞動一個月來獲得它,你大可以去沙灘走一圈就輕輕鬆鬆地得到了。
那麼現在的金融系統是如何保證貨幣的稀缺性的呢?控制發行。貨幣的發行是被牢牢掌握在中央銀行手中的,這樣貨幣的發行量才能做到可控(所以你現在知道了,私自印鈔是違法的)。回到剛剛那個例子, 你同意以5000元來支付你一個月的薪水,是因為人民幣發行量剛好到了這個度。如果此時的人民幣發行量翻倍了,稀缺度相應降低, 這時候你就應該要求以1萬元來支付你的薪水了(但市場的響應往往不會這么快,在這期間你的財富其實是被剝奪了--你的勞動本該獲得一萬元卻只得到5000元的回報)。
2)交易性
貨幣存在的目的當然是為了交易。就像很多人告訴你的那樣,錢是用來花的,不是用來帶進棺材的。所以除了滿足稀缺性以外,一種東西它越是方便交易,那麼他就越符合理想貨幣的標准。所以在貨幣史上,銀元代替了貝殼,紙幣代替了銀元,數字貨幣正逐漸取代紙幣。
這里所說的「交易」,是指財產從一方轉移到另一方,即一方的財產減少相應的另一方增多。對實物貨幣來說,它發生得非常自然,甲要給100元乙,當100元鈔票從甲的手裡轉移到乙的手裡的那一瞬間,交易完成了,甲的財產減去了100元而乙的財產增加了100元,這個過程中沒有第三方的參與,完全是甲和乙之間的私密行為;然而當交易發生在數字貨幣層面上時,就沒這么簡單了,甲要給100元給乙,如何確保交易完成了呢?假設甲和乙在各自的電腦上記錄了自己的財富數額的話,那麼如何確保乙在給自己增加了100元的時候甲如實地給自己減去了100元呢?這個時候我們不得不要引入第三方了--我們稱之為「銀行」的那個傢伙。 當甲要轉移100元給乙時,他不是直接給乙而是給銀行, 「請把我的100元轉給乙」 ,於是銀行在甲的帳目上扣掉100元,再在乙的帳目上加上這100元。(我們假設它慷慨地不收取任何交易費)
以上所說的就是現代貨幣系統的一個粗廓模型,這個模型最大的弊端在於:人們不得不去信任一個中心系統。
數字貨幣的交易必須依賴銀行,而一個人的銀行賬號可能會被審查、限制甚至是剝奪。當一方想要給另一方轉移自己的財富時,銀行可以收取高昂的費用或者直接拒絕(比如你試試匯一筆錢給美國的親戚)。
貨幣的發行必須依賴中央銀行。好吧,這已經是一個廣為人知的秘密了:貨幣一直在貶值,或者說貨幣一直在超額發行(想想20年前的100塊跟現在的100塊)。 我引用兩段話, 一段是凱恩斯說的, 「通過連續的通貨膨脹過程,政府可以秘密地、不為人知地沒收公民財富的一部分。用這種辦法可以任意剝奪人民的財富,在使多數人貧窮的過程中,卻使少數人暴富。」, 另一段,出自哈耶克, 「政府無法克制濫發貨幣的沖動」。
那麼有沒有可能設計出一套貨幣系統,在這個系統里我們不需要一個中心機構,不用被迫去信任任何的第三方, 使貨幣的發行透明可控,貨幣的交易私密而安全呢?
你猜?
2. 什麼是比特幣
所以我們現在可以回答到了,比特幣是一個發行去中心化和交易去中心化的電子貨幣系統。在這個系統里,貨幣的發行量是透明且可預期的,貨幣的交易利用整個網路的協同合作來保證交易的安全。
下面我將逐步拆解比特幣的原理。需要注意的是,比特幣作為一個已經實際在使用的產品,它本身有著非常豐富的細節。本篇目的是向沒有技術背景的讀者講述比特幣的基本原理,因此並不會涉及到這些細節。比如說錢包的地址其實並不是公鑰,而是公鑰的二次哈希值; 區塊鏈的難度要求並不是簡單的把所有區塊鏈的內容做一次哈希運算;等等。但是為了敘述的簡潔性,在不影響對基本原理的講解下這些都做了簡化處理,希望大家能夠理解。
2.0. 比特幣網路 -- 由眾多運行著比特幣程序的節點組成
比特幣是一個由眾多平等的節點組成的網路。
一個節點就是一個比特幣程序,任何能夠連上網和具有一定計算能力的機器都能運行這個程序 -- 所以你家裡的電腦也可以作為比特幣網路里的節點:)
節點之間是可以互相通訊的,同時比特幣有一套機制可以讓一個節點向其他所有節點發出消息,這個行為被稱為「廣播」。
2.1. 區塊鏈 -- 一個公共的賬簿
我們先回到銀行的例子。銀行最基本的功能,無非是維護一個賬簿,而這個賬簿只需如實記錄每一筆交易而已。比如X年X月X日,王小明轉了30塊錢給張大毛;Y年Y月Y日,張大毛轉了12塊錢給李小豆,諸如此類。 根據這個賬簿我們可以查到一個人的所有交易記錄,因而也就能推算出這個人此刻的賬戶余額為多少。比如李小豆從建銀行帳號開始,轉進的交易合計500元,轉出的交易合計300元,那麼可以算出此時李小豆賬戶余額一定是200元。
維護好這個賬簿,並且作為唯一的維護者(只有銀行才有權力查看和修改), 銀行作為一個交易中心的職責就完成了。
比特幣也有賬簿,但是與銀行不同的是,這個賬簿是公開的,任何人可以去查看和審核它。
這個賬簿被稱為"區塊鏈"。你可以把區塊鏈想像成一個小冊子,冊子的每一頁寫滿了交易信息,並且不斷有新的頁加入進來。
2.2 錢包 ---由一對公鑰和私鑰構成的的賬戶
上面一小節,解釋了什麼是比特幣的賬簿。這一小節將解釋這個賬簿里資金的歸屬權問題,亦即比特幣的帳戶系統。
比特幣里的帳戶跟銀行的帳戶有本質的區別。
在銀行賬戶下,銀行記錄下了該賬戶所有者的身份信息(回想一下你去銀行開戶時提交的資料:照片、身份證、電話號碼、家庭住址....),因而只要你能向銀行證明你的身份,你也就獲得了你名下財產的所有權。在這種模型下,銀行扮演了一個全知全能的上帝角色:他知曉現實人們的財富信息。我們除了祈禱上帝不要把我們的信息泄露出去或者利用它干壞事以外,別無他法。
在比特幣的世界裡,並沒有銀行這樣一個機構,它不會強制人們暴露自己的身份以換取資金的安全。比特幣的帳戶只是簡單的由兩串數字構成,分別被稱為「公鑰」和「私鑰」,除此之外再無其他。
這個兩個數字所具有的數學特性 -一個被私鑰加密過的數據只能通過公鑰來解開,所謂的非對稱加密-使它們能夠完美的實現一個帳戶(比特幣世界裡被稱為錢包)需要的功能。
我們把公鑰作為帳戶地址 --在比特幣世界裡也稱錢包地址 --它類似於銀行系統里的帳號,就是當你告訴別人「請給我的帳號打300塊錢」時,需要告訴別人的那一串數字。對銀行來說,它是「招商銀行6214850200251100」,對比特幣而言,它是「 」。
私鑰,是證明錢包所有權的*唯一*憑證,你通過證明你是該錢包的私鑰持有者來獲得該錢包的所有權。注意,和銀行賬號的密碼不同的是,你丟失了密碼還可以通過證實自己的身份來找回,但你一旦丟失了密鑰那這個錢包里的資金就再也找不回了。
因為公鑰和私鑰所具備的非對稱加密的美妙特性,錢包的所有者並不需要通過出示私鑰來證明自己持有它。他只需要出示一段用私鑰加密過的文字,驗證者能用公鑰(即錢包地址)解開這段文字即能證明。
那麼怎麼生成一對這樣的數字呢?
相比於銀行開戶的繁瑣手續,你唯一需要的只是一個實現了該功能的數學軟體。
感謝數學。
2.3 區塊 --- 有難度要求的賬簿頁
前面提到,區塊鏈就是一個賬簿,一個區塊就是這個賬簿里固定大小的一頁。(比特幣規定區塊大小不超過1M,而一筆交易大約250位元組大小,因此一個區塊平均能寫下4000筆左右交易。)
區塊鏈是公共的,每個人都可以下載,驗算和查看區塊鏈里的交易信息。同時每個人也都可以向區塊鏈增加區塊,只是我們需要一種機制來防止壞人們通過提交大量的區塊來拖垮整個網路。這個機制的核心在於我們要使區塊的構造變得有代價,代價大到不可能在短時間內構造出大量的區塊。
比特幣要求,新的區塊必須使區塊鏈具有某種特徵的哈希值才能被允許加入。 哈希值是一種數學運算(感謝數學!),你可以簡單理解為對數據的摘要,不同的數據有不同的哈希值,即使兩個數據只相差一個位元組,他們對應的哈希值也會截然不同。
比特幣通過「要求區塊鏈的哈希值具有某種特徵」來控制構造區塊的難度,這個特徵其實就是要求哈希值開頭的幾位數字為0. 比方說當前比特幣要求哈希值前4位必須位0,我們用P表示當前的區塊鏈,用B表示當前構造的區塊,那麼P+B的哈希值前4位必須為0該區塊B才能被允許加入區塊鏈中。 這里要注意三點, 1. 要構造出這樣一個區塊沒有捷徑,必須通過大量的計算,一遍一遍的往B里放隨機數直到P+B的哈希值滿足要求為止。2. 哈希值前面為0的位數越多,要構造出這個區塊的難度就越大。
好了,我們現在有了控制區塊構造難度的工具了,那麼比特幣通過什麼樣的規則來控制難度呢?
比特幣規定區塊鏈應保持在平均每兩周時間增加2016個區塊(也就是平均10分鍾一個)的速度上。 也就是說,每增加2016個區塊,系統就會算出產生這2016個區塊的時間,如果它小於兩周那麼就提高接下來2016個區塊的難度(比如從要求哈希值前3個必須為0提高到前4個為0), 如果它大於兩周就降低難度(比如從要求4個0降低到3個0), 這樣從長遠來看,就使區塊鏈平均以每10分鍾一個的速度增加了。
也因此可以推論,區塊鏈的難度要求與全網構造區塊的算力成正相關關系。也就是說,參與構造區塊的算力增加那麼難度要求就會提高,相反則會降低,這樣才能使區塊鏈以固定的速度增加。
上面提到,讓構造區塊變得有難度,是為了防止被壞人攻擊。同時,它還有一個作用是防止壞人們將一筆錢花兩次(所謂雙花問題)。 我們看如下一個比特幣的應用場景:
小張要用比特幣在小李那裡網購一個商品,
1) 小李用數學軟體生成好一個比特幣錢包,並將該錢包地址(公鑰)告訴小張。
2) 小張選取了自己一個有足夠余額的錢包,並用這個錢包的私鑰簽發了一筆交易(該交易把一部分比特幣發到小李的錢包地址上),然後把交易廣播給全網路。
3)網路中的一些節點把該交易收納到當前正在構造的區塊中。 第一個成功構造出合法區塊的節點把該區塊廣播給全網路,得到全網路的認可被加到區塊鏈上。
4) 小李發現區塊鏈上已經有一個區塊包含了指向自己錢包地址的交易,並且交易金額正確。 小李隨即給小張發貨。
5)小張發現小李已經發貨,這時他開始重新構造一筆交易,試圖把剛剛發給小李的錢發到自己另外的一個錢包里。這個時候他不能再把這筆交易廣播出去了,因為網路中的其它節點會發現該交易是不合法(花掉一筆已經花掉的錢)而直接拒絕掉, 小李只能自己構造一個包含了該交易的區塊,並且試圖說服網路中的其它節點他的這個節點才是合法而剛剛那個(包含發給小李交易的區塊)是不合法的, 這樣就能實現他一筆錢花兩次的目的。
比特幣規定當區塊鏈發生分叉時(即出現了兩個或以上互斥的合法區塊)時,應該追隨最長的那條。 那意味著小張要實現自己雙花目的,他必須在產生了小李那個區塊後,馬上構造出兩個區塊來,才能說服其他節點跟隨自己的這條鏈。 要達到這個目的,當前時間內他必須擁有(或者接近擁有了)全網51%的算力, 才能搶在其他所有節點之前構造出兩個區塊出來。
2.4 礦工 --- 通過挖礦來爭奪記賬權的區塊鏈維護者們
前一節我們講到,區塊鏈的難度實際上是對區塊鏈的保護,這個難度要求越高區塊鏈就越免於被壞人攻擊。換個方式表述就是,全網構造區塊的算力保障了區塊鏈的安全,全網的算力越高,那麼壞人們獲得全網51%算力的難度就越大,因此越不容易被攻擊。
那麼我們如何激勵節點們貢獻出自己的cpu跟電力來提高全網的算力呢? 答案是區塊獎勵。
比特幣規定,成功構造出合法區塊的節點會獲得一部分比特幣作為獎勵,這部分比特幣是系統生成的,他類似於淘金業里的挖礦,通過辛勤的勞動增加了黃金(比特幣)的流通總量,因此構造區塊的過程被稱為「挖礦」,企圖通過挖礦來獲得區塊獎勵的節點被稱為「礦工」。
挖礦的意義:
1) 它激勵節點們貢獻出算力來保護網路
2) 它實現了一種公平的方式發行比特幣,因為不存在一個中央發行機構。
除了區塊獎勵外,交易者還可以通過額外支付一筆交易費給礦工們來鼓勵他們將自己的交易收納到它的區塊里。這樣當區塊獎勵趨於0時(比特幣總量2100萬枚,意味著越到後面區塊獎勵會越少), 因為有交易費的存在,礦工們也會繼續維護整個網路。值得注意的是這里的交易費跟銀行轉賬費有所不同,銀行的轉賬費是由銀行自上而下規定的,比特幣的交易費是由使用者自由設置自下而上競爭的結果(如果當前交易數量很多而你給的交易費太低的話,可能不會被礦工們收取。)
亦即,礦工成功挖到區塊時,他將獲得 1)區塊獎勵 2)該區塊內所有交易的交易費。
2.5 總結
比特幣的核心是一個公共的賬簿--區塊鏈,每個人都可以核算查看這個賬簿里的交易信息。這個賬簿里不會記錄任何真實世界裡的個人信息,比特幣保護了使用者的隱私。
通過非對稱加密,用戶可以不用出示密鑰就可以證實自己是該密鑰的持有者。因此提供了一個安全的不用信賴任何第三方(對比銀行,你必須信賴它不把你的賬號密碼泄漏出去)的方式發起一筆交易。
因為比特幣是開放的,意味著任何人都可以攻擊比特幣網路。通過控制區塊的難度,使比特幣網路免疫於大部分的攻擊除非攻擊者獲取了接近全網51%的算力。而礦工們是比特幣網路的保護者,比特幣通過區塊獎勵和交易費的方式激勵他們貢獻出自己的cpu,組成巨大的算力屏障,使得任何組織或個人想要發起51%算力攻擊都成為不可能。