一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

比特幣交易腳本詳解

lviY_AI_shequ ? 來源:未知 ? 作者:胡薇 ? 2018-06-22 09:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

經(jīng)過第五章的學(xué)習(xí),其實對區(qū)塊鏈有一個更深的了解,就是,不僅區(qū)塊前后相連,而且交易和交易之間也是相連,一個普通交易的輸入部分總是前面某個交易的輸出UTXO。在《比特幣 (1):傳統(tǒng)貨幣和比特幣的區(qū)別》中看到的相連,就是普通交易之間的相互連接;在《比特幣 (2):區(qū)塊鏈的大致結(jié)構(gòu)》中看到的相連,是區(qū)塊之間的相互連接。

假設(shè)你已經(jīng)閱讀完第五章,對于為啥需要腳本也比較清楚了。首先明確一下,交易輸入其實是之前某個交易的某個輸出UTXO,是按照之前那個交易的Hash值加上對應(yīng)輸出在該交易中的位置標記的。一旦UTXO被選中,錢包會為每個UTXO生成包含簽名的解鎖腳本,換句話說,每個解鎖腳本都對應(yīng)的是一個之前某個輸出的某個UTXO。

對于解鎖腳本加上鎖定腳本拼在一起,按照棧的方式運算,這個書中第五章已經(jīng)說得很明確了,最重要的是棧操作的最后一步:

棧內(nèi)是操作符是CHECKSIG

其實CHECKSIG很簡單,就是基于一定的規(guī)則,看看之前錢包生成的正不正確。CHECKSIG的步驟肯定和生成的過程相同。我們來看看CHECKSIG的過程,其實也就知道了生成的過程。如下圖:

正如前面所述,正在檢查的這個解鎖腳本,是放在該交易下面的該輸入中,會對應(yīng)一個之前某個交易的某個輸出UTXO,那么假設(shè),之前這個交易叫 TxPrev,而當前包含這個解鎖腳本的交易叫TxNew(即TxNew的某個輸入是該UTXO)。按照上圖中說明的CHECKSIG的步驟(根據(jù)簽名類型SIGHASH_ALL對整個交易進行驗證):

1. 在棧中pop出

2. TxPrev中該UTXO對應(yīng)的輸出腳本,也即鎖定腳本,會有很多的操作系列,每個操作系列之間使用OP_CODESEPARATOR分隔。取這個腳本最后一個操作系列,也就是倒數(shù)第一個OP_CODESEPARATOR和腳本結(jié)束之間的部分(上圖與該邏輯不符合),取出來即為Subscript,注意該Subscript對應(yīng)的是TxPrev下面的一個輸出UTXO。

(3. 在Subscript中去掉簽名)

4. 在Subscript中移除OP_CODESEPARATORS

5. 之前從棧中彈出的,最后一個字節(jié)代表的是簽名類型,1是指SIGHASH_ALL,對整個交易進行驗證。一個字節(jié)沒有所謂的大小端問題。

6. 復(fù)制TxNew為TxCopy

7. 將交易TxCopy中的所有輸入中的解鎖腳本置為空(因為上面說過,CHECKSIG是和生成的過程對應(yīng),生成的時候,該部分都沒有,所以驗證的時候該部分肯定得去掉)

8. TxCopy中正在檢查的解鎖腳本位置,替換為經(jīng)過步驟4處理完的Subscript

9. 序列化TxCopy,添加4字節(jié)的簽名類型,即在步驟5中提到的簽名類型,因為在5中是1個字節(jié),現(xiàn)在變成4個字節(jié),這時候才會涉及大小端問題,存為小端模式。得到的最終信息假設(shè)叫verifyThisStr。

10. 之前是個人錢包使用私鑰對SHA256(SHA256(verifyThisStr))進行ECDSA加密的結(jié)果,現(xiàn)在已經(jīng)重新計算出來了verifyThisStr,其他人驗證的時候,利用對應(yīng)的公開的公鑰,對進行ECDSA解密,看是否與SHA256(SHA256(verifyThisStr))相同即可??!(反過來也是一樣的)

至此,交易腳本的驗證過程結(jié)束。

這里面最重要的是:

1. 生成verifyThisStr的過程,確保了每次進行加密解密的內(nèi)容都不一樣

2. 個人錢包使用用戶的私鑰進行加密,其他人利用用戶公開的公鑰進行解密

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 區(qū)塊鏈
    +關(guān)注

    關(guān)注

    112

    文章

    15565

    瀏覽量

    108335
  • 比特幣
    +關(guān)注

    關(guān)注

    57

    文章

    7007

    瀏覽量

    143331

