主頁 > 區塊鏈 > 從白皮書的視角看“隱藏鏈”和“雙花”

從白皮書的視角看“隱藏鏈”和“雙花”

2021-08-22 08:04:27 區塊鏈

在這里插入圖片描述

發表時間:2021年8月13日
資訊來源:bitcoinsv.io


簡介

Bitcoin SV最近遭到了攻擊,攻擊者擁有大量算力,試圖騙取價值數百萬美元的BSV,像這樣的事件總是迫使你以全新的方式重新思考位元幣的基礎和原理,

本文將概述攻擊程序和為抵御攻擊所做的動員和努力,討論為了促成最侄訓極的結果而采取的應對措施,我們還重新審視了位元幣白皮書,探尋在這樣的攻擊場景下應該如何正確的回應,

簡而言之,我完全相信礦工會按照白皮書的指引行事,我比以往任何時候都更有信心,即便面對攻擊者擁有壓倒性優勢算力的情況,位元幣也依舊牢固且有生命力,


背景

第一次攻擊

2021年6月24日,BSV主網發生了4個區塊的重組,看起來與使用Hat??hor協議聚合挖礦的新礦工“Zulupool”有關,當時,它們的節點有著大量的算力但連通性不好,所以區塊重組只是個意外,Bitcoin SV基礎架構團隊聯系了該礦工,希望提供技術支持以改善他們與其他礦工的連通性,但沒有收到回復,

7月的第一周,又發生了多次類似長度的區塊重組,我們再次聯系了Zulupool,但他們卻表示這些區塊并不是自己生產的,攻擊者通過在coinbase交易中使用“Zulupool”的名字和支付地址來冒充他們從而混淆視聽,我們認為Zulupool的說法是可信的,他們實際上并沒有挖出與重組有關的區塊,原因會在下文解釋,

Bitcoin SV基礎架構團隊立即設定了檢查雙花交易的工具,同時聯系位元幣協會和BSV礦工,建立起合適的交流反饋渠道,位元幣協會同時向各交易所發出預警,讓他們留意和識別是否有可疑的雙花交易,在第一次攻擊后,我們就部署了工具來自動檢測和通知交易雙花,沒有任何受害者聯系我們告知他們遭受了損失,(后來從Bitmart數字資產交易所公開的法庭檔案中了解到,攻擊者通過將非法雙花的BSV交易成其他幣種,讓他們受到了損失,)

在這些工具準備妥當后,攻擊者消失了數周,

第二次攻擊

8月3日和4日,在三次不同的時間段,未知的惡意攻擊者秘密挖掘了包含雙花交易的隱藏鏈,這些雙花交易涉及價值數百萬美元的BSV,之后攻擊者在BSV網路上一次性的公布了這些長度暫時超過誠實鏈的隱藏鏈,這次,攻擊者冒充了誠實礦工TAAL,


回應

繼上次攻擊后,位元幣基礎架構團隊做了充足的準備,因此這次欺詐區塊被發布后幾秒就被團隊檢測到了,我們迅速聯系了愿意用自己的算力拒絕欺詐區塊的已知的誠實礦工,最終抵御了攻擊者的分叉,并成功防止了雙花的發生,與此同時,位元幣協會聯系了諸多交易所,告知他們正在發生的事情,并建議他們采取保護性措施,讓他們與大多數礦工的做法保持一致,

在8月3日和4日三次試圖從交易所盜取資金都失敗后,攻擊者最終放棄了嘗試,他們顯然已經意識到,誠實的礦工會拒絕包含雙花交易的隱藏區塊,

注意到在此期間,位元幣協會發布了誠實礦工用來拒絕攻擊者先前隱藏的、包含了雙花交易的區塊的命令,眾所周知,誠實礦工可能需要一些時間才能超越攻擊者的鏈,這也為其它(非礦工)Bitcoin SV節點運營商(例如監聽區塊的應用)提供了一種機制,可以選擇跟隨大多數誠實礦工在期望能成為最長鏈上持續構建的鏈,第二次攻擊沒有發生雙花,攻擊者花費了大約20萬美元,希望能通過欺詐獲得更大的經濟收益,但未能如愿,最終損失了20萬美元,與此同時,網路一直暢通無阻,不僅處理的交易量破了紀錄,甚至還誕生了創紀錄的1GB區塊,


位元幣白皮書對礦工行為的闡釋

