主頁 > 區塊鏈 > 《On-device federated learning via blockchain and its latency analysis》論文筆記

《On-device federated learning via blockchain and its latency analysis》論文筆記

2021-01-31 11:00:12 區塊鏈

文章目錄

  • 1、ABSTRACT AND INTRODUCTION
  • 2、ARCHITECTURE AND OPERATION
    • 2.1 FL operation in Block FL
    • 2.2 Blockchain operation in Block FL
    • 2.3 One-epoch Block FL operation
  • 3、END-TO-END LATENCY ANALYSIS
    • 3.1 One-epoch Block FL latency model
    • 3.2 Latency optimal block generation rate
  • 4、NUMERICAL RESULTS AND DISCUSSION
  • 5、REFERENCES


基于區塊鏈的聯邦學習體系架構

1、ABSTRACT AND INTRODUCTION

機器模型:
缺點:
1、 需要中央協調

?易受集中服務器故障影響
? 由此產生不準確的全域模型更新扭曲了區域模型更新,可能導致整個訓練崩潰
👇🏻👇🏻👇🏻
這就需要分布式FL體系結構

2、 需要大量的資料樣本,并且需要與其他設備進行資料樣本交換

?在沒有提供與樣本數量成比例的適當補償的情況下,這種設備不太愿意與擁有少量資料樣本的其他設備聯合

?補償機制帶來的副作用, 一些不誠實的設備偽造具有比實際樣本大小更多的資料樣本,從而在FL產生不準確的全域模型更新
👇🏻👇🏻👇🏻
為了解決私有交換和獎勵機制的問題,利用區塊鏈而不是中央物體

作者提出:block-chained federated learning(BLOCK FL)
?移動設備的本地學習模型更新通過利用區塊鏈來交換和驗證

?無中央協調通過交換本地資料來訓練每個設備的本地模型
challenges
※ 本地資料樣本歸每個設備所有
交換時對其他設備保密原始資料樣本
※本地設備的獎勵系統
具有大量資料樣本的設備對全域模型訓練更大,同時消耗更多的計算能力和時間
圖一

Google’FL Vanilla FL
? 每個設備可以交換其本地模型更新,即學習模型的權重和梯度引數
比原始資料模型更加注重隱私

? global model:通過中央服務器聚集所有區域模型更新并取總體平均值,產生全域模型更新
? local model:每個設備下載全域模型更新,并計算其下一個區域更新直到全域模型訓練完成
eg:通過分布式隨機梯度下降(SGD)

Block FL架構

?Block FL的邏輯結構由移動設備和礦工組成,礦工可以是隨機選擇的設備,也可以是獨立的節點,
?區塊鏈網路允許交換設備的本地模型更新,同時能夠驗證和提供他們相應的獎勵,

Block FL具體操作如下:

1、Block FL中每個設備計算本地模型更新并將其上傳到區塊鏈網路中與其關聯的礦工
同時作為回報,從礦工接受與其資料樣本數量成比例的資料獎勵
2、礦工交叉驗證所有本地模型更新,然后運行作業證明演算法(pow)
3、一旦礦工完成pow,它生成一個塊,在該塊中記錄已驗證的本地更新,并從區塊鏈網路中接收采礦獎勵
4、最終,存盤聚合本地模型更新的生成塊被添加到區塊鏈,也稱為分布式賬本,并由設備下載,每個設備從最新的塊計算全域模型更新,這是下一個本地模型更新的輸入,
※Block FL全域模型更新是在每個設備本地計算的

因此,礦工/設備在全域模型更新中的故障不會影響其他設備的區域全域模型更新,從而確保整體訓練的健壯性,

但與普通FL相比,Block FL需要支付區塊鏈網路產生的額外延遲

為了解決這個問題,Block FL的端到端的延遲模型是通過考慮FL模型和區塊鏈操作期間的通信,計算和POW延遲來制定,通過調整區塊生成速率(即POW難度),最大限度減少延遲

2、ARCHITECTURE AND OPERATION

2.1 FL operation in Block FL

在這里插入圖片描述

Di的本地模型更新被上傳到其相關聯的礦工Mi

