国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

區(qū)塊鏈系統(tǒng):點對點交易原理

這篇具有很好參考價值的文章主要介紹了區(qū)塊鏈系統(tǒng):點對點交易原理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

比特幣的交易是一種無需信任中介參與的P2P(Peer-to-peer)交易。

傳統(tǒng)的電子交易,交易雙方必須通過銀行這樣的信任機構(gòu)作為中介,這樣可以保證交易的安全性,因為銀行記錄了交易雙方的賬戶資金,能保證在一筆交易中,要么保證成功,要么交易無效,不存在一方到賬而另一方?jīng)]有付款的情況:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

但是在比特幣這種去中心化的P2P網(wǎng)絡(luò)中,并沒有一個類似銀行這樣的信任機構(gòu)存在,要想在兩個節(jié)點之間達(dá)成交易,就必須實現(xiàn)一種在零信任的情況下安全交易的機制。

創(chuàng)建交易有兩種方法:我們假設(shè)小明和小紅希望達(dá)成一筆交易,一種創(chuàng)建交易的方法是小紅聲稱小明給了他1萬塊錢,顯然這是不可信的:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

還有一種創(chuàng)建交易的方法是:小明聲稱他給了小紅一萬塊錢,只要能驗證這個聲明確實是小明作出的,并且小明真的有1萬塊錢,那么這筆交易就被認(rèn)為是有效的:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

數(shù)字簽名

何驗證這個聲明確實是小明作出的呢?數(shù)字簽名就可以驗證這個聲明是否是小明做的,并且,一旦驗證通過,小明是無法抵賴的。

在比特幣交易中,付款方就是通過數(shù)字簽名來證明自己擁有某一筆比特幣,并且,要把這筆比特幣轉(zhuǎn)移給指定的收款方。

使用簽名是為了驗證某個聲明確實是由某個人做出的。例如,在付款合同中簽名,可以通過驗證筆跡的方式核對身份:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

而在計算機中,用密碼學(xué)理論設(shè)計的數(shù)字簽名算法比驗證筆跡更加可信。使用數(shù)字簽名時,每個人都可以自己生成一個秘鑰對,這個秘鑰對包含一個私鑰和一個公鑰:私鑰被稱為Secret Key或者Private Key,私鑰必須嚴(yán)格保密,不能泄漏給其他人;公鑰被稱為Public Key,可以公開給任何人:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

當(dāng)私鑰持有人,例如,小明希望對某個消息簽名的時候,他可以用自己的私鑰對消息進行簽名,然后,把消息、簽名和自己的公鑰發(fā)送出去:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

其他任何人都可以通過小明的公鑰對這個簽名進行驗證,如果驗證通過,可以肯定,該消息是小明發(fā)出的。

數(shù)字簽名算法在電子商務(wù)、在線支付這些領(lǐng)域有非常重要的作用:

  • 首先,簽名不可偽造,因為私鑰只有簽名人自己知道,所以其他人無法偽造簽名。
  • 其次,消息不可篡改,如果原始消息被人篡改了,那么對簽名進行驗證將失敗。
  • 最后,簽名不可抵賴。如果對簽名進行驗證通過了,那么,該消息肯定是由簽名人自己發(fā)出的,他不能抵賴自己曾經(jīng)發(fā)過這一條消息。

數(shù)字簽名的三個作用:防偽造,防篡改,防抵賴。

數(shù)字簽名算法

常用的數(shù)字簽名算法有:RSA算法,DSA算法和ECDSA算法。比特幣采用的簽名算法是橢圓曲線簽名算法:ECDSA,使用的橢圓曲線是一個已經(jīng)定義好的標(biāo)準(zhǔn)曲線secp256k1:

y2\=x3+7y^2=x^3+7y2\=x3+7

這條曲線的圖像長這樣:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

比特幣采用的ECDSA簽名算法需要一個私鑰和公鑰組成的秘鑰對:私鑰本質(zhì)上就是一個1~256的隨機數(shù),公鑰是由私鑰根據(jù)ECDSA算法推算出來的,通過私鑰可以很容易推算出公鑰,所以不必保存公鑰,但是,通過公鑰無法反推私鑰,只能暴力破解。

比特幣的私鑰是一個隨機的非常大的位整數(shù)。它的上限,確切地說,比要稍微小一點:

0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140

而比特幣的公鑰是根據(jù)私鑰推算出的256位整數(shù)。

如果用銀行卡作比較的話,比特幣的公鑰相當(dāng)于銀行卡卡號,它是兩個256位整數(shù):

這句話我也沒理解

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