負責執行位元幣協議規則的礦工,應根據位元幣白皮書中定義的“先見原則”(first seen rule),適時采取行動拒絕無效交易和包含無效交易的區塊,

什么是“先見原則”?

“先見原則”就是以“最先被看到”為原則,

當我們想決定一系列事件的順序時,要進行直接觀察來決定誰“最先被看到”,位元幣區塊鏈提供了一種機制,可以將對一組對等節點的直接觀察,轉換為一系列事件首次出現時的準確記錄,

在討論“先見原則”時,我們需要注意區分兩種主觀視角,

一種視角是在事件發生時參與者正在網路上活動,通過觀察他們能直接掌握誰先出現的第一手資訊,當兩個相關事件發生的間隔時間很長(超過廣播延遲)時,直接觀察的結果是無可爭議的,我們稱之為“觀察視角(point-of-view)”,

另一個視角是人們事后根據歷史得出的結論,我們稱之為“歷史視角”,由于他們在事件發生時并未出現,所以無法直接觀察事件發生的順序,只能以節點通過最長區塊鏈記錄下的資訊為依據,如果這些觀察者像他們最近一樣可靠的按照先見原則來產生記錄,那么對于兩個相關事件(雙花)誰先發生的問題,“觀察視角”和“歷史視角”將給出相同的結論,這正是位元幣的主要目的,通過順序正確的記錄,新加入網路的參與者可以準確的了解所有UTXO的狀態,確保他們在之后確認位元幣交易時,這些位元幣都是存在的并且都是尚未花費的,

在加入網路時,如果網路中同時存在多個具有爭議(相互競爭的區塊包含了雙花交易)的活躍鏈,新的參與者可能會對一小段“歷史視角”產會困惑,但這種情況比較少見并且可以在短時間內解決,而且解決爭議也僅與在此期間加入網路的礦工有關,其他的區塊鏈監聽者依舊只需要進行觀察,因為他們并不參與創建記錄,與此同時,對于絕大多數沒有爭議的交易,即使在這個視窗期產生,也依舊是清晰和明確的,

有趣的問題是,位元幣白皮書是否描述了“觀察視角”或“歷史視角”, 這引出了另一個問題:是否應該接受包含明顯錯誤記錄的更長的鏈,如果白皮書描述了“觀察視角”,那么毫無疑問,節點應該拒絕不正確的記錄(區塊),只有當你無法知道事件發生的順序必須依賴節點共識時,才需要“歷史視角”,

我自己的理解是,白皮書描述了一種將“歷史視角”轉換為可信記錄的機制,從而形成十分準確的“歷史視角”資料,

試想,如果“歷史視角”是決策機制,那么白皮書中的好幾處陳述都無法自圓其說,比如下面的幾段內容,

第1節:簡介

目標:

“一個點對點的分布式時間戳服務器對交易產生的時序生成可計算的證明”

注意到在生成時序證明之前,必須先通過對事件發生時的主觀觀察來確定事件發生的先后順序,大多數節點在當時接受了這些觀測結果(以區塊的形式)就是一種確認,意味著這些觀測結果是正確的,并且被當時網路中活躍的大多數觀測節點所認同,

利用點對點現金系統欺詐的定義:

“在計算上無法逆轉的交易將保護賣家免受欺詐”

也就是說,交易在接收和接受后發生逆轉,被作者視為欺詐,

第2節:交易

當雙花交易出現時對有效交易的定義:

“我們需要一種方式讓收款人知道以前的所有者沒有簽署任何更早的交易,就我們而言,最早的交易是最重要的交易,因此我們不關心后來的嘗試雙花的交易,”

請注意,最長的區塊鏈中不可能出現同一筆交易的兩個版本,僅從區塊時間戳也不能確切的斷定兩個競爭區塊實際誰先產生或誰先公開廣播,因此,這里的“最早”一詞僅適用于當時網路上活躍節點主觀觀察到的結果,

沒有對區塊中的交易賦予特殊權重或其他考慮來改變和覆寫“最早”的概念,

公開廣播的必要性:

*“確認沒有漏掉交易的唯一方式就是知道所有交易”

“所有交易”包括已確認的和未確認的交易,

“為了在沒有可信方的情況下實作這一目標,交易必須被公開”*

這種公開廣播至關重要,它讓網路上所有的活動節點都能進行主觀觀察,這使我們回到……

回到“目標”:

“收款人需要證據,能證明當時大多數節點都認同這個交易他們是第一次收到”