If ?礦工在物理上與設備相同 M=D,否則M!=S
Then ?通過礦工驗證和交換本地模型更新的總數ND
Finally 聚集的本地模型更新從每個礦工下載到其相關聯的設備

方便起見,分布式模型訓練集以并行方式解決線性回歸問題
在這里插入圖片描述
為了解決上述回歸問題,與[4]中谷歌的普通FL一樣
(1)設備Di學習模型通過隨機方差消減梯度演算法(SVRE) 用其資料樣本所設定的Si進行局本訓練

(2)使用分布式擬牛頓法(DANE)方法聚合所有設備的區域模型更新,產生全域模型更新

2.2 Blockchain operation in Block FL

?在BlockFL的區塊鏈網路中,區塊及其M中礦工的驗證旨在通過分布式帳本真實是的交換本地模型更新,
賬本中的每個塊都分為它的區塊頭和區塊體部分,
在傳統的區塊鏈結構中[9],區塊體部分包含一個經過驗證的交易串列,在BlockFL中,區塊體存盤了D中設備的本地模型更新,即為??????
Alt
?按照[7]的結構,區塊頭部分包含前一個塊的指標資訊,塊生成率λ和POW演算法的輸出值(nonce),
為了存盤所有設備的本地模型更新,每個塊大小設為
在這里插入圖片描述
↓ ?↓
頭部和模型更新大小

?每一個礦工都有一個候選塊,該塊按照到達的順序提供了來自其關聯設備或者其他礦工的本地模型更新,
?填充程序一直持續到它到達塊的大小或者每個周期開始測量的最大等待時間,簡單起見,假設最大等待時間足夠長,以便每塊總是被所有設備的本地模型更新填滿,

?之后,按照PoW演算法 [7],礦工繼續生成亂數,直到該亂數nonce變得小于目標值,一旦礦工M1成功地找到這個亂數,它的候選塊就被允許生成為新塊
?如圖2所示,這里,可以通過調整pow難度來控制塊生成速率λ,
? eg:pow目標值越低,λ越小,

?接下來,將生成的塊傳播給所有其他礦工,以便同步他們所有的分布式帳本,為此,正如在[7]中所做的那樣,所有接收生成塊的礦工都被迫停止他們的PoW操作,并將生成塊添加到他們的本地賬本中,
在這里插入圖片描述
?如果另一個礦工M2在第一個生成的塊的傳播延遲內成功地生成了它的區塊,那么一些礦工可能會錯誤地將第二個生成的塊添加到它們的本地賬本中,這被稱為forking(分叉),在BlockFL中,forking使一些設備將不正確的全域模型更新應用到它們的下一個區域模型更新,forking頻率隨著λ和塊傳播延遲的增加而增加,其級訓會產生額外的延遲,

?除了本地模型更新交換操作外,區塊鏈網路還對設備的資料樣本提供獎勵,對礦工的驗證程序提供獎勵,分別稱為資料獎勵和采礦獎勵,設備Di的資料獎勵從其關聯的礦工接收,其數量與資料樣本大小Ni成正比,當礦工Mj生成一個塊時,它的采礦獎勵由區塊鏈網路獲得,就像傳統的區塊鏈結構[7]一樣,

采礦獎勵的數量與其所有關聯設備的資料樣本總量成正比,即
在這里插入圖片描述
?其中NMj表示與礦工 Mj關聯的設備數量,這促使礦工收集更多的本地模型更新,同時補償他們的資料獎勵支出,

?作為獎勵系統的一個副作用,一些不誠實的設備可能通過夸大用于本地模型資料的實際樣本大小或者在不進行本地學習計算的情況下生成任意的本地模型更新來欺騙礦工,礦工在將本地模型更新存盤在其候選塊中之前,會驗證真實的本地更新,

?驗證是通過將樣本大小Ni 與其相應的本地計算時間Tloacl進行比較來執行的,這被認為是真實的,在例如Intel的SGX技術[14]下,經過時間的證明[13],

2.3 One-epoch Block FL operation

設備Di在每一輪周期Block FL的7個步驟

0.初始化:初始引數從預定義的范圍均勻隨機選擇,對于一個常數,區域模型和全域模型權重
在這里插入圖片描述
以及全域梯度
在這里插入圖片描述