比特幣的私鑰相當(dāng)于銀行卡密碼,它是一個256位整數(shù):

18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

銀行卡的卡號由銀行指定,銀行卡的密碼可以由用戶隨時修改。而比特幣“卡”和銀行卡的不同點在于:密碼(實際上是私鑰)由用戶先確定下來,然后計算出“卡號”(實際上是公鑰),即卡號是由密碼通過ECDSA算法推導(dǎo)出來的,不能更換密碼,因為更換密碼實際上相當(dāng)于創(chuàng)建了一張新卡片。

  • 由于比特幣賬本是全網(wǎng)公開的,所以,任何人都可以根據(jù)公鑰查詢余額,但是,不知道持卡人是誰。這就是比特幣的匿名特性。
  • 如果丟失了私鑰,就永遠(yuǎn)無法花費對應(yīng)公鑰的比特幣!
  • 丟失了私鑰和忘記銀行卡密碼不一樣,忘記銀行卡密碼可以拿身份證到銀行重新設(shè)置一個密碼,因為密碼是存儲在銀行的計算機中的,而比特幣的P2P網(wǎng)絡(luò)不存在中央節(jié)點,私鑰只有持有人自己知道,因此,丟失了私鑰,對應(yīng)的比特幣就永遠(yuǎn)無法花費。如果私鑰被盜,黑客就可以花費對應(yīng)公鑰的比特幣,并且這是無法追回的。
  • 比特幣私鑰的安全性在于如何生成一個安全的256位的隨機數(shù)。不要試圖自己想一個隨機數(shù),而是應(yīng)當(dāng)使用編程語言提供的安全隨機數(shù)算法,但絕對不能使用偽隨機數(shù)。
  • 絕不能自己想一個私鑰或者使用偽隨機數(shù)創(chuàng)建私鑰!
  • 那有沒有可能猜到別人的私鑰呢?這是不可能的。是一個非常大的數(shù),它已經(jīng)遠(yuǎn)遠(yuǎn)超過了整個銀河系的原子總數(shù)。絕大多數(shù)人對數(shù)字大小的直覺是線性增長的,所以256這個數(shù)看起來不大,但是指數(shù)增長的是一個非常巨大的天文數(shù)字。

比特幣錢包

比特幣錢包實際上就是幫助用戶管理私鑰的軟件。因為比特幣的錢包是給普通用戶使用的,它有幾種分類:

  • 本地錢包:是把私鑰保存在本地計算機硬盤上的錢包軟件,如Electrum;

  • 手機錢包:和本地錢包類似,但可以直接在手機上運行,如Bitpay;

  • 在線錢包:是把私鑰委托給第三方在線服務(wù)商保存;

  • 紙錢包:是指把私鑰打印出來保存在紙上;

  • 腦錢包:是指把私鑰記在自己腦袋里。

對大多數(shù)普通用戶來說,想要記住私鑰非常困難,所以強烈不建議使用腦錢包。

和銀行賬戶不同,比特幣網(wǎng)絡(luò)沒有賬戶的概念,任何人都可以從區(qū)塊鏈查詢到任意公鑰對應(yīng)的比特幣余額,但是,并不知道這些公鑰是由誰持有的,也就無法根據(jù)用戶查詢比特幣余額。

作為用戶,可以生成任意數(shù)量的私鑰-公鑰對,公鑰是接收別人轉(zhuǎn)賬的地址,而私鑰是花費比特幣的唯一手段,錢包程序可以幫助用戶管理私鑰-公鑰對。

交易

我們再來看記錄在區(qū)塊鏈上的交易。每個區(qū)塊都記錄了至少一筆交易,一筆交易就是把一定金額的比特幣從一個輸入轉(zhuǎn)移到一個輸出:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

例如,小明把兩個比特幣轉(zhuǎn)移給小紅,這筆交易的輸入是小明,輸出就是小紅。實際記錄的是雙方的公鑰地址。

如果小明有50個比特幣,他要轉(zhuǎn)給小紅兩個比特幣,那么剩下的48個比特幣應(yīng)該記錄在哪?比特幣協(xié)議規(guī)定一個輸出必須一次性花完,所以,小明給小紅的兩個比特幣的交易必須表示成:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

小明給小紅2個比特幣,同時小明又給自己48個比特幣,這48個比特幣就是找零。所以,一個交易中,一個輸入可以對應(yīng)多個輸出。

當(dāng)小紅有兩筆收入時,一筆2.0,一筆1.5,她想給小白轉(zhuǎn)3.5比特幣時,就不能單用一筆輸出,她必須把兩筆錢合起來再花掉,這種情況就是一個交易對應(yīng)多個輸入和1個輸出:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

