當前位置:首頁 » 比特幣問答 » 比特幣加密位數

比特幣加密位數

發布時間: 2023-05-11 22:34:40

比特幣的安全性到底有多高,你有懷疑比特幣的安全性嗎

近期,比特幣突破新高,一枚比特幣價值近26萬人民幣,一枚比特幣換一輛特斯拉。對於剛入圈的新人來說,你肯定很關心比特幣的安全問題。

那麼,比特幣安全嗎?換句話說, 錢包里的比特幣,容易被黑客盜走嗎?

01
私鑰、公鑰、地址

就像銀行取款、網銀轉賬需要輸入密碼一樣, 動用錢包里的比特幣也需要密碼,這個密碼被稱之為「私鑰」。

與「私鑰」對應的是「公鑰」,「公鑰」就像你的銀行賬戶。 每個銀行賬戶都有唯一的賬戶編號,也就是銀行卡號。 在比特幣網路中,這個銀行卡號就是「地址」。 別人只要知道你的「銀行卡號」(即地址),就可以給你轉比特幣了。

在銀行,開戶流程基本是「開設銀行賬戶——給銀行卡號——設置銀行卡密碼——開戶成功」。但在區塊鏈世界裡,是先設置「密碼」(私鑰),再開設「銀行賬戶」(公鑰),最後給「銀行卡號」(地址)。

如果你路上撿到了一張紙條,上面只寫著銀行卡密碼,但沒寫銀行卡號,即便這個銀行卡密碼是真的,你也無法取走相關賬戶里的錢。

但在區塊鏈世界,你只要知道了別人的「銀行卡密碼」(私鑰),就可以知道別人的「銀行賬戶」(公鑰)和「銀行卡號」(地址),可以取走裡面的幣。

為什麼會這樣呢?

這是因為在區塊鏈中,私鑰通過加密生成公鑰,公鑰轉換一下格式生成地址。也就是說, 私鑰可以推導出公鑰,公鑰可以推導出地址。


02
反向推導?沒門!

既然「私鑰可以推導出公鑰,公鑰可以推導出地址」,動用賬戶里的比特幣又必須輸入「密碼(私鑰)」, 那黑客要竊取你錢包里的比特幣,必須、也只需拿到「私鑰」即可。

理論上,黑客有2種方法竊取你的私鑰:

第一種方法並不可行,因為比特幣採用的加密演算法,「失之毫釐,差之千里!」。 輸入的內容,稍稍變動哪怕一丁點的東西,加密後輸出的結果和之前輸出的結果也有 天壤之別 ,而且這些結果沒有規律可循。

所以,這種加密演算法是「單向的」、「不可逆的」,黑客無法通過輸出(地址/公鑰)推導出輸入(私鑰)。


03
暴力破解比特幣私鑰有多難?

既然第一種方法不可行,那第二種方法如何?在回答這個問題之前,我們先看下私鑰是怎麼產生的。

假設你拋硬幣,正面朝上為1,反面朝上為0,連續拋256次,把每次拋的結果記錄下來,再轉換成十六進制數,就是一個比特幣私鑰。

What? 這么簡單?這么任性?

沒錯,比特幣的私鑰就是通過程序「拋256次硬幣」,隨機生成的。所以, 比特幣私鑰的本質是256位二進制數

每次拋硬幣,都有正反2面,所以拋256次,一共可以出現「2 x 2 x2 x 2……2 x 2x2」,即256個2相乘,也就是「2的256次方」種結果。 所以,比特幣的私鑰總數,理論上有「2的256次方」個。

註: 私鑰總數的實際值比上面的理論值略低,因為有一小部分私鑰不可用,但對總數影響微乎其微。

「2的256次方」是多大呢?它約等於「10的77次方」。那「10的77次方」又是多大呢?

如果我們居住的這個地球,海洋、岩石、地底下的岩漿全部用沙子來填充的話,整個地球的沙子數量大概是「10的30次方」。也就是說, 一個和地球一樣大,全部由沙子組成的星球,需要用到「10的30次方」粒沙子。

「10的77次方」比「10的30次方」大「10的47次方」倍,整整47個0。在比一個地球的沙子數量還要多「10的47次方」倍的比特幣私鑰集里,一個一個地試,破解出某個地址對應的私鑰,簡直比大海撈針還難。

