比特幣區塊主要組成部分
1. 比特幣演算法原理
比特幣演算法主要有兩種,分別是橢圓曲線數字簽名演算法和SHA256哈希演算法。
橢圓曲線數字簽名演算法主要運用在比特幣公鑰和私鑰的生成過程中,該演算法是構成比特幣系統的基石。SHA-256哈希演算法主要是運用在比特幣的工作量證明機制中。
比特幣產生的原理是經過復雜的運演算法產生的特解,挖礦就是尋找特解的過程。不過比特幣的總數量只有2100萬個,而且隨著比特幣不斷被挖掘,越往後產生比特幣的難度會增加,可能獲得比特幣的成本要比比特幣本身的價格高。
比特幣的區塊由區塊頭及該區塊所包含的交易列表組成,區塊頭的大小為80位元組,由4位元組的版本號、32位元組的上一個區塊的散列值、32位元組的 Merkle Root Hash、4位元組的時間戳(當前時間)、4位元組的當前難度值、4位元組的隨機數組成。擁有80位元組固定長度的區塊頭,就是用於比特幣工作量證明的輸入字元串。不停的變更區塊頭中的隨機數即 nonce 的數值,並對每次變更後的的區塊頭做雙重 SHA256運算,將結果值與當前網路的目標值做對比,如果小於目標值,則解題成功,工作量證明完成。
比特幣的本質其實是一堆復雜演算法所生成的一組方程組的特解(該解具有唯一性)。比特幣是世界上第一種分布式的虛擬貨幣,其沒有特定的發行中心,比特幣的網路由所有用戶構成,因為沒有中心的存在能夠保證了數據的安全性。
2. 比特幣是什麼啊
比特幣(Bitcoin)是一種由開源的P2P軟體產生的電子幣、數字幣,是一種網路虛擬資產。比特幣也被意譯為「比特金」。
概括來說,比特幣基於一套密碼編碼、通過復雜演算法產生,這一規則不受任何個人或組織干擾,去中心化;任何人都可以下載並運行比特幣客戶端而參與製造比特幣;比特幣利用電子簽名的方式來實現流通,通過P2P分布式網路來核查重復消費。每一塊比特幣的產生、消費都會通過P2P分布式網路記錄並告知全網,不存在偽造的可能。
比特幣不依靠特定貨幣機構發行,它通過特定演算法的大量計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值,基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這確保了貨幣所有權與流通交易的匿名性。
比特幣可以用來兌現,可以兌換成大多數國家的貨幣。使用者可以用比特幣購買一些虛擬物品,比如網路游戲當中的衣服、帽子、裝備等,只要有人接受,也可以使用比特幣購買現實生活當中的物品。
比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性。該貨幣系統曾在4年內只有不超過1050萬個,之後的總數量將被永久限制在2100萬個。
比特幣(BitCoin)的概念最初由中本聰(Satoshi Nakamoto)在2009年提出,根據中本聰的思路設計發布了開源軟體以及建構其上的P2P網路。
比特幣之所以匿名是因為它們是建立在一個分散化的系統之上的,比特幣是完全獨立存在的,外界無法通過某種核心基礎設施來關閉它。
「匿名」對於那些不想讓自己的名字和所購置的商品或服務聯系在一起的人來說是非常受用的,外人所看到的無非是你的比特幣錢包地址和一串隨機的文字和數字等信息,除此之外沒有任何能夠辨認個人身份的信息。對於相對偏執的用戶來說,還可以免費創建多個新錢包。
比特幣被設計為允許匿名的所有權與使用權,比特幣既可以被以計算機文件的形式(wallet)保存在個人電腦中,也可以儲存在第三方託管服務。不管以何種形式保存,比特幣都可以通過比特幣地址發送給互聯網上的任意一個人。P2P的分布式特性與不存在中央管理機制的設計確保了任何機構都不可能操控比特幣的價值,或者製造通貨膨脹。
其主要特點有:
1、去中心化
比特幣是第一種分布式的虛擬貨幣,整個網路由用戶構成,沒有中央銀行。去中心化是比特幣安全與自由的保證。
2、全世界流通
比特幣可以在任意一台接入互聯網的電腦上管理。不管身處何方,任何人都可以挖掘、購買、出售或收取比特幣。
3、專屬所有權
操控比特幣需要私鑰,它可以被隔離保存在任何存儲介質。除了用戶自己之外無人可以獲取。
4、低交易費用
可以免費匯出比特幣,但最終對每筆交易將收取約1比特分的交易費以確保交易更快執行。
5、無隱藏成本
作為由A到B的支付手段,比特幣沒有繁瑣的額度與手續限制。知道對方比特幣地址就可以進行支付。
6、跨平台挖掘
用戶可以在眾多平台上發掘不同硬體的計算能力。
望採納
3. 作為比特幣核心技術的區塊鏈到底是什麼鬼
laikelib區塊鏈底層架構運營團隊認為:區塊鏈(blockchain)技術,可以理解為一種公共記賬的機制,它更多的是一種技術方案,而不是一款具體的產品。基本思想是通過建立一組互聯網上的公共賬本,由網路中所有的用戶共同在賬本上記賬與核賬,來保證信息的真實性和不可篡改性。之所以名字叫「區塊」鏈,是因為區塊鏈存儲數據的結構是由網路上一個個「存儲區塊」組成一根鏈條,每個區塊中包含了一定時間內網路中全部的信息交流數據,隨著時間推移鏈條不斷增長。
區塊鏈和比特幣關系:比特幣曾經是區塊鏈技術最成功的應用之一。具體來說,區塊鏈是一串使用密碼學相關聯所產生的數據塊,每一個數據塊中包含了多次比特幣網路交易有效確認的信息。可以說,比特幣是區塊鏈思想的一個「殺手級應用」,區塊鏈是比特幣的底層技術,不過作用絕不僅僅局限在比特幣上。
4. 區塊鏈技術中的區塊頭包含的三組元數據是什麼
1、前區塊哈希值。用於索引前區塊
2、挖礦難度、隨機值(用於工作量證明計算)、時間戳
3、梅克爾樹,能夠總結並迅速歸納校驗區塊中全部交易數據的樹根數據。
5. 區塊鏈的基本要素包括
1-包含一個分布式資料庫
2-分布式資料庫是區塊鏈的物理載體,區塊鏈是交易的邏輯載體,所有核心節點都應包含該條區塊鏈數據的全副本
3-區塊鏈按時間序列化區塊,且區塊鏈是整個網路交易數據的唯一主體
4-區塊鏈只對添加有效,對其他操作無效
5-基於非對稱加密的公私鑰驗證
6-記賬節點要求拜占庭將軍問題可解/避免
7-共識過程(consensus progress)是演化穩定的,即面對一定量的不同節點的矛盾數據不會崩潰。
8-共識過程能夠解決double-spending問題。
區塊鏈的五個特點:
去中心化
由於使用分布式核算和存儲,不存在中心化的硬體或管理機構,任意節點的權利和義務都是均等的,系統中的數據塊由整個系統中具有維護功能的節點來共同維護。
得益於區塊鏈的去中心化特徵,比特幣也擁有去中心化的特徵 [6] 。
開放性
系統是開放的,除了交易各方的私有信息被加密外,區塊鏈的數據對所有人公開,任何人都可以通過公開的介面查詢區塊鏈數據和開發相關應用,因此整個系統信息高度透明。
自治性
區塊鏈採用基於協商一致的規范和協議(比如一套公開透明的演算法)使得整個系統中的所有節點能夠在去信任的環境自由安全的交換數據,使得對「人」的信任改成了對機器的信任,任何人為的干預不起作用。
信息不可篡改
一旦信息經過驗證並添加至區塊鏈,就會永久的存儲起來,除非能夠同時控制住系統中超過51%的節點,否則單個節點上對資料庫的修改是無效的,因此區塊鏈的數據穩定性和可靠性極高。
匿名性
由於節點之間的交換遵循固定的演算法,其數據交互是無需信任的(區塊鏈中的程序規則會自行判斷活動是否有效),因此交易對手無須通過公開身份的方式讓對方自己產生信任,對信用的累積非常有幫助。
6. 小白如何了解比特幣
多去比特幣新聞網看比特幣新聞,以及行情,技術
比特幣的誕生
比特幣的誕生應該算在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%算力攻擊都成為不可能。
7. 什麼是區塊鏈技術區塊鏈技術的核心構成是什麼
從技術的角度,架構的角度,用通俗的語言來跟大家講講,我對區塊鏈的一些理解。
究竟啥是區塊鏈?Block chain,一句話來說,區塊鏈是一個存儲系統,存儲系統更細一點,區塊鏈是一個沒有管理員,每個節點都擁有全部數據的分布式存儲系統。
那常見的存儲系統,是什麼樣子的呢?
首先看一下如何保證高可用?
普通的存儲系統通常是用「冗餘」的方式來解決高可用問題的。圖上圖所示如果能夠把數據復製成幾份,冗餘到多個地方,就能夠保證高可用。一個地方的數據掛了,另外的地方還存有數據,例如MySQL的主從集群就是這個原理,磁碟的RAID也是這個原理。
這個地方需要強調的兩點是:數據冗餘,往往會引發一致性的問題
1、例如MySQL的主從集群中中其實讀寫會有延時的,它其實就是有一個短的時間內讀寫不一致。這個是數據冗餘,帶來的一個副作用。
2、第二個點是數據冗餘往往會降低寫入的效率,因為數據同步也是需要消耗資源的。你看單點寫入,如果加了兩個從庫之後,其實寫入的效率會受影響。普通的存儲系統,就是採用冗餘的方式,保證數據的高可用的。
那麼第二個問題,普通的存儲系統,能否多點寫入呢?
答案是可以的,比如說以這個圖為例:
其實MySQL的話可以做一個雙主的主從同步,雙主的主從同步,兩個節點,同時可以寫入。如果要做多機房多活的數據中心,其實多機房多活也是進行數據同步的。這里要強調的是多點寫入,往往會引發寫寫沖突的一致性問題,以MySQl為例,假設有一個表的屬性是自增ID,那麼現在資料庫中的數據是1234,那麼其中一個節點寫入,插入了一條數據,那它可能變成5了,然後這5條數據,向另外一個主節點進行數據同步,同步完成之前,如果另外一個寫入節點,也插入了一條數據,也生成了一條這個自增id為5的數據。那麼,生成之後,往另外一個節點同步,然後同步數據到達之後會與本地的這兩條5沖突,就會同步失敗,會引發寫寫的一致性沖突問題。這個多點寫入的話都會出現這個問題。
多點寫入,如何保證一致?
維新「天鵝大咖課」給你更多的技術幹活
8. 比特幣到底是什麼
比特幣(Bitcoin)是一種基於去中心化,採用點對點網路與共識主動性,開放源代碼,以區塊鏈作為底層技術的虛擬加密貨幣,由中本聰在2008年提出,2009年誕生。 比特幣沒有一個集中的發行方,由網路節點的計算生成,可以在任意一台接入互聯網的電腦上買賣,並且具有極強的稀缺性。
從比特幣的本質說起,比特幣的本質其實就是一堆復雜演算法所生成的特解。特解是指方程組所能得到有限個解中的一組。而每一個特解都能解開方程並且是唯一的。以鈔票來比喻的話,比特幣就是鈔票的冠字型大小碼,你知道了某張鈔票上的冠字型大小碼,你就擁有了這張鈔票。而挖礦的過程就是通過龐大的計算量不斷的去尋求這個方程組的特解,這個方程組被設計成了只有 2100 萬個特解,所以比特幣的上限就是 2100 萬個。
要挖掘比特幣可以下載專用的比特幣運算工具,然後注冊各種合作網站,把注冊來的用戶名和密碼填入計算程序中,再點擊運算就正式開始。完成Bitcoin客戶端安裝後,可以直接獲得一個Bitcoin地址,當別人付錢的時候,只需要自己把地址貼給別人,就能通過同樣的客戶端進行付款。在安裝好比特幣客戶端後,它將會分配一個私鑰和一個公鑰。需要備份你包含私鑰的錢包數據,才能保證財產不丟失。如果不幸完全格式化硬碟,個人的比特幣將會完全丟失。
貨幣特徵
去中心化:比特幣是第一種分布式的虛擬貨幣,整個網路由用戶構成,沒有中央銀行。去中心化是比特幣安全與自由的保證 。
全世界流通:比特幣可以在任意一台接入互聯網的電腦上管理。不管身處何方,任何人都可以挖掘、購買、出售或收取比特幣。
專屬所有權:操控比特幣需要私鑰,它可以被隔離保存在任何存儲介質。除了用戶自己之外無人可以獲取。
低交易費用:可以免費匯出比特幣,但最終對每筆交易將收取約1比特分的交易費以確保交易更快執行。
無隱藏成本:作為由A到B的支付手段,比特幣沒有繁瑣的額度與手續限制。知道對方比特幣地址就可以進行支付。
跨平台挖掘:用戶可以在眾多平台上發掘不同硬體的計算能力。
優點
完全去處中心化,沒有發行機構,也就不可能操縱發行數量。其發行與流通,是通過開源的p2p演算法實現。
匿名、免稅、免監管。
健壯性。比特幣完全依賴p2p網路,無發行中心,所以外部無法關閉它。比特幣價格可能波動、崩盤,多國政府可能宣布它非法,但比特幣和比特幣龐大的p2p網路不會消失。
無國界、跨境。跨國匯款,會經過層層外匯管制機構,而且交易記錄會被多方記錄在案。但如果用比特幣交易,直接輸入數字地址,點一下滑鼠,等待p2p網路確認交易後,大量資金就過去了。不經過任何管控機構,也不會留下任何跨境交易記錄。
山寨者難於生存。由於比特幣演算法是完全開源的,誰都可以下載到源碼,修改些參數,重新編譯下,就能創造一種新的p2p貨幣。但這些山寨貨幣很脆弱,極易遭到51%攻擊。任何個人或組織,只要控制一種p2p貨幣網路51%的運算能力,就可以隨意操縱交易、幣值,這會對p2p貨幣構成毀滅性打擊。很多山寨幣,就是死在了這一環節上。而比特幣網路已經足夠健壯,想要控制比特幣網路51%的運算力,所需要的CPU/GPU數量將是一個天文數字。
缺點
交易平台的脆弱性。比特幣網路很健壯,但比特幣交易平台很脆弱。交易平台通常是一個網站,而網站會遭到黑客攻擊,或者遭到主管部門的關閉。
交易確認時間長。比特幣錢包初次安裝時,會消耗大量時間下載歷史交易數據塊。而比特幣交易時,為了確認數據准確性,會消耗一些時間,與p2p網路進行交互,得到全網確認後,交易才算完成。
價格波動極大。由於大量炒家介入,導致比特幣兌換現金的價格如過山車一般起伏。使得比特幣更適合投機,而不是匿名交易。
大眾對原理不理解,以及傳統金融從業人員的抵制。活躍網民了解p2p網路的原理,知道比特幣無法人為操縱和控制。但大眾並不理解,很多人甚至無法分清比特幣和Q幣的區別。「沒有發行者」是比特幣的優點,但在傳統金融從業人員看來,「沒有發行者」的貨幣毫無價值。
9. 比特幣新區塊產生的過程
當挖礦節點要構造預備區塊,准備生成新區塊時,會按照優先順序排序,從交易池中取待確認交易。預備區塊通常會預留一定空間給高優先順序的交易,剩下的空間會按照交易費比例(Sat/B)由高到低順序一直把區塊加滿或者把交易池的交易用光。但比特幣區塊中不僅僅包含從交易池中取的待確認交易。按照比特幣協議規定,比特幣的區塊主要包括五個部分:魔數,區塊大小,區塊頭,交易計數器和交易信息。比特幣區塊的結構其中,「魔數」是一個值為0xD9B4BEF9的常數;「區塊體積」是本區塊所有數據的總體積;「區塊頭」是可以看作是整個區塊的縮略信息,挖礦用到的區塊信息就是區塊頭;「交易計數器」用來記錄區塊中交易的數量;「交易數據」是區塊所包含的所有交易信息,包括Coinbase獎勵部分,一般來說,這部分數據佔了整個區塊絕大部分空間。在比特幣區塊中,區塊頭是最為關鍵的一個信息。它包含整個區塊的所有特徵信息:區塊版本號。