原文標題:區(qū)塊鏈系列--比特幣 (5):交易腳本詳解

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    究竟比特是什么

    12月5日央行等五部委宣布禁止金融機構(gòu)開展比特業(yè)務(wù),但表示比特交易作為一種互聯(lián)網(wǎng)上的商品買賣行為,普通民眾在自擔風(fēng)險的前提下?lián)碛袇⑴c的自
    發(fā)表于 12-15 11:17

    比特交易所系統(tǒng)開發(fā)如何適應(yīng)海外市場?

    比特交易所系統(tǒng)開發(fā)如何適應(yīng)海外市場?近日央視攜《對話》欄目幫助電視機前的觀眾們更好的探尋區(qū)塊鏈是什么、會為我們的生活帶來哪些改變、這項技術(shù)具體應(yīng)該如何應(yīng)用。目前大家對區(qū)塊鏈的技術(shù)非常關(guān)注,之前國內(nèi)
    發(fā)表于 05-28 14:55

    比特交易平臺排名情況

    國內(nèi)比特交易平臺哪個好,國內(nèi)十大比特交易平臺排名2017版:搞
    發(fā)表于 12-16 09:41 ?1.5w次閱讀

    比特是不是電子貨幣_比特怎么交易

    本文開始詳細的介紹了比特的特征,其次介紹了比特的幾個易平臺和分析了比特是不是電子貨幣,最后
    發(fā)表于 01-30 16:25 ?1.1w次閱讀

    比特交易網(wǎng)站哪個好?比特交易網(wǎng)站排名一覽

    比特早已分布在世界的各個角落,而如今想要獲取比特比以前更加困難了,據(jù)說,在國內(nèi)1枚比特現(xiàn)在
    發(fā)表于 05-29 16:01 ?2.6w次閱讀

    比特ETN代表著比特交易所交易基金的一個軟開端

    美國的投資者如果想在不購買加密貨幣的情況下交易比特,就可以通過比特交易所交易票據(jù)(ETN)獲
    發(fā)表于 08-17 14:52 ?2567次閱讀

    比特OTC場外交易市場具有哪些特點?

    隨著各大交易所的關(guān)閉,嚴管之下,比特逐漸由場內(nèi)交易交易所)轉(zhuǎn)為場外交易。目前以社交群為載體的
    發(fā)表于 09-29 15:25 ?5218次閱讀

    比特期貨的交易模式及風(fēng)險

    近期比特交易無論成交量還是價格似乎遠遠超出了我們的預(yù)期,更而甚者美國芝加哥商品交易所、芝加哥期權(quán)交易所、東京期貨
    發(fā)表于 10-23 14:45 ?1414次閱讀

    什么是灰塵比特交易

    在過去,粉塵交易比特用戶來說并不一定是個問題。然而現(xiàn)在,情況發(fā)生了變化,去年晚些時候費用就比以往任何時候都高了,這就使得較小的價值交易發(fā)送起來變得更昂貴了。簡而言之,一些開發(fā)商認為
    發(fā)表于 12-21 11:42 ?1217次閱讀

    比特為什么要采用UTXO模型

    比特腳本是非圖靈完備的。比特使用自行定義的一種腳本進行
    發(fā)表于 01-15 11:11 ?2609次閱讀
    <b class='flag-5'>比特</b><b class='flag-5'>幣</b>為什么要采用UTXO模型

    比特交易究竟是如何運作的

    比特使用UTXO(未使用的交易輸出)模型,而不是賬戶/余額系統(tǒng)。這意味著區(qū)塊鏈并不直接跟蹤每個比特地址的
    發(fā)表于 04-06 09:00 ?6515次閱讀
    <b class='flag-5'>比特</b><b class='flag-5'>幣</b><b class='flag-5'>交易</b>究竟是如何運作的

    比特交易的好處的有哪些

    你有沒有想過改變你的交易方式,用比特取代現(xiàn)金和銀行?如果你已經(jīng)想過,而且你還沒有決定是否應(yīng)該采取下一步,比如說緊接著在你的交易中全部使用數(shù)字加密貨幣,現(xiàn)在看看
    發(fā)表于 04-23 10:48 ?3557次閱讀

    比特腳本的應(yīng)用實例介紹

    比特一直以來都有一種機制,它可通過更復(fù)雜的策略(而不僅僅是單個密鑰)來使可花費:這就是腳本(Script)系統(tǒng)。雖然腳本主要用于單密鑰支
    發(fā)表于 09-10 11:16 ?2056次閱讀

    比特被頻繁用于非法交易的原因是什么

    比特價格暴漲,交易手續(xù)費持續(xù)高昂,與比特功能相似,但交易速度和手續(xù)費價格更佳的萊特
    發(fā)表于 11-11 10:10 ?3843次閱讀

    比特混合交易的好處是什么

    比特網(wǎng)絡(luò)上的交易是開放的。這意味著任何對此感興趣的人都可以查看分類帳并了解您的交易歷史。他們甚至可以知道你錢包里有多少比特
    發(fā)表于 03-08 11:34 ?673次閱讀