所以,即便黑客有超級計算機,都無法暴力破解比特幣私鑰。

這就是為什麼很多人說 , 「比特幣第一次通過技術手段,保證了個人的私有財產神聖不可侵犯」。

04
如果比超級計算機還要厲害?

雖然未來的 科技 如何發展誰都無法准確預測,但如果有一天,人類發明了比超級計算機、量子計算機還要厲害的計算機,比特幣私鑰不就不安全了嗎?

確實,很多人想知道量子計算機到底對比特幣的安全性有沒有威脅,如果有威脅,比特幣有哪些措施可以應對。

鑒於這個問題不是三言兩語能解釋清楚,後面我們會單獨開一篇文章,探討這個問題,敬請期待。

05
結語

當然,安全問題不僅僅牽涉到技術問題,也牽涉到私鑰的保存問題。 如果是因為自己私鑰保存不當,或是電腦中了病毒,或是使用的錢包軟體有漏洞或是有後門,導致私鑰被黑客竊走,那錢包里的比特幣安全性就無從談起了。

但是,因為自己的失誤導致私鑰被盜,這鍋不能讓比特幣背,不是嗎?

所以,如果有人拿比特幣被盜事件來質疑比特幣的安全性,你會怎麼回答他呢?

② 比特幣是怎樣產生的

比特幣(Bitcoin)的概念最初由中本聰在2008年11月1日提出,並於2009年1月3日正式誕生 。根據中本聰的思路設計發布的開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的虛擬的加密數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。

比特幣網路通過「挖礦」來生成新的比特幣。所謂「挖礦」實質上是用計算機解決一項復雜的數學問題,來保證比特幣網路分布式記賬系統的一致性。比特幣網路會自動調整數學問題的難度,讓整個網路約每10分鍾得到一個合格答案。隨後比特幣網路會新生成一定量的比特幣作為區塊獎勵,獎勵獲得答案的人。

③ 比特幣跌破52000美元,下挫近20,背後發生了什麼

4月18日加密貨幣,集體跳水,多數加密貨幣下跌二位數,超過10%以上,市場對於加密貨幣的信心有所下降,恐慌加劇。

很多人投資比特幣等加密貨幣,其最主要的目的也是為了掙錢,目前來看很多人對於比特幣還是很有信心的,但是我們一定要理性投資,合理的運用金融周期規律,減少自己的損失。切記盲目投資、硬著頭皮,最後受傷肯定還是自己。

④ 幣安登錄密碼幾位

登錄密碼需要16位,1、錢包加密是指對儲存有私鑰的錢包進行自動加密存儲。 比特幣官方客戶端從0.4.0 版本開始支持錢包加密。加密的錢包在每次付款的時候,都會提示您輸入密碼。如果密碼錯誤,客戶端會拒絕付款。

2、如果用最早備份的錢包(wallet.dat)替換回來,還是一樣可以正常交易。考慮到比特幣的原理應該也可得出,只要有私鑰(錢包)存在,就可以證明你是這個錢包的合法擁有者,不管對這個錢包(核心就是某個地址對應的私鑰)是稿缺進行了加密鍵輪辯還是刪除,都不能否定它。

3、備份比特幣錢包時,還需注意由桐敗於比特幣支付找零機制的存在(比如把一個完整的100 btc中的50 btc發送給某個地址,系統會發送其中的50 btc到對方的地址,並退回50 btc到你客戶端的一個新地址上,這個地址不會直接顯示在你的地址列表中)。

⑤ 【區塊鏈】什麼是比特幣地址

比特幣地址是一串由字母和數字組成的26位到34位字元串,看起來有些像亂碼。但它就是你個人的比特幣賬戶,相當於你的銀行卡卡號,任何人都可以通過你的比特幣地址給你轉賬比特幣。

它與比特幣私鑰不同,不會因為信息泄露而造成比特幣丟失,因此你可以將比特幣地址放心的告訴任何人。

通過區塊鏈瀏覽器可以查看每個比特幣地址所有的轉賬交易記錄。

常用的比特幣區塊鏈瀏覽器有:
https://btc.com/block
https://www.blockchain.com/zh-cn/explorer

我們常用的比特幣地址格式一般有如下四種。

1、BASE58格式
BASE58格式是人們常見的比特幣地址格式,一般由1開頭的。

例如:

2、HASH160格式
HASH160格式為RIPEMD160演算法對130位公鑰的SHA256簽名進行計算得出的結果 。

