比特幣演算法過於精良
要知道挖礦到底在計算什麼,首先得知道比特幣的本質及產生的過程。比特幣是基於網路的電子貨幣,實際是互聯網的一串代碼,依靠演算法計算得出。挖礦是完成演算法的過程,也是生產比特幣的唯一方式。而且由於演算法規定,比特幣目前只有2100萬個。
1、挖礦既能生產比特幣,又能保障交易信息
類似於,一個數學系統包含2100萬個數學題,需要通過龐大的計算量不斷的去尋求這個每個數學題的特解。另外,特解是唯一的。
下面來具體解釋挖礦,從作用來說,挖礦不僅可以增加比特幣貨幣供應,而且還可以保護比特幣交易安全、防止欺詐交易。從過程來說,比特幣網路是一個點對點的支付系統,任何人都可以通過交易程序進行交易。
為了確保交易過程被如實記錄,就需要「礦工」這個角色來負責記錄比特幣交易信息,這個時間間隔是10分鍾,礦工中記賬最好的交易記錄就會被打包存儲到一個新的區塊中,相應的礦工也會得到一定數量的比特幣獎勵。
2、挖礦過程極其復雜,非人力所能為
具體的流程如下,當某一個礦工監聽到這筆交易時,首先會對交易信息進行驗證。通過驗證的交易則會被礦工記錄下來,保存在自己的資料庫裡面。全世界可能有成千上萬個礦工在進行同一件事,但在每十分鍾內,只有一個礦工有權創建新的區塊,使自己記錄的交易信息被大家所承認並永久地存儲下來。
接下來,礦工們就需要爭奪記賬權,這是一場算力競賽的比拼,其核心是用計算機完成大量的計算任務,找到一個超難的隨機數,這個隨機數就是第一段所說的方程特解,最先算出正確隨機數的礦工勝出。根據游戲規律,一個礦工獲得記賬權的幾率與其算力佔全網算力之和的比例成正比。換句話說,找到該隨機數的概率相當於將一億個骰子扔出,最後骰子總和小於1億零50。因此,挖礦需要大量的計算機,安裝特定的演算法軟體,日夜重復運行,非人力所能為。
3、比特幣挖礦其實就是「村民記賬」
可能還是有網友不懂,那就舉個例子。在一個村裡,村民之間經常會發生借款行為,哪怕寫了字據也有違約的風險。那麼,在每次村裡有借款行為發生的時候,就用村裡的大喇叭告知大家,所有的村民(礦工)就在自己的賬簿里記下所有交易記錄。
B. 比特幣如何算出來的
要想了解bitcoin的技術原理,首先需要了解兩個重要的密碼技術: HASH碼:將一個長字元串轉換成固定長度的字元串,並且其轉換不可逆,即不太可能從HASH碼猜出原字元串。bitcoin協議里使用的主要是SHA256。
公鑰體系:對應一個公鑰和私鑰,在應用中自己保留私鑰,並公開公鑰。當甲向乙傳遞信息時,可使用甲的私鑰加密信息,乙可用甲的公鑰進行解密,這樣可確保第三方無法冒充甲發送信息;同時,甲向乙傳遞信息時,用乙的公鑰加密後發給乙,乙再用自己的私鑰進行解密,這樣可確保第三者無法偷聽兩人之間的通信。最常見的公鑰體系為RSA,但bitcoin協議里使用的是lliptic Curve Digital Signature Algorithm。 和現金、銀行賬戶的區別? bitcoin為電子貨幣,單位為BTC。在這篇文章里也用來指代整個bitcoin系統。 和在銀行開立賬戶一樣,bitcoin里的對應概念為地址。每個人都可以有1個或若干個bitcoin地址,該地址用來付賬和收錢。每個地址都是一串以1開頭的字元串,比如我有兩個bitcoin賬戶,和。一個bitcoin賬戶由一對公鑰和私鑰唯一確定,要保存賬戶,只需要保存好私鑰文件即可。 和銀行賬戶不一樣的地方在於,銀行會保存所有的交易記錄和維護各個賬戶的賬面余額,而bitcoin的交易記錄則由整個P2P網路通過事先約定的協議共同維護。 我的賬戶地址里到底有多少錢? 雖然使用bitcoin的軟體可以看到當前賬戶的余額,但和銀行不一樣,並沒有一個地方維護每個地址的賬面余額。它只能通過所有歷史交易記錄去實時推算賬戶余額。 我如何付賬? 當我從地址A向對方的地址B付賬時,付賬額為e,此時雙方將向各個網路節點公告交易信息,告訴地址A向地址B付賬,付賬額為e。為了防止有第三方偽造該交易信息,該交易信息將使用地址A的私鑰進行加密,此時接受到該交易信息的網路節點可以使用地址A的公鑰進行驗證該交易信息的確由A發出。當然交易軟體會幫我們做這些事情,我們只需要在軟體中輸入相關參數即可。 網路節點後收到交易信息後會做什麼? 這個是整個bitcoin系統里最重要的部分,需要詳細闡述。為了簡單起見,這里只使用目前已經實現的bitcoin協議,在當前版本中,每個網路節點都會通過同步保存所有的交易信息。 歷史上發生過的所有交易信息分為兩類,一類為"驗證過"的交易信息,即已經被驗證過的交易信息,它保存在一連串的「blocks」裡面。每個"block"的信息為前一個"bock"的ID(每個block的ID為該block的HASH碼的HASH碼)和新增的交易信息(參見一個實際的block)。另外一類指那些還"未驗證"的交易信息,上面剛剛付賬的交易信息就屬於此類。 當一個網路節點接收到新的未驗證的交易信息之後(可能不止一條),由於該節點保存了歷史上所有的交易信息,它可以推算中在當時每個地址的賬面余額,從而可以推算出該交易信息是否有效,即付款的賬戶里是否有足夠余額。在剔除掉無效的交易信息後,它首先取出最後一個"block"的ID,然後將這些未驗證的交易信息和該ID組合在一起,再加上一個驗證碼,形成一個新的「block」。 上面構建一個新的block需要大量的計算工作,因為它需要計算驗證碼,使得上面的組合成為一個block,即該block的HASH碼的HASH碼的前若干位為1。目前需要前13位為1(大致如此,不確定具體方式),此意味著如果通過枚舉法生成block的話,平均枚舉次數為16^13次。使用CPU資源生成block被稱為「挖金礦」,因為生產該block將得到一定的獎勵,該獎勵信息已經被包含在這個block裡面。 當一個網路節點生成一個新的block時,它將廣播給其它的網路節點。但這個網路block並不一定會被網路接受,因為有可能有別的網路節點更早生產出了block,只有最早產生的那個block或者後續block最多的那個block有效,其餘block不再作為下一個block的初始block。 對方如何確認支付成功? 當該筆支付信息分發到網路節點後,網路節點開始計算該交易是否有效(即賬戶余額是否足夠支付),並試圖生成包含該筆交易信息的blocks。當累計有6個blocks(1個直接blocks和5個後續blocks)包含該筆交易信息時,該交易信息被認為「驗證過」,從而該交易被正式確認,對方可確認支付成功。 一個可能的問題為,我將地址A裡面的余額都支付給地址B,同時又支付給地址C,如果只驗證單比交易都是有效的。此時,我的作弊的方式為在真相大白之前產生6個僅包括B的block發給B,以及產生6個僅包含C的block發給C。由於我產生block所需要的CPU時間非常長,與全網路相比,我這樣作弊成功的概率微乎其微。 網路節點生產block的動機是什麼? 從上面描述可以看出,為了讓交易信息有效,需要網路節點生成1個和5個後續block包含該交易信息,並且這樣的block生成非常耗費CPU。那怎麼樣讓其它網路節點盡快幫忙生產block呢?答案很簡單,協議規定對生產出block的地址獎勵BTC,以及交易雙方承諾的手續費。目前生產出一個block的獎勵為50BTC,未來每隔四年減半,比如2013年到2016年之間獎勵為25BTC。 交易是匿名的嗎? 是,也不是。所有BITCOIN的交易都是可見的,我們可以查到每個賬戶的所有交易記錄,比如我的。但與銀行貨幣體系不一樣的地方在於,每個人的賬戶本身是匿名的,並且每個人可以開很多個賬戶。總的說來,所謂的匿名性沒有宣稱的那麼好。 但bitcoin用來做黑市交易的還有一個好處,它無法凍結。即便警方追蹤到了某個bitcoin地址,除非根據網路地址追蹤到交易所使用的電腦,否則還是毫無辦法。 如何保證bitcoin不貶值? 一般來說,在交易活動相當的情況下,貨幣的價值反比於貨幣的發行量。不像傳統貨幣市場,央行可以決定貨幣發行量,bitcoin里沒有一個中央的發行機構。只有通過生產block,才能獲得一定數量的BTC貨幣。所以bitcoin貨幣新增量決定於: 1、生產block的速度:bitcoin的協議里規定了生產block的難度固定在平均2016個每兩個星期,大約10分鍾生產一個。CPU速度每18個月速度加倍的摩爾定律,並不會加快生產block的速度。 2、生產block的獎勵數量:目前每生產一個block獎勵50BTC,每四年減半,2013年開始獎勵25BTC,2017年開始獎勵額為12.5BTC。 綜合上面兩個因素,bitcoin貨幣發行速度並不由網路節點中任何單個節點所控制,其協議使得貨幣的存量是事先已知的,並且最高存量只有2100萬BTC
C. 比特幣演算法原理
比特幣演算法主要有兩種,分別是橢圓曲線數字簽名演算法和SHA256哈希演算法。
橢圓曲線數字簽名演算法主要運用在比特幣公鑰和私鑰的生成過程中,該演算法是構成比特幣系統的基石。SHA-256哈希演算法主要是運用在比特幣的工作量證明機制中。
比特幣產生的原理是經過復雜的運演算法產生的特解,挖礦就是尋找特解的過程。不過比特幣的總數量只有2100萬個,而且隨著比特幣不斷被挖掘,越往後產生比特幣的難度會增加,可能獲得比特幣的成本要比比特幣本身的價格高。
比特幣的區塊由區塊頭及該區塊所包含的交易列表組成,區塊頭的大小為80位元組,由4位元組的版本號、32位元組的上一個區塊的散列值、32位元組的 Merkle Root Hash、4位元組的時間戳(當前時間)、4位元組的當前難度值、4位元組的隨機數組成。擁有80位元組固定長度的區塊頭,就是用於比特幣工作量證明的輸入字元串。不停的變更區塊頭中的隨機數即 nonce 的數值,並對每次變更後的的區塊頭做雙重 SHA256運算,將結果值與當前網路的目標值做對比,如果小於目標值,則解題成功,工作量證明完成。
比特幣的本質其實是一堆復雜演算法所生成的一組方程組的特解(該解具有唯一性)。比特幣是世界上第一種分布式的虛擬貨幣,其沒有特定的發行中心,比特幣的網路由所有用戶構成,因為沒有中心的存在能夠保證了數據的安全性。
D. 挖比特幣的演算法是不是唯一的,還是可以優化
比特幣是用的SHA-256演算法,在數論沒有重大突破前,現在在用的演算法已經是最優的。挖礦需要計算和聯網,沒有網路的話不行的。
E. 比特幣為什麼不能造假
比特幣是虛擬幣,沒有發行機構。
與大多數貨幣不同,比特幣不依靠特定貨幣機構發行,它依據特定演算法,通過大量的計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,並使用密碼學的設計來確保貨幣流通各個環節安全性。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性。該貨幣系統曾在4年內只有不超過1050萬個,之後的總數量將被永久限制在2100萬個。
比特幣可以用來兌現,可以兌換成大多數國家的貨幣。使用者可以用比特幣購買一些虛擬物品,比如網路游戲當中的衣服、帽子、裝備等,只要有人接受,也可以使用比特幣購買現實生活當中的物品。
F. 中本聰和比特幣的關系是什麼呢
中本聰和比特幣的關系是什麼呢?
一、中本聰用比特幣幹掉任性的「中心化」
比特幣從剛開始到今天,已經上漲了數萬倍,以至於無論是圈內人還是圈外人,都難免感嘆一句:我當年怎麼沒早點買比特幣呢!
事實上,比特幣剛開始可不是為了給大家炒幣致富的,而是定義為一套電子現金系統。
為什麼這么說呢,2008年,有個叫「中本聰」的人寫了一篇名字叫作:《比特幣:一個點對點的電子現金系統》,論文,這是一篇非常嚴謹的論文,裡面並沒有涉及到投資、致富這樣的話題。
為什麼要發明這樣一套系統?是銀行卡、信用卡支付不好用?還是銀行服務不便捷?都不是。
現如今,盡管紙幣還是主要的貨幣形態,但是一手交錢一手交貨的時代彷彿已經過去,現如今就算路邊的小商販也大多都是微信支付寶付款,微信轉賬、支付寶轉賬已經成為新時代的主要生活方式。在 2008 年的時候即使沒有微信、支付寶,但仍有銀行卡、信用卡,那麼比特幣這樣的概念為什麼會誕生呢?
比特幣誕生的時代背景:2008年全球正處於嚴重的金融危機,美聯儲不斷增發貨幣加劇了通貨膨脹,中本聰認為處於完全中心化的中央銀行並不靠譜,對於現金的增發任意為之,針對這一點著實過分!
基於這種大環境,他開始思考:怎麼樣遏制這個「任性」的中央權威,不讓它時不時就增發或者減少發行現金......
經過幾個月的思考和研究他得出了這樣的結論:幹掉美聯儲肯定是不現實的,但我可以重新做一套貨幣系統,用全新的金融系統體系去制衡或者幹掉美聯儲這種權力機構!換句話說:既然美聯儲是「中心化權威」,遏制它的方式當然就是「去中心化」!
於是,他通過對之前已經發放的數字貨幣 B-money和HashCash等的深入研究,創建了一個點對點的、完全去中心化的電子現金系統,也就是現在的比特幣。
點對點、去中心化意味著什麼?我們舉個例子:
假使你給小明轉2000塊錢,如果用現在的支付方式,這個2000塊錢的流轉過程是這樣的:你——銀行|微信|支付寶——小明,也就是說,這2000塊錢要經過「銀行|微信|支付寶」這樣一個中轉站才能到達小明手裡。
如果是比特幣呢,2000個比特幣的流程是這樣的:你——小明,直接支付收款,完全除去了中心化的監管,自己的資金自己完全掌握控制權,一個絕對自由的金融體系系統自此誕生。
所以,比特幣最早的建立初衷並不是讓人實現「一夜暴富」的造富神器,也不是一種簡簡單單的加密數字貨幣,而是一套去中心化的電子現金系統。他要改變的不是貨幣和支付形式,他是要創造對於金融領域的一種完全自由自控的超時代產物。
比特幣這套電子現金系統,融合了P2P、密碼學、經濟學等多重現有的學科,在比特幣的誕生中,中本聰更像是一名優秀的「產品經理」,他善於把原有的技術手段整合利用,做成一套讓人耳目一新的「新」產物。
二、中本聰到底是誰?
中本聰這么厲害,他到底是誰?答案是:不知道。
「中本聰身世之謎」可以說是當代區塊鏈行業最大的未解之謎了。不止有人的地方有江湖,其實,有「謎」的地方也有江湖。「中本聰」的名頭實在是太響了,每過一段時間,就會有人站出來說:「我就是中本聰」;或者,「他就是中本聰」。
中本聰真實身份猜測之一:多利安·中本
多利安·中本是居住在加利福尼亞州的日裔美國人,「哲史」是他出生時的名字
(「中本哲史」這個名字,是「中本聰」的日本媒體翻譯版本)。除了名字相同以外,多利安在接受采訪時親口說:「我已經不再參與它了,不能討論它。它已經被轉交給其他人。他們現在在負責。我已經沒有任何聯系。」
但隨後,多利安澄清,自己所說的事情是之前從事的軍方保密工作,並不是比特幣。P2P基金會的中本聰賬戶也在塵封五年之後發了第一條消息,稱:「我不是多利安·中本。」
中本聰真實身份猜測之二:望月新一
日本數學家望月新一的研究領域包含比特幣所使用的數學演算法。而且,望月新一一般不使用常規學術發表機制,而是習慣獨自工作。不過,有人提出質疑,認為設計比特幣所需的密碼學並不是望月新一的研究領域,望月本人也否定了自己是中本聰的說法。
中本聰真實身份猜測之三:尼克·薩博
尼克·薩博之前是喬治華盛頓大學的教授,熱衷於研究去中心化貨幣,也喜歡使用化名發表學術作品,他曾經發表過一篇關於「比特黃金」的論文,被認為是比特幣的先驅。不過,他在一篇文章中表示:中本聰是繼他之後少數對比特幣演算法感興趣的人,暗示自己並不是中本聰本人。
中本聰真實身份猜測之四:哈爾·芬尼
哈爾·芬尼是一位著名的密碼朋克和密碼學家。他是2009年第一個從中本聰那裡接收比特幣的人,還是第一個下載比特幣客戶端的人。然而,哈爾·芬尼在2014年去世之前否認了他是中本聰的說法。
中本聰真實身份猜測之五:克雷格·史蒂芬·懷特
克雷格·史蒂芬·懷特是一位澳大利亞的企業家,也是首位公開承認自己是中本聰,聲稱自己擁有中本聰的加密簽名檔和早期的比特幣地址私鑰,但這一言論飽受質疑,人們認為這兩個證據其實很容易獲取到,並不足以能夠證明中本聰的身份。因為時常在公開場合叫囂自己是「中本聰」,他獲得了一個外號「澳本聰」(澳洲的中本聰),當然,這是一個戲稱。
中本聰真實身份猜測之六:「中本聰」是一個團隊,而非個人
中本聰在發言和程序中,切換使用英式英語和美式英語,並且隨機在全天不同的時間上線發言,似乎賬號有多人操縱。比特幣核心開發團隊工作人員認為,其演算法設計過於精良,不像是一個人單槍匹馬所能完成的。
中本聰真實身份猜測之七:「中本聰」只是一個虛構身份
這種猜測的依據在於,中本聰極少透露自己的真實信息。在P2P基金會網站的個人資料中,他自稱是居住在日本的37歲男性。然而,他在公開場合從來沒有使用過日語,而是使用非常純正熟練的英文。用他的姓名在網上搜索,也無法找到任何與這個人相關的信息。
中本聰為什麼不現身呢?早在2015年,加州大學洛杉磯分校金融學教授巴格·喬杜里便提名中本聰為2016年諾貝爾經濟學獎候選人,盡管獲此殊榮,中本聰也一直沒有出現。中本聰為何把自己包裹在層層加密的代碼下呢?我們認為主要有三個原因:
第一,隱匿身份是為了規避外在風險。
發行貨幣本是一種國家行為,而中本聰發明的比特幣,是建立在無政府主義,或者說對政府以及中心化金融機構缺失信任的基礎上。加之比特幣的發展速度非常快,不僅如此,還帶動了其他數字貨幣的出現和滋長,目前在世界范圍內的市值是非常巨大的。
打擊一種現象最常見也最有效的方法莫過於「抓典型」,比特幣是一眾加密貨幣的鼻祖,盡管它是一種虛擬貨幣,一旦被一些國家界定為非法發幣、縱容經濟犯罪等非法行為,中本聰本人或將面臨刑事責任。
第二,避免自己的個人言論影響去中心化發展進程。
我們都知道,幣圈大佬的號召力有多強,盡管現在的共識在於,幣圈大佬全部是自帶流量的網紅,但事實的確是,他們振臂一呼,後面的韭菜就蜂擁跟隨。
中本聰可以說是幣圈大佬中的王者級別,他的任何言論和行為都將影響到許多人,因為在大家眼裡,他就是權威,這與他所倡導的「去中心化」是完全相悖的。
第三,保護個人隱私與人身安全。
平日里,大佬風光無線,可是每當遇到幣價跳水、主網漏洞等問題,大佬就會被揪出來問責。看看曾經在上海被圍追堵截的V神、以及此前飽受爭議的EOS創始人BM就知道了。中本聰的身份一旦被公開,將要面臨的也許是負面纏繞甚至人身攻擊。這樣看來,還是被代碼包裹的世界更安全。
中本聰到底是誰我們暫且不管,盡管他本人身份虛幻成謎,但是他留給我們的比特幣系統卻是實實在在存在的。
G. 能不能用另一個數學公式重新開發一個比特幣,現在的比特幣有2100萬個,重新做一個2億的
比特幣2100萬個是人為在源代碼中設置的,其中有個參數可以改變這個上限,但必須大多數節點都統一改才行,所以實際是不可能改的。
H. 比特幣是一段演算法,如果兩個人同時算出來了,那一個比特幣就變成兩個了嗎
如果是兩個人同時算出來比特幣,那這個游戲會繼續下去,直到分出勝負,比特幣歸勝利一方。
打個比方說。
拳手A和拳手B在爭奪冠軍獎牌,獎牌(比特幣)只有一個,只能歸勝利的一方。
在戰斗過程中可能會出現平局,那就再開始下一局比拼,如果還是平局,就再打一局,如果一直平局就一直打下去,直到一方勝利,他就可以獲得獎牌(比特幣)。失敗一方之前所做的所有努力等於都是無用功了。
比特幣的計算過程非常的復雜,所以同時計算到比特幣的可能非常小,但不是沒有,如果出現的話就會產生區塊分叉,保留2個區塊分叉,(沒有產生比特幣)但繼續比拼下一次計算,如果一方先算出區塊,就會舍棄掉短的分叉區塊。長的區塊就會產生比特幣了。
I. 黑客不能破解比特幣的演算法嗎
比特幣只能利用計算能力來破解,但是這個破解成本太大了。所以沒有人來破解。