1.4 比特幣的原理-帳戶全部權問題

1.4 比特幣的原理-帳戶全部權問題

比特幣系統裏面如何驗證某個比特幣是誰的,誰擁有這個比特幣。咱們仍是先對標一下銀行系統來理解這個問題。安全

銀行系統

平時咱們在刷卡的時候,須要提供銀行卡號和密碼,若是匹配,就能夠進行支付。 這時候若是出現盜刷怎麼辦呢。咱們確定是馬上報警,而後銀行就會覈對帳戶的全部者是否是我。銀行覈對的過程,須要藉助開戶時的咱們提供的我的信息。網絡

image.png

其實就是在開戶的時候肯定了帳戶的全部權,在肯定了這個全部權以後,而後纔是轉帳的操做。若是銀行肯定了某一筆001-002的支付不是本人操做的,則銀行會撤銷這筆記帳加密

image.png

比特幣系統

  • 帳號 -> 地址

image.png

而在比特幣系統裏,是點對點的交易,若是在沒有第三方的狀況下,肯定帳號的全部權。3d

實際上,帳戶是用一個地址來標示的,轉帳的過程實際上就是從一個地址轉換到另一個地址。帳本上是不保存我的信息的。cdn

上面這樣一條信息就是一個轉帳的記錄,他記錄了從"2A39CBa2390FDe"到"AAC9CBa239aFcc"的一筆轉帳,轉移了0.2個比特幣,若是誰能用這一個地址可以進行支付,那麼誰就擁有了這個帳戶的全部權。blog

  • 密碼 -> 私鑰

image.png

剛剛說到比特幣系統裏面,是用地址來表示一個帳號的,其實比特幣裏面一個地址會有一個對應的私鑰,誰有了這個私鑰,誰就可以使用這個地址進行支付,因此私鑰必定要保管好,若是泄漏了的話,比特幣就有可能丟失,而不像銀行系統裏面能夠重置或者找回。ip

而且比特幣系統不像銀行系統裏面帳號和密碼是沒有任何關係的,密碼不能推導出帳號,帳號也不能推導出密碼。比特幣地址和私鑰是一個非對稱的關係,私鑰在通過一系列的has運算以後(其中包括兩次hash),就可以獲得比特幣的地址,可是地址不能反推出私鑰。hash

  • 非對稱加密技術(交易簽名)

誰擁有地址的私鑰,誰就可以進行支付,這樣,比特幣的帳戶全部權問題,就變成了如何在不泄漏私鑰的狀況下,來證實咱們擁有某個地址的私鑰。(由於若是咱們把私鑰亮出來給你們看,以此來告訴你們咱們擁有這個私鑰,那麼私鑰就泄漏了,其餘人也能夠用這個私鑰進行支付)it

這裏就用到了非對稱加密技術的加密技術,對交易進行簽名,這個過程分爲兩部分io

  1. 對交易進行hash獲得摘要
  2. 用私鑰對摘要進行簽名(這一步一般要求在一個安全的環境下,以避免私鑰被泄漏)

image.png

  • 廣播交易

在獲得簽名之後,付款的節點就會在整個網絡裏進行廣播,廣播的內容包含交易的原始信息還有交易的簽名信息。

image.png
如上,這個付款的節點告訴相鄰的節點,他的交易信息和簽名信息,請求其餘節點進行驗證;整個廣播過程是一個循環的過程,當節點收到廣播以後,驗證經過以後,他會再次向已知節點繼續廣播。

  • 驗證

在節點收到廣播之後,就會對交易信息和簽名信息進行驗證。驗證簽名信息是否是付款方用私鑰對交易信息進行簽名產生的

image.png

驗證的過程,是對簽名和付款方地址進行一個驗證運算獲得一個摘要,判斷這個摘要是否是交易信息的hash運算結果,若是是,則驗證經過,將交易信息寫入帳本,繼續廣播,不然什麼也不作

  • 簽名和驗證是一個運算

實際上,簽名和驗證是一段逆運算

  • 簽名是加密的過程(用付款方的私鑰對摘要進行加密的過程)
  • 驗證是解密的過程(用付款方的地址(公鑰)和簽名的信息進行解密的過程)

image.png

這時候幾個過程就明瞭了,簽名由私鑰簽名發出之後,這筆交易才能別其餘的節點驗證經過,因此整個帳戶的全部權問題,是用私鑰來進行控制的

  • 補充

  • 隱私 整個帳本里是沒有我的信息的,這很好的保證了比特幣的隱私性,即便個人地址有10000個比特幣,也沒有任何人可以知道這個比特幣是個人,而我已經能夠進行支付。 銀行泄漏咱們我的隱私的事情時有發生,如咱們辦信用卡事後,就會收到保險理財的各類騷擾電話
  • 安全 若是銀行認爲咱們的全來路不明,銀行可能就會把帳戶凍結,而在比特幣系統裏,這個帳戶是徹底由本身控制的,只要咱們不將私鑰泄密,那麼咱們的錢就是安全的
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息