主頁 > 區塊鏈 > 《去中心化的跨鏈資產轉移》論文筆記----原文標題《Decentralized Cross-Blockchain Asset Transfers》

《去中心化的跨鏈資產轉移》論文筆記----原文標題《Decentralized Cross-Blockchain Asset Transfers》

2020-12-20 12:29:21 區塊鏈

《去中心化的跨鏈資產轉移》論文筆記

原論文標題為《Decentralized Cross-Blockchain Asset Transfers》


作者資訊:
Marten Sigwart 分布式系統組, 奧地利維也納
Philipp Frauenthaler分布式系統組, 奧地利維也納
Christof Spanring潘托斯有限公司, 奧地利維也納
Stefan Schulte分布式系統組, 奧地利維也納

文章目錄

  • 《去中心化的跨鏈資產轉移》論文筆記
  • 摘要
  • 1、介紹
  • 2、背景
  • 3.跨鏈資產轉移
    • 3.1 要求
    • 3.2 基本協議
      • 3.2.2 轉移確認的協議擴展
    • 3.3 跨鏈通信
      • 3.3.1 區塊鏈中繼
      • 3.3.2 神諭Oracles
  • 4、評估
    • 4.1 原型
    • 4.2 需求分析
    • 4.3 定量分析
      • 4.3.1轉移成本
      • 4.3.2轉移的持續時間
  • 5 相關作業文獻
  • 6、結論
  • 個人體會


摘要

由于現存的跨鏈資產只能解決特定資產或者特定通信,并且不能保證資產不會在轉移程序中丟失,所以本文提出了一種跨區塊鏈資產轉移協議,該協議支持任意資產,適用于不同的跨區塊鏈通信手段,并符合最終性等要求,
本文1.定義了協議規范,以實作分散、安全、不依賴于特定跨鏈通信方式的跨鏈資產轉移2.使用基于以太坊虛擬機的區塊鏈概念驗證對提出的協議進行評估,


1、介紹

由于多個領域的需求不可能由一個單一的區塊鏈來滿足,尤其是在資產在鏈上管理時,由于資產不能離開發行資產的區塊鏈平臺,所以只有唯一的供應商,因此專案將有可能面臨重大風險,所以本文主要做了以下貢獻,
1.正式定義了跨鏈資產轉移的功能需求,
2.定義了協議規范,以實作分散、安全、不依賴于特定跨區塊鏈通信方式的跨區塊鏈資產轉移,
3.使用基于evm(以太坊虛擬機,即以太坊的運行環境)的區塊鏈概念驗證對以太坊測驗網路上提出的協議進行評估,

2、背景

以下是本文中可能用到的名詞和解釋,
資產
一般可分為可替代資產和不可替代資產,
可替代性意味著同一資產的兩個物體可以互換使用,位元幣或以太幣等加密貨幣是可互換資產,
不可替代資產是唯一可識別的,即一個物體不能簡單地被另一個物體替代,例如,Cryptokitties(聚眾云吸貓的游戲,是基于以太坊平臺運行的,用戶在游戲中可以養大、買賣并繁育“電子寵物”小貓,每只小貓和繁衍的后代都是獨一無二的)是不可替代的資產,
將資產A定義為一個集合,其中集合的成員代表資產的最小不可分割物體(資產物體),例如,像位元幣這樣的可替代資產中最小的不可分割物體是Satoshi(即0.00000001 BTC位元幣,位元幣的最小單位),對于像Cryptokitties這樣的不可互換資產,最小的不可分割物體是一個單一的“cryptokitty”,因此,|A|表示資產的總供給,
定義一組區塊鏈,區塊鏈之間進行跨區塊鏈資產轉移可以在特定的集合B中發生,每個區塊鏈b∈B都可以主持多個智能合約,在這些智能合約中,一個合約負責管理b中的資產A,我們把這個特定的的智能合約記作Cb
定義名為contract (tx)的函式來回傳由事物tx觸發的智能合約的地址,例如,如果用戶沒有足夠的資金進行轉賬或違反某些條件,事物的執行可能會失敗,所以定義了函式isSuccessful(tx),根據事務是否成功執行來回傳true或false,每筆事物在提交給區塊鏈之前都由某個鏈下用戶u∈U簽名,submitter(tx)表示簽署tx的用戶,用戶可以是每個參與區塊鏈b∈B的資產a子集的所有者,隨后,集合Abu? A定義了區塊鏈b上特定用戶u∈U所擁有的資產a的物體,最后,對于兩個區塊鏈src,dest∈B和兩個用戶(sender,recipient)∈U,定義了一個跨區塊鏈資產轉移,即一些X? A 從源于src的區塊鏈的用戶(sender)轉移到目的區塊鏈dest的用戶(recipient),