從收款人的角度來看這很重要,因為他們需要確認自己收到的位元幣是有效的,

再次重申,以雙花事件發生時網路中活躍節點的主觀觀測結果為依據,才有可能達成這個目標,這正是交易必須被公開宣布的原因,

第5節:網路

網路定義的說明:

“新交易被廣播到所有節點”

這非常明確,在廣播交易的同時隱藏相同交易的沖突版本違反了這條規則,而且定義明確說明了廣播的交易是有效的,隱藏的交易是無效的雙花交易,

區塊必須被廣播:

“當節點找到了區塊的作業量證明,就廣播給所有節點”

這條規則明確了何時需要廣播區塊,就是在找到一個有效的作業量證明并生成有效的區塊頭后,立即執行,

有效區塊包含的交易(里的資金)必須尚未花費:

“只有當區塊中的所有交易都有效且尚未花費時,節點才會接受該區塊,”

正如我們之前看到的,“尚未花費”是從觀察者角度的描述,如果他們之前觀察到了跟新區塊中任一交易相沖突的交易,則該區塊無效,

區塊競爭:

“如果兩個節點同時廣播了下一個區塊的不同版本,其他節點收到這些不同版本的區塊的順序是不同的,在這種情況下,他們會基于先收到的區塊繼續構建,但同時會保存其他分支以防止它在之后變得更長,當找到下一個作業量證明并且某個分支變得更長時,這種關系就會被打破;在其他分支上構建的節點就會切換到更長的鏈上,”

中本聰在本節沒有說明隱藏競爭區塊的情況,而只討論了幾乎同時廣播的競爭區塊,在截然不同的時間點看到競爭區塊的場景,僅在白皮書中抵御網路攻擊的章節里有所討論,

第11節:計算

位元幣白皮書明確了挖掘隱藏的區塊鏈是不誠實的:

“交易發出后,不誠實的發送者會開始在包含該交易替代版本的平行鏈上秘密挖掘”

秘密挖掘區塊的礦工被認為是“攻擊者”:

“了解攻擊者現在仍然可以追趕上的概率……”

第12節:總結

我們在這里又看到了對位元幣目標的描述:

“為了解決這個問題,我們提出了一個使用作業量證明的點對點網路來記錄交易的公共歷史,從計算能力的角度考慮,當誠實節點控制了大部分CPU算力時,這些交易就無法被攻擊者逆轉,”

時間戳服務器的目的是防止“攻擊者”更改在事件實際發生時,網路中的大多數節點都主觀觀察到并已認同的 “公共”歷史記錄,這些記錄包括被觀察到的事件(交易和區塊)的出現順序,這并不意味著成功的隱藏區塊攻擊應該被視為“誠實的”記錄,尤其是在事件發生時鏈上活躍的每個人都知道它是不誠實的,

有效的區塊:

“他們用自己的CPU算力投票,通過努力延長有效區塊來表示自己接受了這些區塊,并拒絕在無效區塊上構建”

這回到了有效區塊的定義,我們已經從第5節了解到:有效的區塊只包含有效的交易,還從第2節了解到:有效的交易一定是當時誠實的參與者主觀觀察到的任意一組雙花交易中最先被看到的交易,

最后讓我們跳回到摘要的最后一句話:

“節點可以隨意離開和重新加入網路,接受最長作業量證明的鏈作為他們離開后的網路事件的證明”

當你不在場時接受最長作業量證明的鏈作為網路事件的證明,和你身處事件發生程序中明知最長鏈無效卻依然接受它,這兩者有著明顯的區別,第1節中概述的目標是生成這樣的證明,并且當時處于活躍狀態的節點有責任生成該證明,白皮書明確指出,無效的歷史應該被意識到它們無效的節點拒絕,并在其位置寫入正確的歷史,確保正確的歷史可以成為最長作業量證明鏈的一部分,

這正是攻擊發生時,那時所有誠實的礦工所做的事,


代碼不是法律也不是位元幣的定義

位元幣是一個描述預期行為的經濟系統,因此軟體和演算法不會改變和覆寫這個特性,軟體本身是演算法的一種實作,它會在幾乎所有的情況下自動執行預設的目標,但演算法從來都不是完美的,在具有對抗性的系統中,嘗試用演算法對規則編碼可能會導致該演算法被有違本意的利用,被別有用心的人用來攻擊系統,現實情況是,有些規則也很難以預防攻擊的方式編碼,