1.本地模型更新:設備Di用Ni的迭代次數計算(2)
在這里插入圖片描述

2.本地模型上傳:設備Di 與礦工Mi 均勻隨機關聯
If M=D, 則從 M\Di 中挑選Mi

設備上傳本地模型更新 及相應的本地計算時間Tlocal,i 到其相關聯的礦工
3. 交叉驗證:礦工廣播從其相聯設備獲得的本地模型更新,同時,礦工按照到達的順序驗證從他們相關聯的設備或其他礦工接收到的本地模型更新,
4.
如果區域模型計算時間Tlocal,i與資料樣本大小Ni成正比, 區域模型更新的真實性得到驗證,
已驗證的本地模型更新記錄在礦工的候選區塊中,直到其達到區塊大小 或最大等待時間Twait,
5. 塊生成:每個礦工運行POW,直到找到亂數nonce或從另一個礦工收到生成塊,
6. 塊傳播:首次找到nonce的礦工的候選塊被作為新塊并傳播給其他礦工,礦工從區塊鏈網路上獲得挖礦獎勵(mining reward),為了避免鏈分叉,一旦每個礦工接收到新的塊或當每個礦工沒有檢測到分叉事件時,就發送一個ACK確認信號,包括是否發生forking,
每個礦工等待,直到收到所有礦工的確認信號;否則,操作從步驟1重新開始,
7. 全域模型下載:設備Di從其相關聯的礦工下載生成的區塊
8. 全域模型更新:設備Di在(3)中通過使用存盤在生成區塊的聚合區域模型更新來計算全域模型更新,
在這里插入圖片描述

當全域權重W 滿足
Alt
周期程序停止,

?集中式FL結構容易收到服務器故障的影響,以至于扭曲所有設備的全域模型更新,

?與此相比,Block FL中每個設備都在本地計算它的全域模型更新,因此對于取代服務器物體的礦工的故障來說更加健壯,


3、END-TO-END LATENCY ANALYSIS

3.1 One-epoch Block FL latency model

在這里插入圖片描述

3.2 Latency optimal block generation rate

單周期延遲運算式,目標是為了推匯出最優塊生成速率 λ *,使設備D0第l 個周期pow程序的平均延遲最小,
在這里插入圖片描述
?pow程序會影響塊生成延遲,快傳播延遲以及分叉forking發生的數量,這些因礦工中成功者M0相互依賴,
?為了避免上述困難,所有礦工通過調整Twait同步啟動他們pow行程
使得
在這里插入圖片描述
?在這種情況下,即使是較早完成交叉驗證的礦工也會一直等待到Twait,從而提供了性能的下界,即延遲的上界,

4、NUMERICAL RESULTS AND DISCUSSION

用數值方法評估了所提出的Block FL的平均學習完成延遲


圖3顯示了塊生成速率 λ 對Block FL 的平均學習完成延遲的影響

?在圖3-a中,我們觀察到延遲影像在 λ 上呈凸形,并且隨著信噪比(SNR)的增加而減少,
?在圖3-b中,對于最佳塊生成速率 λ *,從 Proposition 1中獲得的最小平均學習完成延遲時間總是比在沒有近似情況下模擬的最小延遲時間長1.5%,


圖4分別說明了BlockFL在礦工和設備的數量NM和ND方面的可擴展性,

?

  1. 在圖4-a中,計算了在NM= 1和NM= 10條件下,無論礦工是否發生故障,平均學習完成延時,
  2. 故障時可以通過添加高斯噪聲N(?0.1,0.01)到每個礦機的本地模型更新的聚合概率為0.5來捕捉,
  3. 在沒有任何故障的情況下,礦工較多時會由于它們的交叉驗證和塊傳播延遲的增加而增加延遲,
  4. 在礦工的故障情況下,這一點并不總是成立,
  5. 在BlockFL中,每個礦工的故障只會扭曲其關聯設備的全域模型更新,這種扭曲可以通過與礦工正常作業的其他設備聯合來恢復,由于這個原因,礦工數量較多時能實作更短的延遲,正如觀察到的故障時NM=10,