如果存在找零,這筆交易就既包含多個輸入也包含多個輸出:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

在實際的交易中,輸入比輸出要稍微大一點點,這個差額就是隱含的交易費用,交易費用會算入當(dāng)前區(qū)塊的礦工收入中作為礦工獎勵的一部分:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

計算出的交易費用:

交易費用 = 輸入 - 輸出 = (2.0 + 1.5) - (2.99 + 0.49) = 3.5 - 3.48 = 0.02

比特幣實際的交易記錄是由一系列交易構(gòu)成,每一個交易都包含一個或多個輸入,以及一個或多個輸出。未花費的輸出被稱為UTXO(Unspent Transaction Ouptut)。

當(dāng)我們要簡單驗證某個交易的時候,例如,對于交易f36abd,它記錄的輸入是3f96ab,索引號是1(索引號從0開始,0表示第一個輸出,1表示第二個輸出,以此類推),我們就根據(jù)3f96ab找到前面已發(fā)生的交易,再根據(jù)索引號找到對應(yīng)的輸出是0.5個比特幣,所以,這筆交易的輸入總計是0.5個比特幣,輸出分別是0.4個比特幣和0.09個比特幣,隱含的交易費用是0.01個比特幣:

區(qū)塊鏈點對點,區(qū)塊鏈技術(shù)與應(yīng)用,區(qū)塊鏈,p2p,網(wǎng)絡(luò)

小結(jié)

比特幣使用數(shù)字簽名保證零信任的可靠P2P交易:文章來源地址http://www.zghlxwxcb.cn/news/detail-607898.html

  • 私鑰是花費比特幣的唯一手段;
  • 錢包軟件是用來幫助用戶管理私鑰;
  • 所有交易被記錄在區(qū)塊鏈中,可以通過公鑰查詢所有交易信息。