例如:

3、WIF壓縮格式
WIF壓縮格式即錢包輸入格式,是將BASE58格式進行壓縮後的結果130位公鑰格式 這是最原始的由ECDSA演算法計算出來的比特幣公鑰。

例如:

4、60位公鑰格式
60位公鑰格式即130位公鑰進行壓縮後得出的結果。

例如:

比特幣是建立在數學加密學基礎上的,中本聰大神用了橢圓加密演算法(ECDSA)來產生比特幣的私鑰和公鑰。

由私鑰是可以計算出公鑰的,公鑰的值經過一系列數字簽名運算會得到比特幣地址。

比特幣地址是由演算法隨機生成,那麼就會有人問,既然都是隨機生成的,那麼比特幣的地址會不會重復呢?關於這個問題,想必就更不用擔心。

因為比特幣的私鑰長度是256位的二進制串,那麼隨機生成的兩個私鑰正好重復的的概率是2 ^ 256 ≈ 10 ^ 77之一,這個數字大到你根本無法想像,比中彩票的概率還要小好多;所以不用擔心的啦,每個人的比特幣地址都是獨一無二的。

⑥ 比特幣的加密(秘鑰、地址、腳本驗證)

https://en.bitcoin.it/wiki/Address

https://www.cnblogs.com/zhaoweiwei/p/address.html
生成方式:

P2PKH的交易腳本

舉個真實的例子:
ScriptSig:
PUSHDATA(72)[9701] PUSHDATA(33)
[]

這裡面的一個scriptSig由2部分組成,第一部分是簽名,第二部分是公鑰,PUSHDATA(N),表示要壓入棧頂的byte,1個byte表示2個字元,PUSHDATA(72)表示壓入144個字元

Output Scripts
HASH160 PUSHDATA(20)[] EQUAL
DUP HASH160 PUSHDATA(20)[] EQUALVERIFY CHECKSIG

第二個找零output地址因為是P2PKH開頭的,所以格式和描述的一樣

https://www.hibtc.org/2428.html
結合多重簽名一起使用
scriptSig: ..signatures... <serialized script>
scriptPubKey: OP_HASH160 <scriptHash> OP_EQUAL

表示一共有n個參與方,只要有m個參與方同意了這筆交易,則這筆交易就生效了,具體的規則是通過scriptHash裡面的腳本內容決定的
m-of-n multi-signature transaction:
scriptSig: 0 <sig1> ... <script>
script: OP_m <pubKey1> ... OP_n OP_CHECKMULTISIG

ScriptSig:
0[] PUSHDATA(72)[1201] PUSHDATA(71)[01] PUSHDATA1[]

HASH160 PUSHDATA(20)[] EQUAL

結合P2SH的新特徵

https://en.bitcoin.it/wiki/Transaction
目前比特幣支持兩種類型的交易:Pay-to-PubkeyHash、Pay-to-Script-Hash

驗證一筆P2PKH交易的一個輸入是否合法:

總結:先驗證這筆output是不是屬於該用戶,再驗證該用戶的簽名是否有效

參考:
https://blog.csdn.net/jerry81333/article/details/56824166

初級版的比特幣交易
https://www.jianshu.com/p/a57795ec562c

⑦ (四)比特幣加密原理

這篇文章將會講解比特幣的加密原理。比特幣之所以這么安全,就是因為它的加密機制。

哈希又稱為散列,簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。

那麼怎麼保證原文沒用被第三方篡改呢?答案就是數字簽名。
這個類似於現實中的簽名,就是在信息後面加上另一段內容,作為發送者的證明並證明信息沒有被篡改。

如上圖所示,

分析: 假設C截取信息,他想篡改內容。首先簽名無法篡改,因為他沒有發送方的私鑰,如果用自己的私鑰進行簽名,那麼接收方用發送方的公鑰解密時是解不開的。所以他只能篡改密文。但接收方解出密文並進行哈希運算後得到的摘要必然和原來的摘要不同,而用發送方的公鑰解密出簽名得到的摘要肯定不會被篡改,所以兩次摘要就會出現不一致,就能確認內容被篡改了。

非對稱加密和數字簽名這一塊稍微有點繞,不過你看懂了之後一定會說一句:中本聰666!!!

To be continued...

⑧ 比特幣是什麼


