比特幣演算法詳解
① 比特幣的概念,我需要通俗的解釋
比特幣就由一串不規則的代碼組成,它是一個開源的P2P軟體系統,比特幣的是由挖礦產生的,挖礦其實就和你游戲打金幣一個道理,挖礦說白了就是利用你挖礦設備去運算固定演算法的數學難題,確認網路交易,保證整個網路系統的安全,作為回報礦工可以根據貢獻算力的大小獲得不等分的比特幣獎勵。
比特幣由一個叫中本聰的人發明創造,總數為2100萬個。可以在接受比特幣支付的商家購買商品和服務。比特幣沒有專門的發行和運營機構,和騰訊的Q幣不同,任何人都可以通過挖礦創造比特幣。
專業點就是比特幣是一個共識網路,促成了一個全新的支付系統和一種完全數字化的貨幣。它是第一個去中心化的對等支付網路,由其用戶自己掌控而無須中央管理機構或中間人。從用戶的角度來看,比特幣很像互聯網的現金。比特幣也可以看作是目前最傑出的三式簿記系統。
僅供參考,想了解更多,可去比特幣之家網查看相關信息。
② 比特幣礦機是如何通過計算挖幣的
中本聰打造比特幣的時候,希望比特幣是一個去中心化的貨幣,不僅使用、交易如此,挖礦也應該如此。但是事與願違,隨著比特幣等加密貨幣的價值越來越高,挖礦成為了一個產業,競爭越來越激烈,對挖礦算力的追求越來越高,所以從普通電腦挖礦,進化出了ASIC礦機與GPU礦機。
用ASIC礦機挖礦的幣,演算法幾乎都為SHA256,而用GPU挖礦的演算法則不同,例如BTG的演算法是Equihash,BCD的演算法是optimized X13。雖然不是絕對,但可以簡單的認為,SHA256演算法的幣,一般都是用ASIC礦機挖。其他演算法的幣則基本都使用GPU礦機。也有例外,scrypt演算法的萊特幣以前用GPU礦機挖,但後來scrypt演算法也被ASIC晶元攻克,比如螞蟻礦機L3+,就是用來挖萊特幣的ASIC礦機。
ASIC礦機,是指採用ASIC晶元作為算力核心的礦機。其中ASIC是Application Specific Integrated Circuit的縮寫,是一種專門為某種特定用途設計的電子電路(晶元)。有礦機廠專門為計算比特幣的SHA256演算法而設計了ASIC晶元,使用它們的礦機就是ASIC礦機。由於ASIC晶元只為特定計算打造,所以效率可以比CPU這種通用計算晶元要高很多。舉個例子,當前主流的螞蟻礦機S9就是ASIC礦機,使用了189片ASIC晶元,算力達到了13.5TH/s,功耗僅為1350W。作為對比,當前電腦顯卡旗艦GTX1080Ti挖比特幣的算力,就算優化的好基本也不會超過60MH/s。相差了數萬倍,非常懸殊。
而GPU礦機,是指使用GPU顯卡作為算力核心的礦機。諸如以太坊、比特幣鑽石等加密貨幣用的是圖形演算法,所以用顯卡計算的速度會最高。相對於ASIC礦機,GPU礦機更被大眾熟知,因為說白了它就是一台加強了顯卡配置的電腦。
GPU礦機的目的是賺錢,所以要追求功耗比與最大收益,所以選擇要注重性價比,一般中高端定位的顯卡,比如AMD RX560、RX570的功耗比高,是GPU礦機的好選擇。而GTX1080Ti、AMD Vega64這樣旗艦雖然單卡性能最強,但售價與功耗算下來並不劃算。
另外,ASIC礦機也有一些比較奇葩的產品,比如燒貓的USB礦機,是個比U盤略微大一些的東東,功耗也只有2.25W,是目前最小的比特幣礦機。
以上引用挖幣網—「礦機分類介紹」,專業名詞較多,希望對您有幫助,謝謝!
③ 程序員詳解:比特幣到底是個什麼幣
比特幣來源於一種計算機的演算法,你可以認為它就是一個數字代碼。因為人為被限定了數量,所以價值很高,但只流通認可它的人群中,不同於傳統貨幣。
④ 比特幣塊哈希是怎麼算出來的
比特幣所採用的哈希演算法,在比特幣系統中,需要大量地進行哈希函數運算。比特幣系統是這樣規定的:每隔十分鍾,大家都需要計算哈希函數,計算的值必須符合我的規定。誰計算的快,誰才會獲得作為獎勵的比特幣。
⑤ 比特幣挖礦到底在計算什麼
要知道挖礦到底在計算什麼,首先得知道比特幣的本質及產生的過程。比特幣是基於網路的電子貨幣,實際是互聯網的一串代碼,依靠演算法計算得出。挖礦是完成演算法的過程,也是生產比特幣的唯一方式。而且由於演算法規定,比特幣目前只有2100萬個。
1、挖礦既能生產比特幣,又能保障交易信息
類似於,一個數學系統包含2100萬個數學題,需要通過龐大的計算量不斷的去尋求這個每個數學題的特解。另外,特解是唯一的。
下面來具體解釋挖礦,從作用來說,挖礦不僅可以增加比特幣貨幣供應,而且還可以保護比特幣交易安全、防止欺詐交易。從過程來說,比特幣網路是一個點對點的支付系統,任何人都可以通過交易程序進行交易。
為了確保交易過程被如實記錄,就需要「礦工」這個角色來負責記錄比特幣交易信息,這個時間間隔是10分鍾,礦工中記賬最好的交易記錄就會被打包存儲到一個新的區塊中,相應的礦工也會得到一定數量的比特幣獎勵。
2、挖礦過程極其復雜,非人力所能為
具體的流程如下,當某一個礦工監聽到這筆交易時,首先會對交易信息進行驗證。通過驗證的交易則會被礦工記錄下來,保存在自己的資料庫裡面。全世界可能有成千上萬個礦工在進行同一件事,但在每十分鍾內,只有一個礦工有權創建新的區塊,使自己記錄的交易信息被大家所承認並永久地存儲下來。
接下來,礦工們就需要爭奪記賬權,這是一場算力競賽的比拼,其核心是用計算機完成大量的計算任務,找到一個超難的隨機數,這個隨機數就是第一段所說的方程特解,最先算出正確隨機數的礦工勝出。根據游戲規律,一個礦工獲得記賬權的幾率與其算力佔全網算力之和的比例成正比。換句話說,找到該隨機數的概率相當於將一億個骰子扔出,最後骰子總和小於1億零50。因此,挖礦需要大量的計算機,安裝特定的演算法軟體,日夜重復運行,非人力所能為。
3、比特幣挖礦其實就是「村民記賬」
可能還是有網友不懂,那就舉個例子。在一個村裡,村民之間經常會發生借款行為,哪怕寫了字據也有違約的風險。那麼,在每次村裡有借款行為發生的時候,就用村裡的大喇叭告知大家,所有的村民(礦工)就在自己的賬簿里記下所有交易記錄。
⑥ 比特幣如何算出來的
要想了解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
⑦ 如何理解比特幣
縱觀歷史,在危機時期曾有過黃金、貨物甚至土地被沒收的案例。同樣令人不安的是,正如我們在委內瑞拉看到的那樣,那裡的人們正與高通脹作斗爭,有時將資金轉換為另一種貨幣會異常困難,這讓人們倍感無助,只能眼睜睜看著自己一生的積蓄一文不值。比特幣則大不相同。它是電子形式的,且無國界限制,可以在沒有任何中介的情況下進行轉移,任何連接到移動設備或互聯網的人都可以使用,所有交易都永久記錄在公共賬本上,沒有所有權的爭議問題。
在《紐約時報》最近的一篇文章中,一位委內瑞拉經濟學家描述了比特幣如何成為委內瑞拉日常生活的一部分,以至於在某個主流比特幣交易平台上,委內瑞拉的交易量僅次於俄羅斯,排在全球第二。但比特幣並不只是在極端條件下可以用來保護財富。總的來說,比特幣也是投資組合多元化的一個極佳選擇,它應該被視為全面財富保值戰略的一部分。
⑧ 比特幣產生原理
什麼是貨幣呢?貨幣就是商品(包括服務)交換的媒介。現在我們通行的貨幣是由有信譽的銀行發行的,基本上是由其信譽來擔保的。只要用的人都認可,那麼我 們就可以用它來交易。貨幣有一定的保值特性,我把我的勞動/服務/所有的商品換成貨幣後,銀行擔保我在日後的某一天,我還可以用它交換會差不多等值的東 西。這個保證的前提是,銀行不會濫發新的貨幣以及大家都信任這一點。
以前,我們用貴金屬做貨幣。因為貴金屬產量不高,貨幣新增加的速度有限,而經濟體在不斷增大,市場需要更多的貨幣來讓商品盡量的流通。有需求就有價 值,從這個意義上來說,貴金屬本身製造別的東西具備的價值是次要的,經濟體需要貨幣來流通商品這個需求才是主要的。而貴金屬產量有限,且曾經流通著的貴金 屬貨幣由於各種原因會退出市場,那麼即使是新造的貴金屬貨幣也有同樣甚至更高的價值。
Bitcoin 為什麼保值,BTC (Bitcoin 的貨幣簡稱)存在於一個龐大的 p2p 網路中。使用 Bitcoin 的群體公認了一種演算法,這種演算法在現今的條件下,每小時只會新產生大約 6 組新的 BTC ,目前一組是 50 個。也就是說,這個世界上,每個小時大約只會產生 300 個 BTC 。這個產量還會由網路自動調整難度來限制產量。你沒辦法通過修改所有人的 Client 的演算法及參數(client 是開源的)來加快貨幣產量。偽造的貨幣會被網路丟棄(除非你可以控制大部分網路節點)。
BTC 本身有什麼價值?
BTC 的價值就是交易渠道本身。一組新製造出來的 BTC 提供了把舊的 BTC 從一個帳戶轉移到另一個帳戶的數學保證。這個安全保證背後的代價是大量的計算力。生產這么一個安全通道是需要消耗大量能源的,所以整個 BTC 用戶群體,獎勵那個造幣者(目前是 50 BTC),,2012年12月份後會變成25BTC,並且每4年減半一次。
簡單說,我的理解就是,現在世界上所有的 BTC 背後都是用運行計算機的能量產生出來的,它們的總價值,(到現在一共有大約 12w 組 BTC 被生產出來,每組 50 個,市場價格大約 7.3 美金一個),應該是少於消耗掉的能源的總市場價值的。不過我想,用於生產 BTC 的能源大都原本就是不用也被浪費掉的資源。
4
⑨ 比特幣到底在計算什麼
人人富財商院這樣告訴你:每一個比特幣的節點都會收集所有尚未確認的交易,並將其歸集到一個數據塊中,這個數據塊會和前面一個數據塊集成在一起。礦工節點會附加一個隨機調整數,並計算前一個數據塊的SHA-256哈希運算值。挖礦節點不斷重復進行嘗試,直到它找到的隨機調整數使得產生的哈希值低於某個特定的目標。
由於哈希運算是不可逆的,尋找到符合要求的隨機調整數非常困難,需要一個可以預計總數的不斷試錯過程。這時,工作量證明機制就發揮作用了。當一個節點找到了符合要求的解,那麼它就可以向全網廣播自己的結果。其他節點就可以接收這個新解出來的數據塊,並檢驗其是否符合規格。如果其他節點通過計算哈希值發現確實滿足要求,那麼該數據塊有效,其他節點就會接受該數據塊,並將其附加在自己已有的鏈條之後。
比特幣挖礦採用的是SHA-256哈希值運算,這種演算法會進行大量的32位整數循環右移運算
窮舉,驗證,直到找到某個符合要求的的數據,這個毫無意義的數據就是一塊錢了