1. 程式人生 > >比特幣如何保證交易的安全傳遞

比特幣如何保證交易的安全傳遞

本文由【區塊鏈研習社】優質內容計劃支援,更多關於區塊鏈的深度好文,請點選區塊鏈研習社

不知道讀者朋友們想過沒有,我們的每一筆交易在傳遞過程中需要經過許多節點,如果有些作惡的節點冒充我們發出交易,那其它節點怎麼確定這筆交易是我們發出的?

我們又要怎麼確定其它節點不篡改我們的交易資訊,把你原本要轉給別人的比特幣,轉給它自己呢?

要回答這兩個問題,有必要先科普一下公鑰和私鑰:

比特幣地址其實是一套非對稱金鑰對中的公鑰,這對金鑰通過橢圓曲線演算法生成,其獨特之處在於:使用公鑰加密一段資訊後,使用公鑰解不開,必須使用私鑰才能解開;同樣,使用私鑰加密一段資訊後,使用私鑰解不開,必須使用公鑰才可以解開。

更加獨特的是,根據私鑰可以很容易得算出私鑰,但是更加公鑰幾乎無法算出私鑰。

(以上內容來自《區塊鏈與新經濟》書中第9頁)

接下來科普一下加密和簽名的區別:

加密和簽名是兩個不同的概念,又都涉及公鑰和私鑰的概念。公鑰和私鑰相當於鑰匙和鎖,鎖可以用來鎖住東西,鑰匙可以用來開啟對應的鎖,一把鑰匙只能開一把鎖,當然鑰匙和鎖都可以複製。

加密相當於我自己生成一把鎖和一把鑰匙,然後把鎖發給你,你用我的鎖把想發給我的東西鎖上再發給我,我收到之後用鑰匙開啟鎖。天下人都能拿到我的鎖,但只有我有這把鎖的鑰匙。這個例子中,鑰匙相當於私鑰,鎖相當於公鑰。數字加密涉及三個過程:

  • 生成一對公鑰和私鑰

  • 加密:公鑰+明文->密文

  • 解密:私鑰+密文->明文

簽名相當於我自己生成一把鎖和一把鑰匙,然後把我想釋出的內容用我的鎖鎖起來形成一個簽名,把內容和簽名一起釋出,並且告訴大家我的鑰匙是什麼。人們可以拿到鑰匙來開啟簽名裡的內容來驗證是不是跟釋出的內容一致。天下人都能拿到鑰匙來驗證簽名與內容的一致性,但只有我有簽名的鎖。這個例子中,鑰匙相當於公鑰,鎖相當於私鑰。數字簽名涉及三個過程:

  • 生成一對公鑰和私鑰

  • 簽名:私鑰+內容->簽名

  • 驗證:公鑰+簽名+內容->內容有沒有改變

我們每使用一個UTXO,都需要對其解鎖,以證明自己是這個UTXO的主人。那要如何證明自己是這個UTXO的主人呢,最好的辦法就是你有鑰匙,而公鑰是公開的,私鑰又不能公開,那顯然只有數字簽名

是最好的方式。

機智的你可能已經想到了,使用私鑰加內容生成簽名,這樣礦工在驗證交易時,如果用我們的公鑰解出了簽名,那就證明這筆交易是我們發出的。

從這裡不難看出,數字簽名不但證明我們擁有當前的UTXO,還確定了交易的發出者

第一個問題解決,那第二個問題呢?我們又要怎麼確定其它節點不篡改我們的交易資訊,把你原本要轉給別人的比特幣,轉給它自己呢?

聰明的你可能已經發覺,我們上面提到的內容還沒用上,是的,內容就是保證我們的交易資訊在傳遞的過程中不被篡改的關鍵。

讀者朋友們可能有所耳聞,改變一段文字,即使只改變一個字母,他們的雜湊就會完全不同,因此雜湊可以唯一標識內容。

如果我們把交易打個雜湊,作為內容,問題不就解決了。這樣的話,其它節點在驗證的時候,發現解出來的內容和交易的雜湊對不上,那驗證就通不過。

到這裡,上面的兩個問題已經得到解答,為了讓大部分人看得懂,我特意講得淺顯,如果想要了解具體技術細節,請關注我的下一篇文章。