到了這里,關(guān)于區(qū)塊鏈系統(tǒng):點對點交易原理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • VB點對點聊天文件傳輸系統(tǒng)設(shè)計與實現(xiàn)

    本程序使用VB語言編程,使用WinSock控件完成的點對點(P2P)聊天和文件傳輸程序。可以實現(xiàn)兩臺機器間互發(fā)消息,并且有聊天和文件傳輸記錄,安全可靠。 p2p WinSock,聊天和文件傳輸程序,VB P2P是一種技術(shù),但更多的是一種思想,有著改變整個互聯(lián)網(wǎng)基礎(chǔ)的潛能的思想。

    2024年02月13日
    瀏覽(21)
  • 區(qū)塊鏈溯源:實現(xiàn)區(qū)塊鏈技術(shù)在房地產(chǎn)交易中的應(yīng)用

    作者:禪與計算機程序設(shè)計藝術(shù) 隨著時間的推移,金融系統(tǒng)已越來越復(fù)雜。從最早的結(jié)算系統(tǒng)到現(xiàn)代支付系統(tǒng)、征信管理系統(tǒng)、風(fēng)控系統(tǒng),現(xiàn)代金融系統(tǒng)已經(jīng)發(fā)生了巨變,而在房地產(chǎn)市場中,由于金融服務(wù)的需求增加,更多的客戶選擇居住地或商業(yè)中心進行投資,由此帶來的

    2024年02月14日
    瀏覽(26)
  • 《區(qū)塊鏈原理與技術(shù)》學(xué)習(xí)筆記(五) ——以太坊的交易、共識機制和數(shù)據(jù)結(jié)構(gòu)

    《區(qū)塊鏈原理與技術(shù)》學(xué)習(xí)筆記(五) ——以太坊的交易、共識機制和數(shù)據(jù)結(jié)構(gòu)

    《區(qū)塊鏈原理與技術(shù)》學(xué)習(xí)筆記 第五部分 5. 以太坊交易 5.1 交易內(nèi)容 5.2 交易費用 5.3 交易的周期 5.4 交易的執(zhí)行類型 6. 以太坊的共識機制 6.1 解決以太坊分叉:Ghost協(xié)議 6.2 新的共識機制:PoS 7. 以太坊挖礦難度調(diào)整 7.1 自適應(yīng)難度調(diào)整 7.2 難度炸彈 8. 數(shù)據(jù)結(jié)構(gòu)與存儲 8.1 區(qū)塊和

    2024年02月12日
    瀏覽(22)
  • 組件分享之后端組件——基于Golang實現(xiàn)的全局的、版本化的、點對點的文件系統(tǒng)go-ipfs...

    組件分享之后端組件——基于Golang實現(xiàn)的全局的、版本化的、點對點的文件系統(tǒng)go-ipfs...

    近期正在探索前端、后端、系統(tǒng)端各類常用組件與工具,對其一些常見的組件進行再次整理一下,形成標(biāo)準(zhǔn)化組件專題,后續(xù)該專題將包含各類語言中的一些常用組件。歡迎大家進行持續(xù)關(guān)注。 組件: go-ipfs 開源協(xié)議:The go-ipfs project is dual-licensed under Apache 2.0 and MIT terms: Ap

    2024年02月01日
    瀏覽(22)
  • DragGAN-點對點的手動P圖

    DragGAN-點對點的手動P圖

    原文網(wǎng)站link以及論文鏈接: https://vcai.mpi-inf.mpg.de/projects/DragGAN/ https://arxiv.org/pdf/2305.10973.pdf 深度生成模型近年在合成隨機真實感圖像方面取得了不錯的成績。在現(xiàn)實世界的應(yīng)用中,這種基于學(xué)習(xí)的圖像合成方法中一個關(guān)鍵功能是對合成視覺內(nèi)容的可控性。為了滿足這種需求,

    2024年02月08日
    瀏覽(21)
  • 華為防火墻IPsec點對點配置解析

    華為防火墻IPsec點對點配置解析

    主機直連的接口為trust區(qū)域,防火墻之間互聯(lián)的接口為untrust區(qū)域 ike proposal xx //首先創(chuàng)建ike proposal xx 這一步的作用就是創(chuàng)建協(xié)商ike SA的時候使用的相關(guān)安全套件,默認(rèn)防火墻就會設(shè)置了一些默認(rèn)的安全套件的組合。這一步設(shè)置的內(nèi)容就是用于IKE SA的協(xié)商,IPsec雙方使用協(xié)商好的

    2024年02月05日
    瀏覽(23)
  • 北大肖臻老師《區(qū)塊鏈技術(shù)與應(yīng)用》系列課程學(xué)習(xí)筆記[15]以太坊-交易樹和收據(jù)樹

    北大肖臻老師《區(qū)塊鏈技術(shù)與應(yīng)用》系列課程學(xué)習(xí)筆記[15]以太坊-交易樹和收據(jù)樹

    ?目錄 一、以太坊中的三種樹 二、狀態(tài)樹、交易樹和收據(jù)樹的區(qū)別 三、交易樹和收據(jù)樹的用途 ????????1.交易樹和收據(jù)樹的用途 ????????2.如何實現(xiàn)復(fù)雜的查詢操作 ????????3.以太坊中Bloom Filter的用途 四、以太坊的運行過程 ? ? ? ?在以太坊中,存在三種基于樹的

    2024年02月05日
    瀏覽(21)
  • ffmpeg點對點音視頻udp協(xié)議傳輸

    參考:https://zhuanlan.zhihu.com/p/636152437?utm_id=0 ffmpeg查看可用設(shè)備: 局域網(wǎng)內(nèi)兩臺設(shè)備間 局域網(wǎng)內(nèi)兩臺設(shè)備間

    2024年04月10日
    瀏覽(28)
  • BSV 上的點對點結(jié)算衍生品:遠(yuǎn)期合約

    BSV 上的點對點結(jié)算衍生品:遠(yuǎn)期合約

    遠(yuǎn)期合約是兩方在特定未來時間以預(yù)定價格買賣資產(chǎn)的衍生工具。它是一種非常常見的對沖波動性的工具。因此,使用 USD 遠(yuǎn)期合約可以對沖 USD 兌 BSV 匯率的波動。 遠(yuǎn)期合約的收益圖 例如,Alice 與 Bob 簽訂了一份 USD 遠(yuǎn)期合約。Alice 同意從現(xiàn)在起一個月后以每 BSV 100 USD 的價格

    2024年01月20日
    瀏覽(40)
  • C#實現(xiàn)udp點對點通信的完整示例

    C#實現(xiàn)udp點對點通信的完整示例

    udp和tcp都是傳輸協(xié)議,最大的不同是,tcp通信前需要建立連接,是更可靠的通信協(xié)議,而udp是一個無連接的傳輸協(xié)議,可直接發(fā)送數(shù)據(jù)。兩種協(xié)議不分優(yōu)劣,各有各的應(yīng)用場景,實際應(yīng)用往往會同時使用兩種協(xié)議。 C#代碼實現(xiàn)udp通信的步驟比較簡單。 假設(shè):A要向B發(fā)送消息。

    2024年02月16日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包