3.跨鏈資產轉移

首先,在跨區塊鏈資產轉移協議中,首先定義跨鏈資產轉移的需求,然后再使用這些需求作為定義去中心化跨鏈資產轉移協議,

3.1 要求

  1. 所有權,用戶只有在擁有所有權的區塊鏈才可以銷毀事物,
  2. 無需要不可銷毀,只有在源區塊鏈銷毀后,目標區塊鏈上的資產物體才可以被生成,
  3. 防止雙花,資產物體X銷毀后只能被創建一次,
  4. 去中心化,X銷毀后在一定時間t內應該要重新創建,
  5. 轉移確認,在源區塊鏈上銷毀x后,源區塊鏈會收到一個確認,是x已在其他區塊鏈上被申明,

3.2 基本協議

在這里插入圖片描述

協議1 跨區塊鏈資產轉移的基礎協議
目標:對于兩個區塊鏈src,dest和分別兩個用戶(sender,recipient),將X從src轉移到dest,將X的所有權從sender轉移到recipient,
1.銷毀, 用戶(sender)創建一個新的銷毀事務txburn:=?recipient,dest,X?,
2.申明,一旦txburn在區塊鏈src上成功執行,任何用戶u都可以建造申明明事務txclaim:=?txburn,prooftxburn?,變數prooftxburn包含資料,可用于證明txburn在區塊鏈src中的是否成功執行和包含在src中,

1.(a)用戶(sender)簽字并提交txburn到參考了合約csrc的源區塊鏈src,即在src上管理資產A的合約,
(b)當被呼叫時,合約csrc執行以下操作,
(i) 驗證dest∈B,以確保指定的區塊鏈dest是跨區塊鏈生態系統的一部分,
(ii)驗證X?Asrcsender,確保用戶(sender)擁有她想在區塊鏈src上轉移的資產物體,
(iii)當所有檢查都成功時,被轉移的資產物體將被啥訓,
2.(a)用戶u向某個區塊鏈b約Cb,簽字并提交txclaim,即管理b中的資產A的合約,
(b)當被呼叫時,合約cb將執行以下步驟,
(i)驗證b = dest,以確保正在執行的區塊鏈b是預期的目的區塊鏈dest,注意,在Cb中可以使用dest、收件人和X,這些變數可以被txburn參考,
(ii)驗證txburnTburn,其中Tburn是徐璈會事物的集合,這些事務已被用于dest中的資產物體A, 這確保了銷毀事務不能被用來多次申明,
(iii)運行verifyInclusion(txburn,prooftxburn,src)來驗證txburn是否已包含在區塊鏈src中,并由足夠多的區塊進行確認,事務包含驗證的細節在3.3節中解釋,
(iv)驗證名為contract (txburn) = csrc,確保合約已被txburn呼叫,合約是授權管理區塊鏈src上的資產a的合約,
(v)驗證issuccess (txburn)是否回傳true,確保csrc的執行已經完成,并且沒發生任何錯誤,
(vi)如果timeoutreach (txburn,prooftxburn,src)回傳true,則用戶(recipient)不會按時提交txclaim,因此,提交txclaim的用戶u = submitter(txclaim)會得到獎勵Xfee,否則u不會得到任何費用(即Xfee=?),導致所有資產物體轉移至收款人(見下步),
(vii)轉讓資產物體所有權給用戶(recipient),
(viii)添加txburn到已使用的銷毀事務集,

3.2.2 轉移確認的協議擴展

在這里插入圖片描述