比特幣是一種P2P形式的虛擬的加密數字貨幣。它依據特定計算機演算法,通過大量的計算產生,並利用P2P的去中心化特性,使用整個P2P網路中眾多節點構成的分布式資料庫來確認並記錄所有的交易行為,同時使用密碼學進行數字加密,確保貨幣嫌前流通各個環節安全性。
P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學芹握清的設計可以使比特幣只能被真實的擁有者轉移或支付,確保了貨幣皮滲所有權與流通交易的匿名性。比特幣與其他虛擬貨幣最大的不同,是其總數量非常有限,具有極強的稀缺性,因此比特幣也被用於跨境貿易、支付、匯款等領域。

⑨ 高中生如何理解比特幣加密演算法

加密演算法是數字貨幣的基石,比特幣的公鑰體系採用橢圓曲線演算法來保證交易的安全性。這是因為要攻破橢圓曲線加密就要面對離散對數難題,目前為止還沒有找到在多項式時間內解決的辦法,在演算法所用的空間足夠大的情況下,被認為是安全的。本文不涉及高深的數學理論,希望高中生都能看懂。

密碼學具有久遠的歷史,幾乎人人都可以構造出加解密的方法,比如說簡單地循環移位。古老或簡單的方法需要保密加密演算法和秘鑰。但是從歷史上長期的攻防斗爭來看,基於加密方式的保密並不可靠,同時,長期以來,秘鑰的傳遞也是一個很大的問題,往往面臨秘鑰泄漏或遭遇中間人攻擊的風險。

上世紀70年代,密碼學迎來了突破。Ralph C. Merkle在1974年首先提出非對稱加密的思想,兩年以後,Whitfield Diffie和Whitfield Diffie兩位學者以單向函數和單向暗門函數為基礎提出了具體的思路。隨後,大量的研究和演算法涌現,其中最為著名的就是RSA演算法和一系列的橢圓曲線演算法。

無論哪一種演算法,都是站在前人的肩膀之上,主要以素數為研究對象的數論的發展,群論和有限域理論為基礎。內容加密的秘鑰不再需要傳遞,而是通過運算產生,這樣,即使在不安全的網路中進行通信也是安全的。密文的破解依賴於秘鑰的破解,但秘鑰的破解面臨難題,對於RSA演算法,這個難題是大數因式分解,對於橢圓曲線演算法,這個難題是類離散對數求解。兩者在目前都沒有多項式時間內的解決辦法,也就是說,當位數增多時,難度差不多時指數級上升的。

那麼加解密如何在公私鑰體系中進行的呢?一句話,通過在一個有限域內的運算進行,這是因為加解密都必須是精確的。一個有限域就是一個具有有限個元素的集合。加密就是在把其中一個元素映射到另一個元素,而解密就是再做一次映射。而有限域的構成與素數的性質有關。

前段時間,黎曼猜想(與素數定理關系密切)被熱炒的時候,有一位區塊鏈項目的技術總監說橢圓曲線演算法與素數無關,不受黎曼猜想證明的影響,就完全是瞎說了。可見區塊鏈項目內魚龍混雜,確實需要好好洗洗。

比特幣及多數區塊鏈項目採用的公鑰體系都是橢圓曲線演算法,而非RSA。而介紹橢圓曲線演算法之前,了解一下離散對數問題對其安全性的理解很有幫助。

先來看一下 費馬小定理

原根 定義:
設(a, p)=1 (a與p互素),滿足

的最下正整數 l,叫作a模p的階,模p階為(最大值)p-1的整數a叫作模p的原根。

兩個定理:

基於此,我們可以看到,{1, 2, 3, … p-1} 就是一個有限域,而且定義運算 gi (mod p), 落在這個有限域內,同時,當i取0~p-2的不同數時,運算結果不同。這和我們在高中學到的求冪基本上是一樣的,只不過加了一層求模運算而已。

另一點需要說明的是,g的指數可以不限於0~p-2, 其實可以是所有自然數,但是由於

所以,所有的函數值都是在有限域內,而且是連續循環的。

離散對數定義:
設g為模p的原根,(a,p) = 1,

我們稱 i 為a(對於模p的原根g)的指數,表示成:

這里ind 就是 index的前3個字母。
這個定義是不是和log的定義很像?其實這也就是我們高中學到的對數定義的擴展,只不過現在應用到一個有限域上。

