比特幣,以太幣錢包的私鑰隨便改幾個數(shù)字,會不會剛好是別人的私鑰?
網(wǎng)友解答: 首先,要回答這個問題,需要對比特幣的公鑰私鑰和錢包地址,這幾個的關(guān)系搞清楚。一、比特幣公鑰私鑰算法在《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)》一文中,中本聰提到了用橢圓加密算法(E
首先,要回答這個問題,需要對比特幣的公鑰私鑰和錢包地址,這幾個的關(guān)系搞清楚。
一、比特幣公鑰私鑰算法
在《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)》一文中,中本聰提到了用橢圓加密算法(ECDSA)來產(chǎn)生比特幣的私鑰和公鑰。
基于橢圓加密的原理:私鑰是可以計算出公鑰的,再由公鑰經(jīng)過一系列數(shù)字簽名運算就會得到比特幣錢包地址。
如下:
私鑰 —— 公鑰 —— 比特幣錢包地址
而比特幣中間用到了SHA256加密、RIPEMD160加密和BASE58編碼。
二、私鑰
私鑰就是個隨機數(shù),只不過,這個隨機數(shù)的概率空間很大(256位,也即是2的256次方),什么概念了,你可以數(shù)數(shù)地球上有多少粒沙子。因此別人是不可能和你生成一樣的私鑰的(1/2^256的概率),這是比特幣甚至整個密碼的根基。
三、公鑰
而比特幣客戶端看到的私鑰是一串字符串呢?其實這字符串只是私鑰進行了Base58校驗和編碼之后的格式而已。完整過程如圖:
經(jīng)過以上的復(fù)雜計算之后,進過11步,Base58編碼,就得到了我們經(jīng)??吹降刂妨?。
oxWoHJrU7VBArBQYhCX9NxHa1RuQat5Bya(編造的,舉例用)。
比特幣的用戶很少會直接看到數(shù)字密鑰。一般情況下,它們被存儲在錢包文件內(nèi),由比特幣錢包軟件進行管理。
四、交易確認
比特幣錢包的私鑰,作用相當于密碼,用于證明比特幣的擁有者。擁有者必須使用私密密鑰給交易消息簽名,以證明消息的發(fā)布者是相應(yīng)比特幣地址的所有者。如果沒有私鑰,用戶發(fā)送的簽名就無法被驗證。區(qū)塊鏈上賬本不會認可該比特幣的所有權(quán),用戶也就不能使用相應(yīng)的比特幣。
回答問題,也就是說私鑰是唯一的,進過計算得到的公鑰是唯一的,錢包地址也是唯一的。如果別人拿到了你的私鑰,那么他可以計算出公鑰,可以生產(chǎn)簽名,也就擁有了你的比特幣,如果該了私鑰剛好是別人的私鑰,(幾率非常小,因為是隨機的,不重復(fù)的,空間地址那么大,而且就比特幣的私鑰量來說,也只是占隨機私鑰地址空間很小很小很小的部分。打個比方:就相當于整個私鑰空間是地球所有的沙子這么大,每一粒沙子唯一標識,而比特幣私鑰只使用了你腳底下那么一點沙子,你隨便改一個,可能改到上海某地的一粒沙子上了,而不是你腳底下的某粒沙子。而那樣的沙子地下是沒有比特幣的),而如果沒有備份私鑰,改了之后,你無法找到私鑰,那么你將永遠失去這個私鑰下的比特幣。
碼字不容易啊,各位看官請點贊+關(guān)注。更多互聯(lián)網(wǎng)專業(yè)內(nèi)容。