btc雙花問題
㈠ 雙花理論是什麼概念
在學習區塊鏈的過程中,大家一定對會聽到「雙花」這個詞,意思就是雙重支付,或者更直白點就是一筆資金被花費了兩次。這篇文章我們來簡單的分析一下為什麼會有雙花,比特幣是如何避免雙花的。
在傳統的交易中,因為有銀行這樣的中心化機構,所以是不會存在雙花問題的:每一筆支付都將從你的銀行賬戶中扣除相應的資金,所有的明細在銀行都有記錄。但是在比特幣中,因為沒有賬戶的概念,而是引入了UTXO即未花費交易輸出。因為沒有銀行這樣的中心化機構的保證,當發生一筆交易時就可能存在著雙花的危險:比方說A有一個比特幣,然後他同時構造兩筆交易T1和T2來花費這1個比特幣,其中一個給了B,從B那裡買件衣服,一個給了C,從C那裡買雙鞋。如果不引入某種機制來避免這種情況,那作為數字貨幣的比特幣將沒有任何存在的意義。接下來就來分析一下比特幣是如何做到防止這種「雙花」攻擊的。
(1) 正常情況
首先我們來看看正常情況,說白了就是絕大多數時候,區塊鏈的共識機制就能將雙花消滅在萌芽狀態。我們還是以上面提到的例子來做說明:
假設A構造了兩筆交易T1和T2,將自己價值1btc的UTXO分別轉給了B和C,妄圖同時從B和C那裡獲得好處。然後A幾乎在同一時間將構造好的這兩筆交易廣播至網路。
假設網路中的礦工節點先收到了交易T1,發現這筆交易的資金來源確實沒有被花費過,於是將T1加入到自己的內存交易池中等待打包進區塊。
大部分情況下,這個礦工節點會在不久後又收到交易T2,此時因為T2所指向的交易輸入與已經加入交易池的T1相同,於是礦工節點會拒絕處理該交易。網路中其他的礦工節點都類似,因此A試圖雙花的嘗試胎死腹中。
(2) 分叉情況
上面說的是正常的情況,但是也有非正常的情況要考慮:假設礦工節點M1和M2幾乎在同一時間挖出了區塊,並且很不幸M1挖到區塊時只收到了交易T1,而M2挖到的區塊時只收到了交易T2,這樣交易T1和T2被分別打包進兩個區塊。因為這兩個區塊是差不多同一時間被挖出,於是造成了區塊鏈的分叉:
網路中某些節點(可能是離M1近的)先收到了M1打包的區塊BLK1,於是用該區塊延長自己的區塊鏈,而另外一些節點(鄰近M2的)則先收到M2打包的區塊BLK2,用該區塊延長自己的區塊鏈,於是整個區塊鏈網路
㈡ 小白如何了解比特幣
多去比特幣新聞網看比特幣新聞,以及行情,技術
比特幣的誕生
比特幣的誕生應該算在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%算力攻擊都成為不可能。
㈢ 比特幣一個UTXO交易為什麼要經過6個區塊確認才被認為更改不可逆(或者說幾乎不可逆)
你說的是對的,的確會回滾, 如果的交易不幸被打包到分叉上面了,這個交易很有可能會在主鏈被同步後被取消掉。
至於為什麼要6個確認是因為加大蒙出最優解難度(防止單節點造假)。 一個塊可能還能蒙出一個最優解,6個塊一起蒙出基本上不可能。 跟分叉關系不大
㈣ 如何破解比特幣雙重支付難題
六次確認後 雙花概率幾乎為零
㈤ 金銀花,又名雙花,我有問題.希望哪位大夫能幫我一下.
金銀花還有山花和蘇花兩種。山花清熱解毒功效好,比較酸,而且花蕾都是開的。蘇花涼腸,味比較淡,花蕾都是包含的。
㈥ 比特幣(Bitcoin)是不是一個大泡沫
關於各種事件對比特幣價格影響,此類事件大概分為四種類型。
政治事件:此類事件大多數涉及到政府對待比特幣的態度,比如美聯儲承認比特幣是金融工具,德國承認比特幣是貨幣,中國禁止金融機構參與比特幣交易,俄羅斯禁止使用比特幣和參與比特幣挖礦。盡管比特幣本身是一種中立的技術不受政治的影響,但是比特幣的價格會因為此類事件而發生劇烈波動,目前為止,這是對比特幣價格影響最大的因素。
交易所事件:盡管比特幣是一種去中心的貨幣,但比特幣的交易主要還是發生在中心化的交易所中。自比特幣誕生以來,有不少交易所發生了比特幣被盜事件,比如最大的日本交易所MtGox,丟失了70萬個比特幣,最近香港的交易所Bitfinex,丟失了12萬個比特幣,斯洛維尼亞的比特幣交易所Bitstamp被攻擊損失了1萬9千個比特幣。每當此類事件發生時,比特幣交易的風險陡增,往往比特幣也會迎來較大的跌幅。
金融事件:此類事件往往來自於現實金融世界的不穩定性,比如塞普勒斯央行違約,導致該國儲戶超過10萬歐元以上的儲蓄全部歸零,還有烏克蘭面臨戰爭壓力,發生了嚴重的本幣貶值,再例如英國脫歐,使得歐元區的穩定性發生削弱。比特幣作為一種避險資產,正在得到越來越多的市場認可,目前全世界比特幣的交易量已經超過了黃金ETF的交易量,而法定貨幣的不穩定造成了比特幣持續上漲的動力。
技術性事件:作為一個去中心化的開源網路協議,比特幣的代碼遠非完美,比特幣的協議曾經發生數次危機,比如某次比特幣協議的升級並沒有得到全網一致的認可,最後發生了雙花問題,而比特幣的交易延展性上存在問題使得黑客容易攻擊盜取,也一度迫使數個比特幣交易所暫停交易,至於最近,比特幣社區關於擴容的爭論激烈,一直無法得到有效方案,也使得比特幣的未來蒙上了一層陰影。比特幣的協議是否能持續進化,這對比特幣價格的影響是長期的。
㈦ 比特幣交易是如何確認的
比特幣的交易方式
比特幣是類似電子郵件的電子現金,交易雙方需要類似電子郵箱的「比特幣錢包」和類似電郵地址的「比特幣地址」。和收發電子郵件一樣,匯款方通過電腦或智能手機,按收款方地址將比特幣直接付給對方。下列表格,列出了免費下載比特幣錢包和地址的部分網站。
比特幣地址是大約33位長的、由字母和數字構成的一串字元,總是由1或者3開頭,例如""。比特幣軟體可以自動生成地址,生成地址時也不需要聯網交換信息,可以離線進行。可用的比特幣地址超過2個。形象地說,全世界約有2粒沙, 如果每一粒沙中有一個地球,那麼比特幣地址總數遠遠超過所有這些「地球」上的所有的沙子的數量。
比特幣地址和私鑰是成對出現的,他們的關系就像銀行卡號和密碼。比特幣地址就像銀行卡號一樣用來記錄你在該地址上存有多少比特幣。你可以隨意的生成比特幣地址來存放比特幣。每個比特幣地址在生成時,都會有一個相對應的該地址的私鑰被生成出來。這個私鑰可以證明你對該地址上的比特幣具有所有權。我們可以簡單的把比特幣地址理解成為銀行卡號,該地址的私鑰理解成為所對應銀行卡號的密碼。只有你在知道銀行密碼的情況下才能使用銀行卡號上的錢。所以,在使用比特幣錢包時請保存好你的地址和私鑰。
比特幣的交易數據被打包到一個「數據塊」或「區塊」(block)中後,交易就算初步確認了。當區塊鏈接到前一個區塊之後,交易會得到進一步的確認。在連續得到6個區塊確認之後,這筆交易基本上就不可逆轉地得到確認了。比特幣對等網路將所有的交易歷史都儲存在「區塊鏈」(blockchain)中。區塊鏈在持續延長,而且新區塊一旦加入到區塊鏈中,就不會再被移走。區塊鏈實際上是一群分散的用戶端節點,並由所有參與者組成的分布式資料庫,是對所有比特幣交易歷史的記錄 。 中本聰預計,當數據量增大之後,用戶端希望這些數據並不全部儲存自己的節點中。為了實現這一目標,他採用引入散列函數機制。這樣用戶端將能夠自動剔除掉那些自己永遠用不到的部分,比方說極為早期的一些比特幣交易記錄。
㈧ 在區塊鏈中,雙花問題是什麼問題呢
什麼是雙花問題呢?
雙花問題,簡單講就是一筆錢能被花兩次三次很多次。為什麼雙花問題會成為比特幣系統裡面一個這么重要的問題呢?
原因就在於:比特幣,是虛擬貨幣,它是虛擬的,通過代碼形式呈現出來的,是可以被復制下來的。一旦被攻破了代碼漏洞,那麼就可以循環使用同一筆比特幣,這樣一來,比特幣這種「錢」就會變得很雞肋。
我們想一下,要是一筆錢可以花很多次,你有500塊錢,你去買一件500塊錢的衣服,還能循環使用,再去買一雙500塊錢的鞋,這樣一來,錢還能叫錢嗎?
所以,中本聰在設定比特幣系統的時候,他所有的技術手段基本上都是圍繞著解決
「雙花問題」的,來保護比特幣作為一種貨幣,它自身的一個支付手段職能。
其實,這個雙花問題在我們現在的中心化世界裡面根本不是問題,因為有銀行,錢的交易結算都是通過銀行,很安全,有問題直接找銀行。
但是,在去中心化世界裡面呢,沒有銀行這樣一個中心機構,還必須保證一筆錢只能花一次,怎麼樣實現在去中心化的前提下,杜絕「雙花問題」呢,這是一個難題。
這里插一句,中本聰為什麼如此執著的追求「去中心化」呢,自找煩惱嗎?不是,他希望能夠通過去中心化,來解決一些社會問題,其中最主要的問題就是:因為權力機構過量發行貨幣造成的通貨膨脹。
所以,我們總結一下他的邏輯:中心化的貨幣增發導致通貨膨脹——所以我們要實現去中心化——去中心化要面臨很多問題,最大的問題是雙花問題——所以我們要解決雙花問題——怎麼解決雙花問題?
這里,中本聰就引入了UTXO和「時間戳」概念,依靠這兩種手段來解決雙花問題。