根據規則編碼來自動檢測包含雙花交易的區塊并孤掉這個區塊便是一個例子,為了這個目標,我多次嘗試定義一個可行的規則集,這對于一般場景很容易做到,也會很好的保護用戶,但這可能被攻擊者利用,用精心策劃的攻擊讓區塊鏈分叉,

即便是先見原則本身,在網路延遲下也很難可靠的編碼,雖然在大多數情況下可以通過代碼強制讓區塊競爭來解決,但涉及多組雙花的復雜情況可能會引起兩組節點的持續不一致,最終導致永久分叉,我非常確信這就是為什么最初的位元幣會按當時那樣的方式編碼,而不是在毫秒級的時間內魯莽的強制執行這個規則,

關鍵的一點是,代碼并不完美,有時候需要人為干預,這在位元幣的整個歷史中都發生過,位元幣的目標是對網路上發生的事件產生永久和可靠的記錄,為了實作這個目標,節點需要觀察、記錄并在必要時人為干預以確保記錄準確且沒有欺詐,礦工們可以獨立的執行這些操作,幾乎不需要協調,因為面對真相大家都能相對容易的達成共識,

這些記錄超越了區塊鏈中記錄的內容本身,這些記錄可以很好的作為過去事件進一步發展的證據,匹配數百臺獨立機器的日志檔案是一個更加手動的程序,但該證據同樣有用,


MinerID的作用

近期有很多問題和討論聚焦于MinerID在應對近期攻擊時起到的作用,我們看到的不尋常之處在于,攻擊者冒充了其他礦工(Zulupool和TAAL),甚至還使用了這些礦工的支付地址,TAAL被假冒是很明顯的,因為按照慣例TAAL會用自己的MinerID對他們挖掘的區塊簽名,所以大量未簽名區塊的出現就是一個危險信號,表明TAAL被冒名頂替了,這個方法正好可以更容易的識別攻擊者的區塊,

MinerID 可以為礦工積累來之不易的作業量證明聲譽,在幫助用戶與礦工建立信任方面發揮更多的作用,未來,它將確保礦工在遭受攻擊或遇到其他關鍵的網路事件時,彼此之間擁有快速可靠的通信渠道,

有關 MinerID 的更多詳細資訊請參考:https://github.com/bitcoin-sv-specs/brfc-minerid


未來如何進行回應

這次的回應雖然有效且可以復制,但還能進一步優化,可以改變Bitcoin SV節點軟體的一些默認行為,還有許多其他的緩解措施、工具以及操作流程等,

眾所周知,出于安全方面的考慮,這些措施將在部署完成后才會公開,以避免暗示出潛在的攻擊向量,位元幣基礎架構團隊中許多優秀的人一直在研究這些問題,并且會持續的做下去,直到把我們從這些事件中得到的經驗和積累,都轉化為行動和代碼回應,

這次事件反映出的主要問題之一,是我們需要主動監控網路上的事件,需要有經驗的人參與進來,需要企業用戶間保持健壯的溝通渠道,任何有價值的金融系統都配套了全天候不間斷運行的運營中心和監控系統,Bitcoin SV網路上已經有了這些設施,并且現在的系統監控能力更強也更具關聯性,


總結

位元幣白皮書從根本上描述了位元幣協議正常運行所需的一系列行為,其中大部分可以通過演算法實作自動化,并且隨著時間的推移其自動化的程度也越高,當演算法被惡意利用但未發現潛在的攻擊向量時,用演算法表達規則的做法便不總是可行的,這也是為什么偶爾需要人工判斷和人為干預,位元幣并不是代碼,它是多個獨立的參與方按照規則集行事的一個系統,在這個系統里,參與方會集體拒絕破壞規則的其他參與方,


目前,全球已有超過400個專案構建于Bitcoin SV區塊鏈之上,憑借堅如磐石的協議及超高的網路性能,Bitcoin SV生態系統迅猛發展,我們期待未來出現更多前所未有的商業應用,


  • 對位元幣區塊鏈開發感興趣的朋友可以通過CSDN站內私信聯系我們,申請加入BSV開發者交流群,
  • 同時,您也可以掃描下方二維碼,關注位元幣協會官方微信公眾號——BA資訊,了解更多區塊鏈領域的實時資訊,
    在這里插入圖片描述

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

標籤:區塊鏈

上一篇:Poly Network遭受 6 億美元數字貨幣損失,要求黑客成為其首席安全顧問

下一篇:加密世界的現狀和7個未來趨勢

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