?更多的設備數量ND可能由于使用了更多的資料樣本而降低了學習完成延遲,
?與此同時,增加了每個區塊的大小,即通信有效載荷,從而導致更高的塊交換延遲,從而導致相對于ND的延遲模型呈凸形,

?在這方面,適當的設備選擇有可能減少延遲,如[5],[10]所研究的,

?最后,從圖4-b可以看出,隨著每個設備的本地模型尺寸δm的增加,延遲增加,

5、REFERENCES

[1] P . Popovski, J. J. Nielsen, C. Stefanovic, E. de Carvalho, E. G. Str?m,
K. F. Trillingsgaard, A. Bana, D. Kim, R. Kotaba, J. Park, and R. B.
S?rensen, “Wireless Access for Ultra-Reliable Low-Latency Communi-
cation (URLLC): Principles and Building Blocks,” IEEE Netw., vol. 32,
pp. 16–23, Mar. 2018.
[2] M. Bennis, M. Debbah, and V . Poor, “Ultra-Reliable and Low-Latency
Wireless Communication: Tail, Risk and Scale,” [Online]. Available:
https://arxiv.org/abs/1801.01270.
[3] J. Park, D. Kim, P . Popovski, and S.-L. Kim, “Revisiting Frequency
Reuse towards Supporting Ultra-Reliable Ubiquitous-Rate Communica-
tion,” in Proc. IEEE WiOpt Wksp. SpaSWiN, Paris, France, May 2017.
[4] J. Koneˇ cn′ y, H. B. McMagan, D. Ramage, “Federated Optimization:
Distributed Machine Learning for On-Device Intelligence,” [Online].
Available: https://arxiv.org/abs/1610.02527.
[5] H. B. McMahan, E. Moore, D. Ramage, S. Hampson, B. A.y Arcas,
“Communication-Efficient Learning of Deep Networks from Decentral-
ized Data,” in Proc. AISTATS, F ort Lauderdale, FL, USA, Apr. 2017.
[6] J. Chen, R. Monga, S. Bengio, and R. Jozefowicz, “Revisiting Dis-
tributed Synchronous SGD,” in Proc. ICLR, San Juan, Puerto Rico,
May 2016.
[7] S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” [On-
line]. Available: https://bitcoin.org/bitcoin.pdf.
[8] C. Decker, and R. Wattenhofer, “Information Propagation in the Bitcoin
Network,” in Proc. IEEE P2P , Trento, Italy, Sep. 2013.
[9] S. Samarakoon, M. Bennis, W. Saad, and M. Debbah, “Distributed
Federated Learning for Ultra-Reliable Low-Latency V ehicular Commu-
nications,” [Online]. Available: https://arxiv.org/abs/1807.08127.
[10] T. Nishio, R. Y onetani, “Client Selection for Federated Learning
with Heterogeneous Resources in Mobile Edge,” [Online]. Available:
https://arxiv.org/abs/1804.08333., 2018.
[11] R. Johnson and T. Zhang, “Accelerating Stochastic Gradient Descent
Using Predictive V ariance Reduction,” in Proc. NIPS, Lake Tahoe, NV ,
USA, Dec. 2013.
[12] O. Shamir, N. Srebro, and T. Zhang, “Communication-Efficient Dis-
tributed Optimization Using An Approximate Newton-Type Method,”
in Proc. ICML, Beijing, China, Jun. 2014.
[13] L. Chen, L. Xu, N. Shah, Z. Gao, Y . Lu, and W. Shi, “On Security
Analysis of Proof-of-Elapsed-Time,” in Proc. SSS, Boston, MA, USA,
Nov. 2017.
[14] V . Costanand, and S. Devadas, “Intel SGX Explained,” Cryptologye
Print Archive Report 2016/086, 2016.
[15] 3GPP TS 36.300 v13.4.0, “E-UTRA and E-UTRAN; Overall Descrip-
tion; Stage 2,” Tech. Rep., 2016.

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

標籤:區塊鏈

上一篇:利用networkx建立位元幣交易有向多重圖

下一篇:ubuntu中Hyperledger Fabric2.2環境搭建

標籤雲
其他(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