但是,這與實數域上的對數計算不同,實數域是一個連續空間,其上的對數計算有公式和規律可循,但往往很難做到精確。我們的加密體系裡需要精確,但是在一個有限域上的運算極為困難,當你知道冪值a和對數底g,求其離散對數值i非常困難。

當選擇的素數P足夠大時,求i在時間上和運算量上變得不可能。因此我們可以說i是不能被計算出來的,也就是說是安全的,不能被破解的。

比特幣的橢圓曲線演算法具體而言採用的是 secp256k1演算法。網上關於橢圓曲線演算法的介紹很多,這里不做詳細闡述,大家只要知道其實它是一個三次曲線(不是一個橢圓函數),定義如下:

那麼這里有參數a, b;取值不同,橢圓曲線也就不同,當然x, y 這里定義在實數域上,在密碼體系裡是行不通的,真正採用的時候,x, y要定義在一個有限域上,都是自然數,而且小於一個素數P。那麼當這個橢圓曲線定義好後,它反應在坐標系中就是一些離散的點,一點也不像曲線。但是,在設定的有限域上,其各種運算是完備的。也就是說,能夠通過加密運算找到對應的點,通過解密運算得到加密前的點。

同時,與前面講到的離散對數問題一樣,我們希望在這個橢圓曲線的離散點陣中找到一個有限的子群,其具有我們前面提到的遍歷和循環性質。而我們的所有計算將使用這個子群。這樣就建立好了我們需要的一個有限域。那麼這里就需要子群的階(一個素數n)和在子群中的基點G(一個坐標,它通過加法運算可以遍歷n階子群)。

根據上面的描述,我們知道橢圓曲線的定義包含一個五元祖(P, a, b, G, n, h);具體的定義和概念如下:

P: 一個大素數,用來定義橢圓曲線的有限域(群)
a, b: 橢圓曲線的參數,定義橢圓曲線函數
G: 循環子群中的基點,運算的基礎
n: 循環子群的階(另一個大素數,< P )
h:子群的相關因子,也即群的階除以子群的階的整數部分。

好了,是時候來看一下比特幣的橢圓曲線演算法是一個怎樣的橢圓曲線了。簡單地說,就是上述參數取以下值的橢圓曲線:

橢圓曲線定義了加法,其定義是兩個點相連,交與圖像的第三點的關於x軸的對稱點為兩個點的和。網上這部分內容已經有很多,這里不就其細節進行闡述。

但細心的同學可能有個疑問,離散對數問題的難題表現在求冪容易,但求其指數非常難,然而,橢圓曲線演算法中,沒有求冪,只有求乘積。這怎麼體現的是離散對數問題呢?

其實,這是一個定義問題,最初橢圓曲線演算法定義的時候把這種運算定義為求和,但是,你只要把這種運算定義為求積,整個體系也是沒有問題的。而且如果定義為求積,你會發現所有的操作形式上和離散對數問題一致,在有限域的選擇的原則上也是一致的。所以,本質上這還是一個離散對數問題。但又不完全是簡單的離散對數問題,實際上比一般的離散對數問題要難,因為這里不是簡單地求數的離散對數,而是在一個自定義的計算上求類似於離散對數的值。這也是為什麼橢圓曲線演算法採用比RSA所需要的(一般2048位)少得多的私鑰位數(256位)就非常安全了。

熱點內容
區塊鏈幣圈今天的話題 發布:2025-07-05 15:22:06 瀏覽:796
玩區塊鏈的人群 發布:2025-07-05 15:06:06 瀏覽:123
VP幣是傳銷還是真正區塊鏈 發布:2025-07-05 15:01:21 瀏覽:453
個人還能挖比特幣嗎 發布:2025-07-05 14:46:43 瀏覽:680
幣圈財富自由論壇 發布:2025-07-05 14:12:52 瀏覽:844
挖比特幣有沒有風險 發布:2025-07-05 14:02:51 瀏覽:82
BE區塊鏈生態算網路傳銷嗎 發布:2025-07-05 13:34:31 瀏覽:657
幣圈是什麼控制漲跌 發布:2025-07-05 12:51:01 瀏覽:385
以太坊的運作過程 發布:2025-07-05 12:34:09 瀏覽:207
如何銷售區塊鏈會議 發布:2025-07-05 11:34:12 瀏覽:219