協議2 擴展源區塊鏈上的轉移確認
目標:對于兩個區塊鏈src,dest上分別的兩個用戶(sender,recipient),將X從src轉移到dest,并將X的所有權從sender轉移到recipient, 確認在src上完成轉移,銷毀,
1.與協議1相似,用戶(sender)創建一個新的銷毀事務txburn:=?recipient,dest,X,Y?, 與協議1相反的是,txburn包含一個額外的變數Y,代表權益,權益表示為一旦在dest上完成資產轉移,用戶會得到向src提交確認事務的獎勵,
2.申明, 若要在目的區塊鏈dest上成功證明了資產A的物體,則執行與協議1中的TXclaim相同的步驟,
3.確認, 一旦TXclaim在塊鏈dest上成功執行,任何用戶u現在都可以構造一個確認事務txconfirm:=tx ?txclaim,prooftxclaim?, 變數Proof txclaim中的資料資料可用于證明txclaim包含在區塊鏈dest中被成功執行,

(a)用戶u簽字并向呼叫合約csrc的源區塊鏈src提交txconfirm
(b)當被呼叫時,合約Cstc會執行以下步驟,
(i)核實txclaim不屬于Tclaim,其中Tclaim是一組申明事物,這些事物已被用于src上的轉讓的最后確定, 這確保了宣告事務不能多次使用,
(ii)驗證calledContract(txburn)=Csrc確保txconfirm和txburn呼叫了相同的合約
(iii)運行函式verifyInclusion((txclaim,prooftxclaim,dest),以驗證TXclaim已被包含在區塊鏈dest中,并由足夠的塊確認, 第3.3節解釋了事物包含查驗的細節,
(iv)驗證calledContract(txclaim) = cdest,以確保txclaim呼叫的合約是txburn預期在dest上管理資產A的合約,
(v)驗證isSuccessful(txclaim)回傳true,以確保cdest的執行已經沒有任何錯誤的完成,
(vi)如果所有檢查都成功,則確保X已經在src上被銷毀,并在dest上宣告, 因此,跨區塊鏈資產轉移可以看作是被確認的,
(vii)檢查是否達到了提交txconfirm的超時時間, 如果是,用戶(sender)沒有及時提交txconfirm, 因此,提交txconfirm的用戶u=submitter(txconfirm)收到txburn的特定權益,作為提供相應申明確認的獎勵,即Asrc u=Asrc u∪Y, 如果不是,用戶(sender)將可以重新使用被鎖定的權益,即A src sender=A src sender∪Y,而不管哪個用戶提交txconfirm
(viii)將txclaim添加到已使用的申明事物中,

3.3 跨鏈通信

章節3.2中描述的協議都依賴于所涉及的區塊鏈,它們能夠驗證各自其他區塊鏈上交易的包含和確認,例如,區塊鏈dest必須能夠驗證某些事務tx是否包含在區塊鏈src中并被確認,反之亦然,為了成功進行事務包含驗證,需要將一個區塊鏈的狀態資訊傳遞給另一個區塊鏈,理想情況下,這種跨區塊鏈通信是去中心化的,因為不需要信任中心化的一方來確保資訊的有效性,在本節中,我們將詳細介紹用于跨區塊鏈通信的現有解決方案,并描述如何利用這些解決方案以去中心化的方式支持事務包含驗證,

3.3.1 區塊鏈中繼

區塊鏈中繼是實作事物包含驗證的一種跨區塊鏈通信技術, 區塊鏈中繼通過一組鏈下客戶端連續地將塊頭中繼從源區塊鏈到目標塊鏈來操作,從而導致源區塊鏈復制到目標塊鏈中, 每個塊頭中繼根據源區塊鏈的驗證規則在目標區塊鏈上進行驗證, 由于塊頭不包含任何事務,因此在目標區塊鏈上只消耗了存盤完整塊所需空間的一小部分,

3.3.2 神諭Oracles

在基于投票的oracle中,如果想要驗證在源區塊鏈src中包含某些事務tx的目標區塊鏈上的智能合約,區塊鏈將通過發布問題“tx是否包含在區塊鏈src中并被足夠多的后續塊確認?”開始投票,這時這個問題轉換為目標服務器區塊鏈上的特殊oracle合約,oracle合約開始了一個投票期,在此期間,其他用戶可以上傳他們的答案(是或否),當投票結束時,得票最多的答案獲勝,并回傳到開始投票的合約中,為獲勝答案投票的用戶將獲得獎勵,所以這是一種激勵機制,即提交一份可能被大多數人投票的答案,有機會獲得獎勵,
基于投票的oracle的挑戰包括女巫攻擊(如果網路中存在一個惡意節點,那么同一個惡意節點可以具有多重身份,就如電影里的女主角都可以分裂出16個身份,原來需要備份到多個節點的資料被欺騙地備份到了同一個惡意節點(該惡意節點偽裝成多重身份),這樣一來作惡的節點,就有可能掌握網路的控制權)或懶惰投票攻擊,

4、評估

本節根據定義的需求評估提議的跨區塊鏈資產轉移協議,并進行定量分析,評估轉移成本和持續時間,為了進行分析,提供了基于evm的區塊鏈(如以太坊和以太坊經典)協議的成熟的概念,用于獲得4.3節所述結果的原型和評估腳本可以在GitHub2上的開源專案中獲得,

4.1 原型

優點:
基于evm的區塊鏈的優勢是雙重的,
首先,基于evm的區塊鏈,如以太坊,是當今在去中心化應用(DApps)和數字資產方面最受歡迎的區塊鏈之一,因此,基于evm的區塊鏈的跨區塊鏈傳輸能力可以增強大多數可用資產的效用,
第二個原因相當實際,由于存在相當多的基于evm的區塊鏈,多個區塊鏈可以通過一個單一的實作作為目標,
缺點:
然而,請注意,提議的協議對具體跨鏈通信的方法沒有任何限制, 只要區塊鏈提供足夠的腳本功能來實作協議的概念以及某種跨鏈通信(例如,oracle或中繼),解決方案就可以很容易地在基于evm的區塊鏈之外被采用,
以太坊中的交易由nonce, gasPrice, gasLimit, to, value, data和一個簽名(v, r, s)[36]組成,欄位資料包含事務的引數(例如,智能合約呼叫的引數),欄位包含了被事務呼叫的智能合約的地址(例如,在我們的協議中稱為合約(tx)的函式),事務的提交者(submitter(tx))可以從簽名欄位v、r和s中計算出來,
在這里插入圖片描述

4.2 需求分析

要求1:所有權
這個要求宣告了用戶(sender)必須擁有源區塊鏈src上的資產a的子集,然后用戶才能轉移它,
要求2:沒有申明就不銷毀
首先,驗證了txburn包含在源區塊鏈src中,并由足夠的塊確認(參見步驟2. (b)協議1第三條),
第二,協議檢查txburn確實在源區塊鏈src上呼叫了資產合同csrc(參見步驟2. (b)協議1第四條),
第三,檢查合約cdest驗證txburn的執行是否成功(參見步驟2. (b)協議1), 當且僅當它們已被源區塊鏈SRC上的合約CSRC成功銷毀時,這三個檢查確保資產只在目標區塊鏈dest上創建,
要求3:雙花預防
為了防止用戶通過重用相同的銷毀事務txburn,需要滿足兩個條件,
首先,不應該使用相同的銷毀事務txburn多次宣告目標區塊鏈dest上的資產,
其次,不應該使用txburn對除dest以外的任何區塊鏈資產進行申明,
為了確保第一個條件,在銷毀事務中已經使用的所有銷毀事務都存盤在資產合約cdest內的一個tburn集合中,當新的申明事務txclaim呼叫cdest時,它僅在提供的銷毀事務txburn還沒有包含在Tburn的情況下執行該申明(參見協議1的步驟2.(b)ii),
第二個條件是通過在銷毀事務中編碼所需目標區塊鏈dest的識別符號來實作的,當包含txburn的申明事務呼叫某個區塊鏈b中的資產合約cb時,cb可以通過比較b = dest(協議1的步驟2.(b)i)來驗證它是否是預期的目標合約,如果不是,則申明被拒絕,
由于協議確保了這兩個條件,因此也可以認為滿足了需求3,
要求4:去中心化的確定性
去中心化的確定性要求每個成功執行的源區塊鏈src的銷毀事務txburn的轉移最終由提交到目標區塊鏈dest的相應銷毀事務txclaim完成,并且這個結束程序不依賴于某一個參與者,對于最終性的分析,我們使用了BAR (Byzantine, Altruistic, Rational分布式記錄賬本)模型,該模型已經在區塊鏈協議和擴展的安全性分析中得到了應用,在這個模型下,拜占庭用戶可以出于任何原因任意地離開協議,例如,他們可能是錯誤的或惡意的;無私的用戶遵守協議規則,不管不遵守規則是否會導致更高的利潤;而理性的用戶目的是最大化使用函式的利潤,這意味著如果他們認為這么做的利潤比遵循協議規則高,他們就會不遵守協議,
因此,即使動機完全一致,也不能保證理智用戶遵守協議規則,事實上,建立一個開放的、無許可的系統來抵御所有潛在的不遵守協議規則的參與者從根本上就顯得很重要, 因此,在我們的協議中,不僅允許直接參與轉移的用戶可以發布申明事務,而且系統的任何用戶都可以這樣做, 這提供了更強的確定性性保證,因為最終確定不依賴于單個表現誠實的用戶, 相反,如果所有用戶中有一個用戶可以無私的確保確定性,那就足夠了,
要求5:轉讓確認(可選)

在協議1中,只有目的區塊鏈才知道何時完成轉移, 源區塊鏈src沒有辦法知道最終的結果, 因此,我們提議協議2作為協議1的延伸,以滿足向src提供最后確認的額外要求, 確認以提交給src的額外事務txconfirm的形式發生,
為了滿足需求2,資產合約csrc在被確認事務txconfirm呼叫時會執行以下檢查, 首先,csrc驗證txclaim是被包含在區塊鏈dest中,并由足夠的區塊確認(參見步驟3, (b)協議2iii), 第二,合約驗證了所提供的申明事務txclaim確實在區塊鏈dest上呼叫了資產合約cdest(參見步驟3, (b)協議2 iv), 第三,csrc檢查txclaim已在區塊鏈dest上成功執行(見步驟3.(b)v協議2 ), 由于這些適當的檢查,要求2也適用于確認事物的支持,為了滿足需求3,不應該在區塊鏈src上多次使用相同的申明事務txclaim,也不應該可能在src以外的任何區塊鏈上使用txclaim來確認是否轉移, 第一個條件是通過將已成功確認的每個申明事務txclaim添加到集合申明中確保(參見步驟3, (b)協議2viii), 每當呼叫csrc時,都會檢查txconfirm中提供的txclaim是否包含在Tclaim中(參見步驟3, (b)協議2i), 如果是,請求將被拒絕, 為了確保第二個條件,被txclaim中包含的銷毀事務呼叫的資產合約與csrc進行比較(參見步驟3, (b)協議2), 如果它們匹配,csrc是最終確認的預期接收方,

4.3 定量分析

在公共以太坊測驗網路Rinkeby和Ropsten之間進行跨鏈資產轉移, 對于以太網虛擬機(EVM)和塊間時間(約15秒),Rinkeby和Ropsten是相同的, 主要區別是采用的一致性演算法, Rinkeby使用權威證明(Po A),Ropsten使用作業量證明(Po W), 然而,智能合約的執行獨立于一致性演算法, 因此,評估一個方向的轉移提供了對轉讓成本和持續時間的充分估計, 本文的評估包括進行500次將1個ERC20令牌從Rinkeby轉移到Ropsten,即銷毀和確認事務提交給Rinkeby,而申明事務則放在Ropsten上, 出于簡單的原因,由于協議擴展(協議2)也包括協議1的步驟,我們只使用協議擴展的實作(參見Protocol2.sol6)進行實驗, 相應的智能合同已經部署在Rinkeby和Ropsten上,

4.3.1轉移成本

對于每一次轉移的執行,我們測量所有三種事務型別的燃料消耗, 所獲得的結果如下圖所示,
在這里插入圖片描述

執行txburn是最便宜的,其次是txclaim,其次是txconfirm, 價格差異可以通過每個事務型別的不同有效載荷來解釋, 由于txburn的有效載荷不包括任何其他事務和證明資料,因此需要將較少的資料傳遞給資產合約并由其處理,從而導致較低的燃料消耗, 相反,txclease包含txburn以及txburn和txconfirm的證明資料,以及相應的證明資料,導致總的燃料消耗較高,事物包含驗證的燃料消耗取決于跨區塊鏈通信的具體手段,即在我們的例子中:Testium中繼, 需要成員資格的Merkle證明作為證明資料傳遞給中繼, 因此,中繼的燃料消耗不僅包括執行成本,而且還包括執行所需資料的成本, 在我們的情況下,中繼的燃料消耗高于單獨協議的氣體消耗, 其他包含驗證機制可能表現出不同的燃料消耗,

4.3.2轉移的持續時間

圖5顯示了每個事務型別以及兩個協議的平均持續時間, 平均持續時間91秒(標準差9秒),銷毀事物明顯達到最小持續時間,其次是確認(平均持續時間114秒,標準差22秒),其次是申明事物(平均持續時間191秒,標準差103秒), 申明和確認事物的持續時間在很大程度上取決于使用的事物包含驗證機制, 如果使用其他機制,如基于投票的oracle,這些事務型別的持續時間可能會改變,協議1的總持續時間是通過銷毀和申明事物的持續時間的和來計算的,而協議2的總持續時間也包含確認事物的持續時間, 這產生了協議1的平均傳輸持續時間282秒(標準差103秒)和協議2的平均持續時間395秒(標準差106秒, 與協議2的轉移顯然需要更長的時間,因為需要額外的事物,
在這里插入圖片描述

5 相關作業文獻

在這里插入圖片描述

6、結論

在這項作業中,我們定義了跨區塊鏈資產轉移協議的一般要求和規范,通過提供所提議的協議的概念驗證實作,我們已經表明,諸如去中心化的確定性和轉移確認之類的要求可以在不依賴于集中式物體的情況下得到滿足,通過將該協議從跨區塊鏈通信的特定手段中分離出來,該協議可以被廣泛地用于、區塊鏈,在未來的作業中,我們將研究如何擴展這項作業的概念,以提供超越資產轉移的互操作性,例如區塊鏈之間的通用訊息傳遞,

個人體會

對于現在存在的對特定資產和特定通信的轉移技術,由于不能滿足大部分情況,本文定義了一個協議和一個協議擴展來滿足大部分的情況,
簡單來說,協議一是源區塊鏈的用戶向目標區塊鏈轉移資產時,首先應在源區塊鏈銷毀對應的資產事物,然后才可以從目標區塊鏈增加對應的資產事物,
而協議擴展是在上一個協議完成后,向源區塊鏈發送獎勵以確認資產確實成功轉移,
本文通過區塊鏈中繼提供了事務包含驗證,且用到了投票方法以確保事務包含在區塊鏈中,對協議進行了需求分析、定量分析、時間和成本分析,最后得出結論協議2耗費比協議一高,但是此協議是可行的,可以被廣泛地用于區塊鏈中,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/237699.html

標籤:區塊鏈

上一篇:Linux常用環境變數

下一篇:事件驅動的雙均線策略示例

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • JAVA使用 web3j 進行token轉賬

    最近新學習了下區塊鏈這方面的知識,所學不多,給大家分享下。 # 1. 關于web3j web3j是一個高度模塊化,反應性,型別安全的Java和Android庫,用于與智能合約配合并與以太坊網路上的客戶端(節點)集成。 # 2. 準備作業 jdk版本1.8 引入maven <dependency> < ......

    uj5u.com 2020-09-10 03:03:06 more
  • 以太坊智能合約開發框架Truffle

    前言 部署智能合約有多種方式,命令列的瀏覽器的渠道都有,但往往跟我們程式員的風格不太相符,因為我們習慣了在IDE里寫了代碼然后打包運行看效果。 雖然現在IDE中已經存在了Solidity插件,可以撰寫智能合約,但是部署智能合約卻要另走他路,沒辦法進行一個快捷的部署與測驗。 如果團隊管理的區塊節點多、 ......

    uj5u.com 2020-09-10 03:03:12 more
  • 谷歌二次驗證碼成為區塊鏈專用安全碼,你怎么看?

    前言 谷歌身份驗證器,前些年大家都比較陌生,但隨著國內互聯網安全的加強,它越來越多地出現在大家的視野中。 比較廣泛接觸的人群是國際3A游戲愛好者,游戲盜號現象嚴重+國外賬號安全應用廣泛,這類游戲一般都會要求用戶系結名為“兩步驗證”、“雙重驗證”等,平臺一般都推薦用谷歌身份驗證器。 后來區塊鏈業務風靡 ......

    uj5u.com 2020-09-10 03:03:17 more
  • 密碼學DAY1

    目錄 ##1.1 密碼學基本概念 密碼在我們的生活中有著重要的作用,那么密碼究竟來自何方,為何會產生呢? 密碼學是網路安全、資訊安全、區塊鏈等產品的基礎,常見的非對稱加密、對稱加密、散列函式等,都屬于密碼學范疇。 密碼學有數千年的歷史,從最開始的替換法到如今的非對稱加密演算法,經歷了古典密碼學,近代密 ......

    uj5u.com 2020-09-10 03:03:50 more
  • 密碼學DAY1_02

    目錄 ##1.1 ASCII編碼 ASCII(American Standard Code for Information Interchange,美國資訊交換標準代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統,并等同于國際標準ISO/IE ......

    uj5u.com 2020-09-10 03:04:50 more
  • 密碼學DAY2

    ##1.1 加密模式 加密模式:https://docs.oracle.com/javase/8/docs/api/javax/crypto/Cipher.html ECB ECB : Electronic codebook, 電子密碼本. 需要加密的訊息按照塊密碼的塊大小被分為數個塊,并對每個塊進 ......

    uj5u.com 2020-09-10 03:05:42 more
  • NTP時鐘服務器的特點(京準電子)

    NTP時鐘服務器的特點(京準電子) NTP時鐘服務器的特點(京準電子) 京準電子官V——ahjzsz 首先對時間同步進行了背景介紹,然后討論了不同的時間同步網路技術,最后指出了建立全球或區域時間同步網存在的問題。 一、概 述 在通信領域,“同步”概念是指頻率的同步,即網路各個節點的時鐘頻率和相位同步 ......

    uj5u.com 2020-09-10 03:05:47 more
  • 標準化考場時鐘同步系統推進智能化校園建設

    標準化考場時鐘同步系統推進智能化校園建設 標準化考場時鐘同步系統推進智能化校園建設 安徽京準電子科技官微——ahjzsz 一、背景概述隨著教育事業的快速發展,學校建設如雨后春筍,隨之而來的學校教育、管理、安全方面的問題成了學校管理人員面臨的最大的挑戰,這些問題同時也是學生家長所擔心的。為了讓學生有更 ......

    uj5u.com 2020-09-10 03:05:51 more
  • 位元幣入門

    引言 位元幣基本結構 位元幣基礎知識 1)哈希演算法 2)非對稱加密技術 3)數字簽名 4)MerkleTree 5)哪有位元幣,有的是UTXO 6)位元幣挖礦與共識 7)區塊驗證(共識) 總結 引言 上一篇我們已經知道了什么是區塊鏈,此篇說一下區塊鏈的第一個應用——位元幣。其實先有位元幣,后有的區塊 ......

    uj5u.com 2020-09-10 03:06:15 more
  • 北斗對時服務器(北斗對時設備)電力系統應用

    北斗對時服務器(北斗對時設備)電力系統應用 北斗對時服務器(北斗對時設備)電力系統應用 京準電子科技官微(ahjzsz) 中國北斗衛星導航系統(英文名稱:BeiDou Navigation Satellite System,簡稱BDS),因為是目前世界范圍內唯一可以大面積提供免費定位服務的系統,所以 ......

    uj5u.com 2020-09-10 03:06:20 more
