區塊鏈中的獨立交易驗證時是什麼?

2020-12-23 鏈客區塊鏈技術社區

大家好,這裡是鏈客區塊鏈技術問答社區。

鏈客,專為開發者而生,有問必答!

獨立交易驗證

在 [transactions] 中, 我們看到了錢包軟體如何通過收集UTXO創建交易,提供適當的解鎖腳本,然後構建分配給新所有者的新輸出。然後將產生的交易發送到比特幣網絡中的相鄰節點,以便它可以在整個比特幣網絡上傳播。

但是,在向鄰居轉發交易之前,接收交易的每個比特幣節點都將首先驗證交易。確保只有有效的交易通過網絡傳播,無效的交易會被遇到它們的第一個節點丟棄。

每個節點根據一個很長的標準檢查清單驗證每筆交易:

交易的語法和數據結構必須正確輸入和輸出列表都不為空所有交易的字節大小小於 MAX_BLOCK_SIZE.每個輸出值,和總的輸出值,都必須在允許的範圍區間(小於2100萬比特幣,大於 dust 閾值)任何輸入的hash不等於0,N不等於-1 (幣基交易不應該被傳播)nLocktime 等於 INT_MAX, 或者 nLocktime 和 nSequence 的值滿足 MedianTimePast 的要求每筆交易的字節大小大於或等於 100交易中包含的籤名操作(SIGOPS) 小於籤名操作限制解鎖腳本( scriptSig )只能向棧中壓入數值, 鎖定腳本 (scriptPubkey) 必須匹配 IsStandard 格式 (拒絕非標準的交易).交易池或主分支的一個區塊中必須存在這筆交易對於每個輸入,如果引用的輸出存在於池中的任意一筆其他交易中,則這筆交易被拒絕對於每個輸入,查找主分支和交易池以找到引用的輸出的交易。如果任何輸入的輸出交易丟失,這將成為一筆孤兒交易。如果匹配的交易沒在池中,添加它到孤兒交易池對於每個輸入,如果引用的交易是幣基輸出,它必須有至少 COINBASE_MATURITY (100) 次確認對於每個輸入,引用的輸出必須存在且未被花費使用引用的輸出交易來獲得輸入值,檢查每個輸入值,以及總和,在允許的範圍中(大於0,小於2100萬).如果輸入值的總和小於輸出值的總和,拒絕如果交易費太低( minRelayTxFee ),拒絕每個輸入的解鎖腳本必須與對應的輸出的鎖定腳本匹配這些條件的詳情可以在 Bitcoin Core 中的 AcceptToMemoryPool, CheckTransaction, 和 CheckInputs 中看到。注意,條件是隨時間改變的,以應對新的拒絕服務攻擊類型,或者放鬆規則以包含更多類型的交易。

通過在交易到達後,向外傳播前,獨立驗證,每個節點都簡歷了一個有效(但未確認)的交易池,稱為 transaction poolmemory poolmempool