相關推薦

交易過程

img 步驟 結束 限制 下一個 本地存儲 16px 提高 一個人 一、區塊鏈 區塊鏈是比特幣實現的一個基礎技術,所以先講講區塊鏈的概念~ 簡單的來說,區塊鏈是一種“去中心”的分布式數據庫。 傳統的數據庫像如下圖一樣,數據都存放在一個地方: 區塊鏈是每個用戶都存一份數據(

P2SH交易資料結構解析

1、解析原生交易 decoderawtransaction 01000000000101708256c5896fb3f00ef37601f8e30c5b460dbcd1fca1cd7199f9b56fc4ecd54000000000232200201aaa5a03ce8d33280eb9

交易延展性問題

修改自 交易延展性 (Transaction Malleability) 當交易被簽名時,簽名並沒有覆蓋交易中所有的資料 (比如位於 txin 中的 scriptSig,由於 scriptSig 中包含公鑰和簽名資料,不可能對自身自簽名),而交易中所有的

阿爾法:演算法交易策略研究,你與賺錢只需一個量化

數字貨幣演算法交易模型和策略並非易事。更糟糕的是,目前的數字貨幣狀態是高度不穩定和迅速變化的。由於美國證券交易委員會和各種政府針對數字貨幣交換的規定,市場已成為戰區。儘管存在所有負面訊息,但許多交易員在日內交易數字貨幣資產方面做得很好。 我是Charles,目前就職於阿爾法數字貨幣量化平臺(m.aicoin

場外交易系統app開發,海外交易所開發

比特幣場外交易系統app開發,海外交易所開發在區塊鏈數字資產行業場外交易可以分為兩種:OTC和C2C,但其又並不是字面上的意思。OTC屬於個人對個人交易,C2C是屬於個人對平臺或者對商家交易,作為投資者確定好投資哪種模式了嗎? 開發場外交易系統歡迎諮詢源中瑞汪先生。源中瑞專業從事國內外區塊鏈系統開發,使用者群

原始交易解析

在比特幣當中,一筆交易的構成並非簡單地由一個賬戶餘額減去所轉賬的數額,再由向另一個賬戶餘額新增相同的數額。比特幣的交易是由一系列被稱為opcode的指令所組成的指令碼。也就是說,這些交易資料構成了比特幣本身。在執行指令碼的過程中,比特幣會將這些指令一一壓入棧中,並計算它們是否合法。 那麼,比特幣是如何解析

量化交易軟體開發,高頻交易搬磚系統開發

量化交易的主要優勢就在於他可以幫助投資者不受行情的波動去投資,現在也從傳統金融傳入數字資產行業,受到許多投資者的喜愛,也有許多投資者看到了市場,比特幣量化交易軟體開發歡迎諮詢汪先生。量化交易是看“行情波動”來工作的,即只要行情有波動,就有機會賺取差價,可以說不管是牛市還是熊市都可以使用。幣價上漲可以在原有的基

量化交易軟件開發,高頻交易搬磚系統開發

金融 數字 策略 選擇 優勢 系統開發 自身 先生 核心 量化交易的主要優勢就在於他可以幫助投資者不受行情的波動去投資,現在也從傳統金融傳入數字資產行業,受到許多投資者的喜愛,也有許多投資者看到了市場,比特幣量化交易軟件開發歡迎咨詢汪先生。量化交易是看“行情波動”來工作的,

Java解析錢包交易記錄

可以通過比特幣錢包命令匯出相關的交易記錄,如果你想統計某個地址或者某個使用者的交易時,可以解析該檔案。技術很簡單,因為匯出檔案為JSON格式,這裡通過alibaba的fastjson來解析。首先,通過命令匯出最近兩條交易記錄:?1./cli listtransactions 

自動交易程式碼和套利機器人 (開源軟體)

黃忠 比特幣 星期日 十一月 8th, 2015套利, 比特幣, 交易機器人 1 Comment 簡單介紹幾個比特幣/山寨幣的自動交易系統,利用開原始碼自己可以再定製好的交易策略,有興趣的朋友一起來探討。 如果您知道其它好的開源自動交易系統,歡迎新增。

C#網格交易策略實現及回測分析-基於OKex交易所

網格交易法或者網格交易策略,網上有很多的介紹,這裡是利用C#實現了比特幣網格交易的策略及程式化交易,並利用OKex上的K線資料進行了回測驗證,同時也進行視覺化的K線展示。對於網格交易策略簡單的說就是低買高賣策略,網格的含義是指對買賣區間和買賣倉位的控制手段。比如這裡我有8萬的

如何保證交易安全傳遞

本文由【區塊鏈研習社】優質內容計劃支援,更多關於區塊鏈的深度好文,請點選區塊鏈研習社。 不知道讀者朋友們想過沒有,我們的每一筆交易在傳遞過程中需要經過許多節點,如果有些作惡的節點冒充我們發出交易,那其它節點怎麼確定這筆交易是我們發出的? 我們又要怎麼確定其它

病毒事件是否證明中國網絡安全不堪一擊?

比特幣病毒事件是否證明中國網絡安全不堪一擊?先簡單聊聊這兩天比特幣事件:時間:2017-05-12 08:00起風險:電腦只要聯網,有445端口隱患,就有可能中比特幣病毒,然後數據被加密,勒索不少錢財。影響範圍:Windows ALL。(微軟甚至最後連xp 2003都更新了補丁)處理方式:斷網數據備份,防火墻

交易所面臨倒閉,點對點、場外交易將盛行

上進 str 訂單 虛擬 交易所 服務 com 交易 比特 9月16日火幣網、OKCoin聲稱要關閉所有虛擬幣業務,關閉交易和關閉交易所是兩個概念。 sosobtc官網也發布通告:於19日晚間23點關閉網站的行情數據、聊天社交等信息服務,APP也將於3日內關閉相關服務。

圈新手指南-以太坊瑞波山寨等數字貨幣交易

-c 賣出 資產 -s cti 推薦 logs 頁面 spa 比特幣是什麽 【feixiaohao.com】非小號:數字貨幣大全。(長線必備)可以查看1600+幣種數據。非專業人士建議只做長線,因為短線可能因為“神操作”錯過暴漲機會,別問我怎麽知道的,我已經後悔死啦。山

交易渠道暫停、嚴管、死亡之後,圈進入強運營時代

漢語 用戶數據 nan 今天 不為 排名 蘭博基尼 傳播 簡單 幣安首頁,“用戶突破600萬”的banner十分醒目。600萬用戶貌似不多,但如果這600萬用戶中97%為國外用戶,來自全球180多個國家呢?是不是厲害! 一、幣安崛起是幣幣交易模式的勝利 2017年7月14日

交易平臺正規嗎?

是你 lis 人民幣 com 網站 直接 支付 target eos 先來看一下比特幣是不是騙局,後面再分析交易平臺。 (如果想直接體驗的,就進入 程序員圈推薦的OTCBTC平臺 官方註冊活動地址 ) 現在還隨機金額贈送比特幣哦 首先數字貨幣的源碼都存放於Gith

腳本及交易分析 - 智能合約雛形

比特幣大家都有轉過賬,每筆交易是這樣的:張三賬上減¥200,李四賬上加¥200。在比特幣區塊鏈中,交易不是這麽簡單,交易實際是通過腳本來完成,以承載更多的功能個,這也是為什麽比特幣被稱為是一種“可編程的貨幣”。本文就來分析一下交易是如何實現可編程的。 未花費的交易輸出(UTXO) 先引入一個概念:未花費的

交易平臺

友好 所在 所有 不可 法國人 多次 安全 世界 買賣 隨著比特幣得到越來越多人的認可和使用,在比特幣網絡上發生的交易數量也與日俱增。 以下是比特幣網絡日交易數與市值隨時間變化的示意圖。 隨著交易的增多,兌換就成為一個剛性的需求。因此交易所是比特幣產業鏈上不可缺少的重要一環

交易的腳本是如何執行的

相等 散列 format width 形式 index 進行 tar code 在學習UTXO中,一筆UTXO包含了一個解鎖腳本(pkScript),花費這一筆UTXO時,需要通過該腳本驗證,才能夠花費這筆UTXO。 如何擁有一個UTXO的使用權 比特幣的交易創建的輸出