最新发布
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:46:47 more
  • Hyperledger Fabric 使用 CouchDB 和復雜智能合約開發

    在上個實驗中,我們已經實作了簡單智能合約實作及客戶端開發,但該實驗中智能合約只有基礎的增刪改查功能,且其中的資料管理功能與傳統 MySQL 比相差甚遠。本文將在前面實驗的基礎上,將 Hyperledger Fabric 的默認資料庫支持 LevelDB 改為 CouchDB 模式,以實作更復雜的資料... ......

    uj5u.com 2023-04-16 07:28:31 more
  • .NET Core 波場鏈離線簽名、廣播交易(發送 TRX和USDT)筆記

    Get Started NuGet You can run the following command to install the Tron.Wallet.Net in your project. PM> Install-Package Tron.Wallet.Net 配置 public reco ......

    uj5u.com 2023-04-14 08:08:00 more
  • DKP 黑客分析——不正確的代幣對比率計算

    概述: 2023 年 2 月 8 日,針對 DKP 協議的閃電貸攻擊導致該協議的用戶損失了 8 萬美元,因為 execute() 函式取決于 USDT-DKP 對中兩種代幣的余額比率。 智能合約黑客概述: 攻擊者的交易:0x0c850f,0x2d31 攻擊者地址:0xF38 利用合同:0xf34ad ......

    uj5u.com 2023-04-07 07:46:09 more
  • Defi開發簡介

    Defi開發簡介 介紹 Defi是去中心化金融的縮寫, 是一項旨在利用區塊鏈技術和智能合約創建更加開放,可訪問和透明的金融體系的運動. 這與傳統金融形成鮮明對比,傳統金融通常由少數大型銀行和金融機構控制 在Defi的世界里,用戶可以直接從他們的電腦或移動設備上訪問廣泛的金融服務,而不需要像銀行或者信 ......

    uj5u.com 2023-04-05 08:01:34 more
  • solidity簡單的ERC20代幣實作

    // SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; import "hardhat/console.sol"; //ERC20 同質化代幣,每個代幣的本質或性質都是相同 //ETH 是原生代幣,它不是ERC20代幣, ......

    uj5u.com 2023-03-21 07:56:29 more
  • solidity 參考型別修飾符memory、calldata與storage 常量修飾符C

    在solidity語言中 參考型別修飾符(參考型別為存盤空間不固定的數值型別) memory、calldata與storage,它們只能修飾參考型別變數,比如字串、陣列、位元組等... memory 適用于方法傳參、返參或在方法體內使用,使用完就會清除掉,釋放記憶體 calldata 僅適用于方法傳參 ......

    uj5u.com 2023-03-08 07:57:54 more
  • solidity注解標簽

    在solidity語言中 注釋符為// 注解符為/* 內容*/ 或者 是 ///內容 注解中含有這幾個標簽給予我們使用 @title 一個應該描述合約/介面的標題 contract, library, interface @author 作者的名字 contract, library, interf ......

    uj5u.com 2023-03-08 07:57:49 more
  • 評價指標:相似度、GAS消耗

    【代碼注釋自動生成方法綜述】 這些評測指標主要來自機器翻譯和文本總結等研究領域,可以評估候選文本(即基于代碼注釋自動方法而生成)和參考文本(即基于手工方式而生成)的相似度. BLEU指標^[^?88^^?^]^:其全稱是bilingual evaluation understudy.該指標是最早用于 ......

    uj5u.com 2023-02-23 07:27:39 more
  • 基于NOSTR協議的“公有制”版本的Twitter,去中心化社交軟體Damus

    最近,一個幽靈,Web3的幽靈,在網路游蕩,它叫Damus,這玩意詮釋了什么叫做病毒式營銷,滑稽的是,一個Web3產品卻在Web2的產品鏈上瘋狂傳銷,各方大佬紛紛為其背書,到底發生了什么?Damus的葫蘆里,賣的是什么藥? 注冊和簡單實用 很少有什么產品在用戶注冊環節會有什么噱頭,但Damus確實出 ......

    uj5u.com 2023-02-05 06:48:39 more