相關焦點

  • 區塊鏈研習 | 區塊鏈應用中需注意的問題:如何驗證新信息的真偽
    ,確認沒有問題後,向全網廣播該交易;3、 礦工節點將交易打包到區塊裡,最終該交易被記錄進區塊鏈。這裡面有一個很關鍵的操作:節點驗證交易的正確性。如果交易是錯誤的,這個交易則不會被記錄到區塊鏈上。那麼,問題來了:節點怎樣驗證交易的正確性呢?在比特幣等類型的無中心數字貨幣區塊鏈系統中,驗證交易是一件非常正常而又簡單的事情:節點只需檢查該交易引用的前一筆交易是否匹配即可。
  • 需要了解區塊鏈的共識機制與驗證機制有什麼區別
    打開APP 需要了解區塊鏈的共識機制與驗證機制有什麼區別 發表於 2019-05-17 14:58:08 共識機制 完全去中心化的區塊鏈系統中,如何保證各節點維持區塊鏈數據的一致性和不可篡改性,是一個關鍵問題。
  • 區塊鏈到底是什麼?這是區塊鏈最通俗易懂的解釋
    要回答區塊鏈是什麼,幣小寶先講幾個案例。 區塊鏈可以解決上面的3個問題。 區塊鏈是什麼 區塊鏈是一個分布式的資料庫。
  • 區塊鏈中的哈希值是做什麼的
    如何在區塊鏈中使用哈希值? 在區塊鏈中,每個塊都有前一個塊的哈希值,前一個塊被稱為當前塊的父塊,如果考慮父塊有一個當前區塊。它將會有上一個塊的哈希值即父塊。 在區塊鏈中,每個塊都有前一個塊的哈希值。當我們更改當前塊中的任何數據時,塊的哈希值將被更改,這將影響前一個塊,因為它有前一個塊的地址。例如,如果我們只有兩個塊,一個是當前塊,一個是父塊。當前塊將擁有父塊的地址。
  • COT「女媧」平臺場景驗證——區塊鏈智能鎖
    COT(Chains of Things)作為基於物聯網的區塊鏈公有鏈和基於區塊鏈的智能硬體方案平臺,團隊在「女媧」(NUWA)平臺智能櫃項目中對基於區塊鏈技術的智能鎖功能進行驗證和探索。該功能在物聯網中應用場景豐富。
  • 區塊鏈中的數據結構
    而用戶只需要記住最後一個區塊鏈的哈希地址,就可以檢測區塊鏈上內容是否被篡改。在實際應用中,一整條鏈可能會被切斷分開保存在多個地方。若用戶僅僅具有其中一段,當用到前面部分區塊數據時,直接問系統中其他節點要即可,當要到之後,僅僅通過計算要到的最後一個哈希值和自己保存哈希值是否一致可以判斷所給內容是否確實為區塊鏈上真實的內容。
  • 萬向區塊鏈:區塊鏈應用於金融交易後處理的機制
    二是區塊鏈上的記錄有法律效力,第三部分已指出這個問題。三是區塊鏈能保證結算的最終性(Settlement Finality)。這個問題對聯盟鏈難度不大,但一些公鏈因為存在分叉的可能性,只能在概率意義上保證結算的最終性。四是能實現DvP。五是能有效處理差錯和例外情況,區塊鏈不可篡改的特徵客觀上增加了這個問題的難度。六是在可能有多方參與驗證的情況下,確保交易信息的保密性。
  • 【專利解密】OPPO區塊鏈身份驗證方法
    ,該方法可以避免採用終端身份識別碼無法對終端身份驗證的問題,在終端獲取到區塊鏈平臺的第一公鑰和第二公鑰之後就可以進行身份驗證,且身份驗證過程中不涉及到獲取身份識別碼,可靠性更高。  如上圖,為基於區塊鏈的身份驗證方法的流程示意圖,身份驗證一般在用戶使用相關應用中的功能時會涉及到,例如應用積分籤到、積分領取、限時秒殺等應用業務,此時應用程式可以在本地儲存空間中獲取預先保存的私鑰,這個私鑰用於發送密鑰查詢請求
  • 馬交所首個區塊鏈交易平臺完成概念驗證,四方精創為其提供技術與方案
    證券時報·e公司記者最新獲悉,馬來西亞交易所有限公司(以下簡稱馬交所)日前已完成首個融資融券區塊鏈交易平臺(SBL)的概念驗證(POC),旨在提高證券借貸需求(以下簡稱借貸池)的效率、速度和容量,A股上市公司四方精創(300468)是其技術提供方。
  • 科普|什麼是區塊鏈?區塊鏈在能源行業應用時主要有哪些特點和難點
    什麼是區塊鏈區塊鏈綜合了分布式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術。區塊鏈的本質是一個去中心化的資料庫,是一串與密碼學方法相關聯的數據塊,每一個數據塊中包含了一批次網絡交易的信息,用於驗證信息的有效性。網際網路就像是信息高速公路,而區塊鏈讓信息社會更安全、更高效。
  • 什麼條件下你才需要使用區塊鏈?
    那我們到底還在等什麼?其實,我們可以耐心的發現區塊鏈技術到底會給企業級的信息技術公司帶來什麼好處。有一大部分讓我們幫忙的工程和區塊鏈半點關係都沒有。為什麼會這樣呢?大公司聽說區塊鏈會是下一個風口,從內部找對這個感興趣的人研究。大公司拿出一些預算告訴他們去做一些看起來很區塊鏈的東西。不一會這些人就來敲我們的門,手裡揮著美元,讓我們幫他們想一個應用場景。你有什麼可說的?
  • 區塊鏈信用:交易的熱力學第二定律
    等價交易當今電子支付是如此快捷高效,以至於人們會有這樣的疑惑,既然PayPal、支付寶已經這麼好用了,我們還需要基於區塊鏈的數字貨幣支付嗎?答案是肯定的。在一次支付寶處理的交易中,一個人的支出等於另一個人的收入,這是等價交易。問題在於,如果支出與收入是同一個人的兩個帳戶,會發生什麼?
  • 區塊鏈中的數學(四十一)
    區塊鏈中,大部分的共識算法,無論是 POW、POS,或是由他們衍生出來的 DPOS,都需要選出一堆或者一個節點來參與共識或者打包區塊,這個過程雖然會有持幣情況、設備配置、信譽等各種因素影響,但必須是隨機的、無法被預測的。這時候就可能會用到隨機算法。
  • 區塊鏈節點與主節點是什麼?
    什麼是節點?這個網絡中的每臺計算機都是一個節點,它已經下載了完整的區塊鏈。這樣,網絡就變得冗餘了,而協同工作使其在擴展方面具有可伸縮性。由於區塊鏈的分散化,任何人都可以參與其中。只需從下載節點軟體並執行它即可。通常,每個項目的主錢包都支持此功能。最初,網絡從區塊鏈的起源開始,直到與網絡同步為止。此時,節點開始全面運行,不僅允許驗證事務,而且支持區塊鏈的整體映像。
  • 如何使用以太坊區塊鏈瀏覽器查詢交易信息
    答案當然是區塊鏈瀏覽器了!因為區塊鏈中的交易信息等數據都是公開透明的, 而區塊鏈瀏覽器是查詢區塊鏈交易記錄的地址,用戶可以使用其查看自己的交易信息以及區塊鏈存儲的其他信息。以太坊區塊鏈瀏覽器首頁1、通過交易哈希值查詢(1)什麼是交易哈希值
  • 「Hyperledger Fabric 是假區塊鏈!」
    我們從來沒有將 TPS、節點數這些忽悠外行人的數字遊戲看作是區塊鏈的採用標準,但在經歷多了這些數字遊戲之後我們認為有必要告訴讀者什麼是區塊鏈,而什麼不是區塊鏈。什麼是區塊鏈?什麼不是區塊鏈?接下來,系統會將帶有讀寫集的交易預提案提交。訂購服務會把一批次的交易加入到區塊中。
  • 區塊鏈應用於金融交易後處理的機制
    二是區塊鏈上的記錄有法律效力,第三部分已指出這個問題。三是區塊鏈能保證結算的最終性(Settlement Finality)。這個問題對聯盟鏈難度不大,但一些公鏈因為存在分叉的可能性,只能在概率意義上保證結算的最終性。四是能實現DvP。五是能有效處理差錯和例外情況,區塊鏈不可篡改的特徵客觀上增加了這個問題的難度。六是在可能有多方參與驗證的情況下,確保交易信息的保密性。
  • 區塊鏈中的「鏈」與「圈」
    區塊鏈主要分為三種鏈:公鏈、私鏈、聯盟鏈。 公鏈:就是公共區塊鏈,它是指世界任何一個人都可以參與、完全去中心化的共識區塊鏈。公鏈的特點是開發者無權幹涉用戶,可以保護用戶免受開發者影響;訪問門檻低,只要有一臺聯網的電腦,任何人都可以訪問,數據完全公開透明,不可篡改。
  • 區塊鏈比特幣是什麼意思通俗的解釋
    區塊鏈比特幣是什麼意思通俗的解釋;好快科技;專業區塊鏈比特幣應用APP區塊連開發;區塊鏈是最近的熱門新聞。在不久之前的一段時間,處於工作年齡的人都在學習分析課程。人們的收件箱裡充斥著各種提供分析課程、學位和文憑的機構和組織的電子郵件。
  • 高階課堂 | 哈希值是什麼?一文讀懂區塊鏈中的哈希值!
    如何在區塊鏈中使用哈希值?在區塊鏈中,每個塊都有前一個塊的哈希值,前一個塊被稱為當前塊的父塊,如果考慮父塊有一個當前區塊。它將會有上一個塊的哈希值即父塊。在區塊鏈中,每個塊都有前一個塊的哈希值。當我們更改當前塊中的任何數據時,塊的哈希值將被更改,這將影響前一個塊,因為它有前一個塊的地址。例如,如果我們只有兩個塊,一個是當前塊,一個是父塊。