區塊鏈小白4(私鑰,公鑰以及錢包)

這篇文章其實最初的來源,來源于區塊鏈研習社的一些討論,以及一些問題,在沒有禁止ICO之前,很多人連自己的錢包都沒有,等到了消息不靈通的時候,往往不知所措,不知道自己的數字貨幣放在哪里是安全的。

先說說私鑰,這是理解數字貨幣最為重要的一個概念,私鑰是什么?是一連串的數字,經過了base58方式的壓縮,才得到如今你看到的樣子,雖然你看到的樣子還是很長,但是相比原始的形式,已經短了很多了。私鑰是唯一的,忘記了你的私鑰等于放棄了你的財產,你可以沒有錢包,錢包其實并不重要,接下來你會明白,其實私鑰是一個門沒有關的保險柜,不過位置只有你自己知道而已。


welcome to new world!

你只需要將你的數字貨幣轉移到你的私鑰上就好了,這時候你的轉賬地址是由私鑰產生的公鑰,公鑰再次計算產生了地址,所有轉移到這個地址的數字貨幣,都歸你的私鑰管理,你可以隨時授權任何的錢包,通過錢包這個工具來轉到另一個地址。這個就好比,你有一張銀行卡,銀行卡里有錢,錢包是ATM機,你授權錢包等于你需要使用某臺ATM機,而你的私鑰等于你插卡和輸入密碼這兩個行為的總和,你不取錢,你不轉賬,你的錢永遠還是在你的卡里的,而你授權了錢包(輸入私鑰)等于你的手機是一臺隨身攜帶的ATM機,你隨時可以轉賬甚至付款,而且由于網絡這一特性,你的錢包是隨時跟網絡有連接的,屬于俗稱的熱錢包,熱錢包是不安全的,因為如果黑客足夠厲害,破解了錢包的算法,是可能獲取你的私鑰的,建立養成良好的習慣,我一般使用錢包轉賬以后,就直接的禁止錢包這個APP上網,防止不必要的損失,同時要注意防范錢包本身的問題,如果錢包本身就是問題錢包,故意做出來騙你私鑰的,你的財產也可能損失。

昨天我看到了一個挺有意思的說法,說自己輸入的私鑰不對,卻也打開了錢包,其實我想告訴你這很正常,因為你輸入的也是一個正確的錢包地址,當然是可以打開錢包的,我們的錢包很安全也很不安全,我們的錢包總共有256位數,其實256個1也是一個錢包的地址,你進行了base58的算法計算以后,可以直接的得到你現在看到的私鑰,輸入,當然可以打開,同樣的道理,255個1加上一個0也是一個錢包地址。

舉例子前,先給你講講base58,其實它是0到9,10個數字,加上大小寫的26個字母,那么有人問,這不是應該有52加上10個數字,應該是base62,可是在實際的使用中,有些字母和字母之間,有些數字和字母之間容易弄混淆,Base58不使用數字"0",字母大寫"O",字母大寫"I",和字母小寫"l",以及"+"和"/"符號.


base64

ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"

注意,少了數字0,大寫字母I,大寫字母O,小寫字母l,一共是:

10+26×2-4=58

接下來的講解,簡化了很多的內容,也將很多的算法抽象了,算是舉個例子,大概了解有助于你理解私鑰,因為昨天看了討論,心里替問的人著急,以下文章超級簡化了,也抽象了私鑰形成的實際過程,不過有助于你理解私鑰:

我們私鑰其實是丟256次硬幣的方式得到的,是使用2進制的方式進行編碼的,例如正面是1,反面是0,

256次拋硬幣以后,你可能得到1111111***1111111,當然可能得到1111111***1111110,假設***代表了240個1,當然咱么這是舉例子,240個數全是1是很極端的情況,普通情況,這些都是0和1的組合,因為是二進制,所有的私鑰其實是一連串的數字,在二進制中其實11代表數字3,10代表數字2,1001代表的是9

隨機選取一個32字節的數、大小介于1 ~ 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141之間,作為私鑰,當然我們上面取的是1111111***1111111,進行base58的編碼以后,就會形成一個32字節的私鑰了,你可以拿你現有錢包的私鑰,比如你的私鑰里有5,你可以將它替換成w,你輸入你的IMtoken錢包,你會發現,可以打開錢包,因為這本身就是一個新的私鑰,其實這么說,私鑰本身是存在的,只不過是,一個是錢包用算法替你選擇一個,一個是你自己選擇一個而已。


hello,world!

想想是不是覺得我們的私鑰很不安全啊!可以你考慮一下2的256次方個私鑰,數量是多大呢?比宇宙的中的原子也差不了多少了!這樣說太不明白了,舉個例子,就是太平洋里全是乒乓球,只有1個乒乓球有錢,你要找到它,你一輩子找不到是很正常的,這就跟現在的超級計算機要從宇宙原子的量級,去找到1億個使用的私鑰的難度是一樣的,但是我沒說絕對的安全,萬一有人再次抽到了你的私鑰,那么只能說自認倒霉,你可能是宇宙第一倒霉蛋!!!誰找到你的乒乓球,就有第二個人知道私鑰了!

它有多安全,比如你的計算機1天可以驗證1000萬億個私鑰,但是10000000萬億個私鑰,你需要的時間是多長呢?大概是27年,增加10倍呢?是270年。不過沒說不可能,隨著加密的方式的增強,破解的技術也在增強,傳說中的量子計算機就可以,不過現在的量子計算機最快的也就是手機的速度。私鑰其實是沒鎖的保險柜,只不過是因為數量的原因,保證了它的安全性,這個世界上沒有絕對安全的東西。

當然你可以去嘗試,將你的私鑰的一個字母或者數字替換,但是記住你替換的那個數字和字母必須在base58里面,你也能打開一個錢包,不是因為你運氣好,而是它本身就是一個錢包,你的私鑰其實是一個你知道位置的保險箱而已,它并沒有上鎖。

我們地址又是怎么得來的,先是橢圓曲線算法,然后散列計算,經過8次計算以后,得到我們看到的地址,散列運算和橢圓曲線運算是不可逆的運算,這是在目前而言,你的私鑰是你才知道地址的寶箱。

看到這里,給紅包就好了!開個玩笑,不要當真。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 在比特幣中,經常出現三個詞:私鑰,公鑰和地址。他們是什么意思呢?他們之間又有什么樣的關系呢?搞清楚他們之間的關系和...
    0xSen閱讀 45,346評論 3 48
  • 細細白蛇草叢游, 風兒卷襲穿綠衣。 小妹巧手糾面團, 皮兒薄薄餡兒大。 綠衣...
    粉色的桃林閱讀 281評論 6 6
  • 小序:周三,應澤友之邀,和施總等同游后官湖,謁鈡子期墓。墓在武漢蔡甸區馬鞍山下,俞伯牙與鈡子期偶遇之地。 伯牙鼓琴...
    高德華閱讀 584評論 2 11
  • 摘要:離別是在告訴我們珍惜當下。 我有爸爸,已經半頭白發,我是爸爸,兩個兒子的爸爸。 昨天是父親節,我被各種寫父親...
    昂sir閱讀 234評論 0 0
  • 表姐高中畢業時剛滿18歲,知道家里父母難以支撐三個孩子上學,于是她主動提出放棄繼續讀書,而是選擇去了深圳一家國內知...
    我是牛陽陽閱讀 501評論 0 2