System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
【國外來華專利技術】
本公開涉及一種將緊湊區塊鏈事務傳輸到區塊鏈網絡的節點的方法以及一種處理緊湊區塊鏈事務的方法。
技術介紹
1、區塊鏈是指一種分布式數據結構,其中在分布式對等(p2p)網絡(以下稱為“區塊鏈網絡”)中的多個節點中的每個節點處維護區塊鏈的副本,并且廣泛公開該副本。區塊鏈包括一系列數據區塊,其中每個區塊包括一個或多個事務(transaction)。除所謂的“coinbase事務”外,每個事務都指向序列中的先前事務,該序列可以跨越一個或多個區塊,回到一個或多個coinbase事務。coinbase事務將在下文進一步討論。提交給區塊鏈網絡的事務包括在新區塊中。新區塊的創建過程通常稱為“挖掘”,該過程涉及多個節點中的每個節點爭相執行“工作證明”,即,基于等待被包括在區塊鏈的新區塊中的一組定義的有序且核實有效的未決事務的表示解決加密難題。應當注意的是,區塊鏈可以在一些節點處被修剪(prune),并且區塊的發布可以通過僅發布區塊頭來實現。
2、區塊鏈中的事務可用于以下目的中的一個或多個:傳送數字資產(即,一定數量的數字令牌token);對虛擬化分類賬或注冊表中的一組條目進行排序;接收和處理時間戳條目;和/或對索引指針按時間排序。也可利用區塊鏈實現區塊鏈上的層級附加功能。例如,區塊鏈協議可允許在事務中存儲附加的用戶數據或數據索引。能夠存儲在單個事務中的最大數據容量沒有預先指定的限制,因此可以并入越來越復雜的數據。例如,這可用于在區塊鏈中存儲電子文檔、音頻或視頻數據。
3、區塊鏈網絡的節點(通常稱為“礦工”)執行分布式事務注冊
4、成功解決工作證明難題可創建最新區塊的節點通常被獎勵一個稱為“coinbase事務”的新事務,該事務分發數字資產數額,即令牌數量。無效事務的檢測和拒絕是通過競爭節點的行動來執行的,這些競爭節點充當網絡的代理并且通過激勵報告和阻止不正當行為。信息的廣泛發布使得用戶可以連續地審計節點的性能。僅發布區塊頭使得參與者可以確保區塊鏈具有持續完整性。
5、在“基于輸出的”模型(有時稱為基于utxo的模型)中,給定事務的數據結構包括一個或多個輸入和一個或多個輸出。任何可花費輸出包括指定數字資產數額的元素,該元素可從進行中的事務序列導出。可花費輸出有時稱為utxo(“未花費事務輸出”)。輸出還可以包括鎖定腳本,該鎖定腳本指定輸出的未來贖回條件。鎖定腳本是限定核實和傳送數字令牌或資產所必需的條件的謂詞。事務(除coinbase事務之外)的每個輸入包括指向先前事務中的此類輸出的指針(即引用),并且還可以包括解鎖腳本,用于解鎖指向輸出的鎖定腳本。因此,考慮一對事務,將其稱為第一事務和第二事務(或“目標”事務)。第一事務包括指定數字資產數額的至少一個輸出,并且包括定義解鎖該輸出的一個或多個條件的鎖定腳本。第二(目標)事務包括至少一個輸入和解鎖腳本,該至少一個輸入包括指向第一事務的輸出的指針;該解鎖腳本用于解鎖第一事務的輸出。
6、在此類模型中,當第二(目標)事務被發送到區塊鏈網絡以在區塊鏈中傳播和記錄時,在每個節點處應用的有效性條件之一將是解鎖腳本滿足在第一事務的鎖定腳本中定義的一個或多個條件中的所有條件。另一條件將是第一事務的輸出尚未被另一早期有效事務贖回。根據這些條件中的任何一個條件發現目標事務無效的任何節點都不會傳播該事務(作為有效事務,但可能注冊無效事務),也不將該事務包括在要記錄在區塊鏈中的新區塊中。
技術實現思路
1、區塊鏈通常使用腳本語言來設置鎖定條件,所述鎖定條件鎖定事務的特定輸出。同樣地,對應的解鎖條件以所述相同的腳本語言編寫。腳本語言通常由數據(例如,公鑰和數字簽名)和對數據執行操作(或稱為,運算)的函數組成。所述腳本語言可以稱為低級腳本語言或本機(native,也譯為本地、原生)腳本語言。作為特定示例,比特幣區塊鏈的所述本機腳本語言稱為script。在script中,所述函數稱為“操作碼”,所述操作碼是“操作代碼”的簡稱。
2、在生成方(例如,用戶或機器)之間將包含腳本的事務傳輸到網絡的節點以核實事務。根據用例,也可以在鏈下(例如,用戶到用戶或機器到機器)傳輸事務。此外,還由所述節點本身在整個區塊鏈網絡中傳播事務。此外,至少需要(或至少選擇)一些節點來存儲事務作為所述區塊鏈的一部分。
3、隨著區塊鏈技術的使用量不斷增加,需要分別降低傳輸和存儲事務的帶寬和存儲要求。這通常適用于所有區塊鏈。一些區塊鏈對事務的大小、事務內腳本的大小和區塊的大小施加了限制。相反,至少一個區塊鏈(例如,比特幣sv)允許事務具有不受限制的腳本大小,并且不對區塊大小施加限制。這使得能夠構建復雜的鎖定腳本(例如,智能合約),這些腳本可能具有相當大的大小。此外,這還允許區塊鏈節點構建和發布大區塊,然后需要存儲所述大區塊。因此,在傳輸和存儲事務作為該特定區塊鏈的一部分時,更需要節省帶寬和存儲空間。
4、到目前為止,鎖定腳本和解鎖腳本以低級(即,本機)腳本語言編寫(即,表達或表示)。然后,將包含這些腳本的事務提交到所述區塊鏈網絡,并且在有效的情況下將其存儲在所述區塊鏈上。現在,可以高級腳本語言編寫腳本,而不是以所述低級腳本語言編寫腳本(鎖定腳本或解鎖腳本)。與所述低級語言一樣,所述高級語言由數據和函數組成。然而,這些“高級函數”中的至少一些高級函數被配置為在一起執行時執行與由多個“低級函數”執行的操作相同的操作。換句話說,一個高級函數可以執行通常需要多個低級函數的相同操作。這導致以所述高級語言編寫的腳本比以所述低級語言編寫的等效鎖定腳本更緊湊(即,大小減小)。
5、由于以所述高級語言編寫的腳本比以所述本機低級語言編寫的腳本(現在稱為“擴展腳本”)更緊湊,因此以高級語言編寫的腳本稱為“緊湊腳本”。例如,以所述高級語言編寫的鎖定腳本和解鎖腳本分別稱為“緊湊鎖定腳本”和“緊湊解鎖腳本”。
6、應當注意的是,對以特定編程語言“編寫”的腳本的任何引用都可以被認為意味著所述腳本以所述編程語言“表示”或“表達”。因此,除非上下文另有要求,否則任何提及的“編寫”都可以替換為“表示”或“表達”。
7、現在可以使用所述高級語言,將通常需要較大擴展腳本(在許多低級函數的意義上較大)本文檔來自技高網...
【技術保護點】
1.一種計算機實現的方法,用于將緊湊事務傳輸到區塊鏈網絡的節點,其中緊湊事務是包括緊湊腳本(CS)的區塊鏈事務,所述緊湊腳本至少部分地以中級(IL)腳本語言編寫、并且包括一個或多個IL函數,其中當被執行時,每個IL函數被配置為執行與由低級(LL)腳本語言的一個或多個LL函數執行的操作等效的操作,其中所述CS被配置為執行與以所述LL腳本語言編寫的擴展腳本(ES)等效的操作,并且其中所述方法由第一方執行并且包括:
2.根據權利要求1所述的方法,所述方法包括:創建所述第一HL引用庫。
3.根據權利要求1或2所述的方法,所述方法包括:將所述第一HL引用庫提供給所述至少一個啟用CS的節點。
4.根據權利要求3所述的方法,其中所述的將所述第一HL引用庫提供給所述至少一個啟用CS的節點包括:將所述第一HL引用庫發送到所述至少一個啟用CS的節點。
5.根據權利要求3所述的方法,其中所述第一HL引用庫存儲在可公開訪問源處,并且其中所述的將所述第一HL引用庫提供給所述至少一個啟用CS的節點包括:將對所述可公開訪問源的引用發送到所述至少一個啟用CS的節點
6.根據權利要求5所述的方法,其中所述可公開訪問源是存儲在區塊鏈上的庫事務,并且其中所述第一庫標識符是:a)所述庫事務的事務標識符;或者b)包含所述庫事務的區塊的區塊高度和所述庫事務在所述區塊中的位置。
7.根據權利要求6所述的方法,所述方法包括:
8.根據權利要求6所述的方法,所述方法包括:通過以下方式更新所述庫:
9.根據前述任一項權利要求所述的方法,其中所述第一庫標識符是所述第一HL引用庫的哈希值。
10.根據前述任一項權利要求所述的方法,其中所述緊湊事務包括第一事務標識符,并且其中所述方法包括:
11.根據權利要求10所述的方法,所述方法包括:
12.根據權利要求11所述的方法,其中至少一個HL函數使用不同的HL函數,并且其中所述第一HL函數表包括所述不同的HL函數的所述相應函數標識符作為所述映射的一部分。
13.根據前述任一項權利要求所述的方法,其中所述第一CS包括第二HL引用庫的第二庫標識符,所述第二HL引用庫包括第二HL函數集合,并且其中所述第一CS包括所述第二HL函數集合中的一個或多個HL函數的相應函數標識符。
14.根據從屬于權利要求11或12的權利要求13所述的方法,所述方法包括:
15.根據權利要求11或其任何從屬權利要求所述的方法,其中所述第一HL函數表包括將由所述相應HL函數使用的一個或多個第一HL變量的相應變量標識符作為相應HL函數的所述映射的一部分和至少一個IL函數,所述至少一個IL函數被配置為在腳本執行期間調用所述一個或多個第一HL變量。
16.根據權利要求15所述的方法,所述方法包括:
17.根據權利要求16所述的方法,其中所述第一HL變量包括可供整個所述第一緊湊腳本使用的相應全局變量的一個或多個變量標識符,和/或其中所述第一HL變量表包括僅可供所述第一HL引用庫的所述第一HL函數使用的相應局部變量的一個或多個變量標識符。
18.根據權利要求16或17所述的方法,其中所述的將所述第一CS轉換為所述第一ES包括:將相應第一HL變量的相應值寫入所述第一HL變量表。
19.根據權利要求16或17所述的方法,其中所述第一HL變量表中的每個第一HL變量是在所述第一CS的處理期間不改變的常量值。
20.一種計算機實現的方法,用于處理緊湊事務,其中緊湊事務是包括緊湊腳本(CS)的區塊鏈事務,所述緊湊腳本至少部分地以中級(IL)腳本語言編寫、并且包括一個或多個IL函數,其中當被執行時,每個IL函數被配置為執行與由低級(LL)腳本語言的一個或多個LL函數執行的操作等效的操作,其中所述CS被配置為執行與以所述LL腳本語言編寫的擴展腳本(ES)等效的操作,并且其中所述方法由被配置為核實緊湊事務的啟用CS的節點執行,并且所述方法包括:
21.根據權利要求20所述的方法,其中所述緊湊事務包括第一事務標識符,并且其中所述的處理所述第一緊湊事務包括:
22.根據權利要求20或21所述的方法,其中所述第一CS是鎖定腳本,并且其中所述的處理所述第一緊湊事務包括:與第二區塊鏈事務的解鎖腳本一起執行所述第一ES。
23.根據權利要求20或21所述的方法,其中所述第一CS是解鎖腳本,并且其中所述的處理所述第一緊湊事務包括:與第三區塊鏈事務的鎖定腳本一起執行所述第一ES。
24.根據權利要求20至23中任一項所述的方法,其中所...
【技術特征摘要】
【國外來華專利技術】
1.一種計算機實現的方法,用于將緊湊事務傳輸到區塊鏈網絡的節點,其中緊湊事務是包括緊湊腳本(cs)的區塊鏈事務,所述緊湊腳本至少部分地以中級(il)腳本語言編寫、并且包括一個或多個il函數,其中當被執行時,每個il函數被配置為執行與由低級(ll)腳本語言的一個或多個ll函數執行的操作等效的操作,其中所述cs被配置為執行與以所述ll腳本語言編寫的擴展腳本(es)等效的操作,并且其中所述方法由第一方執行并且包括:
2.根據權利要求1所述的方法,所述方法包括:創建所述第一hl引用庫。
3.根據權利要求1或2所述的方法,所述方法包括:將所述第一hl引用庫提供給所述至少一個啟用cs的節點。
4.根據權利要求3所述的方法,其中所述的將所述第一hl引用庫提供給所述至少一個啟用cs的節點包括:將所述第一hl引用庫發送到所述至少一個啟用cs的節點。
5.根據權利要求3所述的方法,其中所述第一hl引用庫存儲在可公開訪問源處,并且其中所述的將所述第一hl引用庫提供給所述至少一個啟用cs的節點包括:將對所述可公開訪問源的引用發送到所述至少一個啟用cs的節點。
6.根據權利要求5所述的方法,其中所述可公開訪問源是存儲在區塊鏈上的庫事務,并且其中所述第一庫標識符是:a)所述庫事務的事務標識符;或者b)包含所述庫事務的區塊的區塊高度和所述庫事務在所述區塊中的位置。
7.根據權利要求6所述的方法,所述方法包括:
8.根據權利要求6所述的方法,所述方法包括:通過以下方式更新所述庫:
9.根據前述任一項權利要求所述的方法,其中所述第一庫標識符是所述第一hl引用庫的哈希值。
10.根據前述任一項權利要求所述的方法,其中所述緊湊事務包括第一事務標識符,并且其中所述方法包括:
11.根據權利要求10所述的方法,所述方法包括:
12.根據權利要求11所述的方法,其中至少一個hl函數使用不同的hl函數,并且其中所述第一hl函數表包括所述不同的hl函數的所述相應函數標識符作為所述映射的一部分。
13.根據前述任一項權利要求所述的方法,其中所述第一cs包括第二hl引用庫的第二庫標識符,所述第二hl引用庫包括第二hl函數集合,并且其中所述第一cs包括所述第二hl函數集合中的一個或多個hl函數的相應函數標識符。
14.根據從屬于權利要求11或12的權利要求13所述的方法,所述方法包括:
15.根據權利要求11或其任何從屬權利要求所述的方法,其中所述第一hl函數表包括將由所述相應hl函數使用的一個或多個第一hl變量的相應變量標識符作為相應hl函數的所述映射的一部分和至少一個il函數,所述至少一個il函數被配置為在腳本執行期間調用所述一個或多個第一hl變量。
16.根據權利要求15所述的方法,所述方法包括:
17.根據權利要求16所述的方法,其中所述第一hl變量包括可供整個所述第一緊湊腳本使用的相應全局變量的一個或多個變量標識符,和/或其中所述第一hl變量表包括僅可供所述第一hl引用庫的所述第一hl函數使用的相應局部變量的一個或多個變量標識符。
18.根據權利要求16或17所述的方法,其中所述的將所述第一cs轉換為所述第一es包括:將相應第一hl變量的相應值寫入所述第一hl變量表。
19.根據權利要求16或17所述的方法,其中所述第一hl變量表中的每個第一hl變量是在所述第一cs的處理期間不改變的常量值。
20.一種計算機實現的方法,用于處理緊湊事務,其中緊湊事務是包括緊湊腳本(cs)的區塊鏈事務,所述緊湊腳本至少部分地以中級(il)腳本語言編寫、并且包括一個或多個il函數,其中當被執行時,每個il函數被配置為執行與由低級(ll)腳本語言的一個或多個ll函數...
【專利技術屬性】
技術研發人員:史蒂文·帕特里克·考格蘭,張偉,阿萊西奧·帕加尼,巴席姆·阿瑪爾,
申請(專利權)人:區塊鏈許可股份公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。