主頁 > 區塊鏈 > 應用型公鏈挖礦應回歸到普適性時代

應用型公鏈挖礦應回歸到普適性時代

2020-09-14 06:35:36 區塊鏈


十方創智(深圳)網路科技有限公司張翼梁華洪孝林
       摘要:大家聽到“挖礦”這個詞應該是從第一批位元幣淘金者那里聽到的。位元幣區塊鏈是貨幣型的公鏈,挖取的是“數字黃金”。隨著共識面得擴大,最初的礦工賺了大錢,后來的人們就像馬蜂一樣進入到這里面來。這種位元幣挖礦潮很像當年的淘金熱,當時的淘金熱很多淘金者下海淘金,最終只有很少的人變得富有,很多人卻失去了一切。中本聰設計的位元幣網路初衷是去中心化和普適性,但是隨著機器算力越來越集中,位元幣挖礦呈現出再中心性化的趨勢,出現“富者越富,貧者恒貧”的狀況,大量的普通用戶已經很難參與進來,這與現實社會里貴金屬開采有著驚人的相識,其他類似的貨幣型公鏈也存在這種現象。區塊鏈是人類社會用代碼傳遞信任的重大變革,區塊鏈3.0時代一定是應用的時代,大力發展應用型公鏈是必然趨勢,應用型公鏈挖礦必須回歸到普適性時代,讓更多用戶參與進來。本文用技術去解釋”挖礦到底是一件什么樣的事情”

挖礦到底是一件什么樣的事情

如果你想成為位元幣的礦工,你首先要加入到位元幣的網路當中與其他礦工進行連接。在連接完成之后我們還有一些任務要完成:

 1.監聽交易廣播: 在整個位元幣網路中每個時間段都有一些交易的廣播,然后需要驗證礦工們的簽名是正當有效的,交易沒有被重復支付。

2.維護區塊鏈的網路并且負責監聽新的區塊: 礦工的首要職責就是維護區塊鏈,為了保證這一點,中本聰設計的非常完善,礦工在一開始就需要要求其他的礦工和節點把當時你還沒有加入區塊鏈之前的歷史記錄同步到本地。然后監聽那些被廣播到網路上的新區塊,你的作業就是驗證每個廣播后你所收到的每一個區塊,驗證的目的是為了保證區塊里的每筆交易都是有效的。而且每一個區塊都包含了一個有效亂數【1】。

3.生成備選區塊:如果你備份完畢了所有的區塊資料,你就可以生成你自己的區塊了。但是你想要做到這一點你就要把所監聽到的資料進行打包并且放到新的區塊當中,然后把這個區塊排在整條鏈的最新區塊的后面。但是你必須要保證里面的資料是真實有效的。

4.找到讓你的區塊變得有效的亂數。這個作業量是巨大的,也是最難的一部分,這里取決于你的機器算力與全網算力的比例值。隨著全網算力的大幅提高,許多礦機被升級成算力更高的專業礦機,并且為了提高比例值,專業礦機并聯形成大規模專業礦場。

5.讓全網接受你的區塊:即使你找到了一個亂數,也不能保證該區塊會成為共識鏈的一部分。其實這是有一部分運氣成分在里面的。接受你的區塊并且從該區塊繼續傳承下去,而不是從其他礦工那里獲得的區塊開始傳承。

6.利潤:如果其他的礦工都接受了你的區塊,那你就可以獲得相對應的位元幣了【2】。在這里補充一點,除了新區塊產生的獎勵以外,還有一種費用是額外收入的。但是比較低,那就是交易手續費,這里大約是一個區塊默認獎勵的1%。

7尋找有效區塊:

現在我來解釋如何找到使區塊變得有效的亂數。身為一名礦工,首先需要從你的交易池中選出一些有效的交易并且編譯成梅克爾樹。你可以任意選擇編譯的交易數量但是前提是不超過每個區塊的亂數的交易上限。然后組裝出一個新的區塊【3】。你需要嘗試不同的臨時亂數直到該亂數能使整個區塊的哈希值小于目標值。這個目標值一般用零開始的特定位數的數值來體現。也就是從0開始,每次增加數值1,直到該亂數能使區塊有效為止。

在很多情況下,亂數試過所有的32位以后取的數值仍然不能產生一個有效的哈希值,這個時候就要做出更多的改變。但是當在整個梅克爾樹上的數值發生變化的時候整個都會發生變化,最重要的是在梅克爾樹上不會改變coinbase,因為coinbase會向上傳遞所以改變這個值會計算更多,所以只改變頭部的亂數是一個很好的選擇。在嘗試2^32次以后還沒有找到有效區塊才會改變coinbase。當你找到這個數值以后就需要立刻宣布,你就有機會獲得區塊獎勵。

8決定難度:

當礦工挖出每2016個區塊,挖礦難度就會改變一次。這個難度的改變是根據前2016個區塊的挖礦效率來決定的。我們的公式如下進行表示:

下一個區塊的難度=上一個難度*2016*10min/產生上2016個區塊所花費的時間

注:2016*10min=兩周,這里的兩周是沒有意義的,只是權衡之下的產物而已。

中本聰為了要平衡這種動態值,因為他要把位元幣作為數字黃金的存在。所以他決定把難度讓市場決定。挖礦難度會受到有多少新的礦工加入而產生影響,因為新加入的礦工是因為受到了位元幣價格的波動而加入的。

挖礦之所以那么難的核心問題是因為礦工要對SHA-256哈希函式進行運算,SHA-256是一個通用的密碼學哈希函式,也是一個256位的狀態機。這256個狀態被分割成8個32位欄位,這樣可以很優化的運行在32位的硬體上。每一輪運算選擇一定數量的欄位,最終進行32位模加法運算,然后運算結果被一道狀態最左的第一個欄位,這樣使得整個狀態進行向右位置。一個完整的SHA-256運算要做64次這樣的迭代運算,在每一輪運算中,會志勇稍微不同的常數,所以所有的迭代運算都不一樣。礦工就是盡可能快的進行這種函式運算,礦工就是比運算速度。

CPU挖礦

在當初的時候,大家挖取位元幣都是使用家庭普通電腦進行挖礦的,也就是CPU挖礦。按照現在位元幣網路的情況還想指望CPU來進行挖位元幣是根本不可能了,在過去幾年里面還執著于用CPU挖類似位元幣(貨幣型公鏈)之類的的礦工是根本不知道位元幣的運作原理。應用型公鏈要回歸到普適性時代,CPU挖礦是重要的第一步,CPU挖礦能讓普通PC用戶更加方便地參與進來。

GPU挖礦

第二代礦工用GPU挖礦的原因是因為GPU有高吞吐量和高并行處理功能,這兩點是對于挖礦非常有利的條件。在2010年的時候OPENCL語言誕生了,這個語言可以讓GPU進行非影像處理作業,這個語言讓GPU挖礦成為了當時的主流。GPU可以進行超頻,舉個例子,如果超頻讓你的吞吐量變成1.5倍,運算成功率降為0.7,但是乘機為1.05.也就意味著你獲得了5%的增幅。最后一條就是一個CPU可以帶多個GPU,讓每個GPU區分別負責不同的事情,大大縮短時間。

GPU挖礦也是優缺點的。GPU有大量的浮點運算單元,但是這些內置硬體并不完全被用在挖礦這件事情上,對于SHA-256的運算沒有起到任何幫助性作用。同時,GPU沒有很強大的散熱功能,而且很耗電。隨后出了幾個月的FPGA挖礦,但是由于要一支超頻使用就變得經常報錯,導致人們不得已放棄這種挖礦方式。

GPU同時也是大型3D游戲、美工等家用及作業軟體所必需硬體,應用型公鏈的普適性不排除GPU算力,但是應限制GPU的無限拓展。

ASIC挖礦

當今的挖礦市場主要被ASIC芯片所主導。這些芯片被設計出來就是為了貨幣型公鏈挖礦而存在的。制作這種芯片是需要非常專業的知識,開發周期也非常的長。但是最為奇妙的是,在這個行業里面芯片的開發速度居然打破了芯片行業的世界紀錄。由于當時開發速度過快導致設計缺陷過多,造成了很多人的抱怨。

絕大部分早期的ASIC芯片壽命十分短暫,6個月就被淘汰了,這就導致了廠商的出貨速度決定了用戶的回報率,不然用戶買回家的就是一對廢銅爛鐵。由于現在位元幣的網路已經穩定下來了,所以現在的礦機還是有比較高的穩定性,但是在早期,礦機客戶控訴廠商的事情還是發生的很普遍的。

反ASIC

大致上說,我們想抑制為了挖礦而特別定制的設備的優勢。這也可以理解為,設計一個解謎程式,讓現有的普通電腦成為最廉價和最有效率的解謎運算設備。但這在現實中不可能,畢竟所有的通用電腦的中央處理器里已經針對一些特殊目的進行了優化。并不是所有的電腦都有相同的優化配置,并且它們隨著時代而變化。比如,過去的10年中,英特爾(Intel)和AMD在芯片里加入特殊指令(通常叫作“增加硬體支持”)來更加有效地計算高級加密標準(Advanced Encryption Standard,簡稱AES)的區塊密碼。所以有些電腦在挖礦這個事情上總是會比其他電腦更加低效。另外,很難想象設計一個挖礦解密程式,而這些程式是依賴普通個人電腦諸如音響或顯示幕這些特性的,所以去除了那些通用特性的具體特殊目的的設備,很可能會更有效率,并且成本更低。

更加實際地說,我們有一個適中的目標:設計一個解謎程式,盡可能地減少最有效率的定制運算設備與通用電腦之間的效率差距。ASIC還是會不可避免地成為更加有效的礦機,但是我們可以將其運算效能限制在一定范圍內,讓他的投入和損耗得不到合適的回報,從而限制ASIC礦機的發展,讓普通用戶使用他們已有的通用電腦來挖礦仍具備一定的經濟效應。

1、剛性記憶體解謎

大多數被設計成反ASIC的解謎程式中,最普遍被應用的叫作剛性記憶體解謎(memory-hard puzzles)-----解謎需要大量的記憶體來計算,而不是靠大量的CPU時間。一個類似但又不一樣的概念是記憶體限制解謎(memory-bound puzzles),花在讀取記憶體上的時間,占據了這種程式大部分的計算時間。一個解謎可以是剛性記憶體類而不是記憶體限制類,或是記憶體限制類而不是剛性記憶體類,或是二者兼而有之。一個微妙但重要的區別在于,雖然CPU的速度是計算時間的瓶頸,但平行運算大量解謎的成本,還是被記憶體的成本所左右,或者反之亦然。通常對于運算類的解謎程式,我們要做到剛性記憶體和記憶體限制,就需要保證在運算程序中大量的記憶體被要求使用,使之成為一個限制性因素。

為什么剛性記憶體解枚訓記憶體限制解謎可以反ASIC?因為用來計算哈希函式的邏輯運算只占了CPU里的一小部分,意思是在位元幣的解謎計算里,ASIC不需要執行一些不必要的功能,而只需要執行計算哈希函式的相關功能,所以占了很大優勢。另外一個相關因素是,不同的記憶體性能上的差異(和單位性能的成本)比不同處理器之間運算速度上的差異要小很多,所以,如果我們設計了一個剛性記憶體類的解謎,計算時需要相對簡單的算力但需要大量的記憶體,這就意味著,解密成本的上升速率將會像記憶體成本提升速率那樣,在一個相對低一些的水平。

SHA-256已經被認定為不是剛性記憶體解謎演算法。它只需要一個小小的256位模塊,可以很容易地被放進CPU的注冊機里。但設計一個剛性記憶體類的作業量證明解謎不是一件太難的事。

2、Scrypt

現在最受歡迎的剛性記憶體解謎叫作Scrypt,被第二大加密數字貨幣萊特幣以及其他加密數字貨幣所用。

Scrypt是一個剛性記憶體的哈希函式,最早是為了加密密碼而不容易被暴力破解(比如,反復試錯破解),所以挖礦解謎與位元幣用的“不完全哈希函式原像解謎”是一樣的,只不過用Scrypt取代了SHA-256。

Scrypt在位元幣被發明出來之前就已經存在,而且它是用來加密個人密碼,這一點讓我們對它的安全性有一定信心。密碼的哈希函式化其實與反ASIC有著相似的目的。出于安全性考慮,我們期待,一個有著定制化設備的攻擊者不能夠比使用一般電腦或者服務器的用戶更快地計算密碼的函式值【4】。

Scrypt基本上有兩個步驟:第一個步驟是在用隨機資料填充隨機存取存盤器(Random Acess Memory,簡稱RAM)里面的快取空間;第二個步驟是從這塊記憶體區域里虛擬隨機地讀取(或者更新)資料,同時要求整個快取都存盤在RAM里面【5】。

在時間和記憶體之間的權衡。如果沒有一個較大的記憶體快取,計算Scrypt會變得很慢,但是用較少的記憶體來增加相對較少的計算還是有可能的。假設我們使用一個大小約N/2的快取(而不是N的大小),現在,我們只在j是偶數的情況儲存V【j】的值,丟掉那些j是奇數的值。而在第二次回圈里,一半的情況下j為奇數的值將會被選到,但這種情況還是很容易被計算的。我們只需要簡單地計算SHA-256(V【j-1】),因為V【j-1】在我們的快取里。在一半的時間內會產生這種情況,所以它增加了N/2個額外的SHA-256計算。

因此,對記憶體要求量的減半只會增加1/4的SHA-256計算量(從2N到5N/2)。總體來說,我們可儲存快取區域V里的每個k排資料,即使用N/k的記憶體和計算(k+3)N/2次的SHA-256迭代計算。在這個限制下,如果我們設定k=N,我們就回到先前運算時間為O(N的平方)的計算。這些數字不一定非常準確地適用于Scrypt演算法本身,但是漸進預測的方式確實是適用的。

除此之外,還有其他的設計可以榷訓用時間來換取記憶體地能力。舉例來說,如果一個快取持續地在第二次回圈中被更新,它可以讓時間與記憶體之間的互換不是那么有效,因為這些更新必須被儲存在記憶體中。

Scrypt的檢驗成本

Scrypt的另一個局限性是,它需要用與計算所用的同樣大小的記憶體來做校驗。為了讓記憶體剛性有意義,N需要變得比較大。這意味著一個Scrypt的計算要比一個SHA-256的迭代計算(在位元幣里只需要一個SHA-256計算就可以校驗)昂貴許多倍。

這會產生負面的結果,因為在網路里的每個用戶必須重復這個計算來檢查每一個新發現的區塊是否有效。這會級訓新區塊傳播和被認可的速度,從而增加了分叉攻擊的風險。它還要求每個客戶端(即使是輕量級的SPV客戶端)擁有足夠的記憶體來有效地進行函式計算。這樣一來,實際上在加密數字貨幣中能夠被Scrypt用到的記憶體N是有限的。

一直到最近我們都不明確,是否有可能設計一個挖礦解謎程式在計算上是剛性記憶體類的,又可以很快地(不需要大量記憶體)進行校驗。這個特性對密碼進行哈希運算沒有多大作用,在用于加密數字貨幣之前,這是Scrypt演算法的主要用途。

在2014年,一個叫作杜鵑鳥周期的新解謎演算法被約翰·特龍普(John Tromp)所提出(起這個名字是因為這個演算法的特性與杜鵑鳥的特性類似,杜占雀巢)。杜鵑鳥周期演算法,是從杜鵑鳥哈希表所衍生的一張圖中尋找周期的難度而設定的,杜鵑鳥哈希表這種資料結構在2001年才被首次提出。除了建立起一個很大的哈希表之外,沒有其他已知的方法來計算這個周期,結果卻可以通過發現一個周期(相對小的)來簡單地驗證。

這個演算法可能會讓剛性記憶體或是記憶體限制類的證明作業在位元幣共識里變得更加實用。可惜的是,這個函式無法再數學上證明,如果它不用記憶體的話就不能被有效地計算。通常,一個新的密碼學演算法看起來都是安全的,但是社區會對它持有保留意見,直到它存在了多年而沒有被破解過。因為這個緣故,并且因為它也是最近才被發明的,當前杜鵑鳥周期演算法還沒有被任何加密數字貨幣所采用。

實際應用中的Scrypt

Scrypt被許多種加密數字貨幣所使用,包括萊特幣在內的幾種熱門幣,結果好壞參半【6】。針對萊特幣Scrypt演算法引數的ASIC已經存在(然后被其他幾種另類幣所復制)。令人驚訝的是,相較于大眾電腦,這些ASIC在算力上的提高比起SHA-256相對普通電腦的提高,至少旗鼓相當甚至要更大!所以,Scrypt最侄訓是無法反ASIC,至少在萊特幣上是如此。萊特幣的設計者期初宣稱反ASIC是萊特幣的一大優勢。但現在他們已經識訓了這個說法。

這可能是萊特幣所用的數值N(記憶體使用引數)比較低所造成的,它只要求128KB就可以進行計算(如果使用時間記憶體互換的模式,可能所需要的記憶體更低,這也被普遍用于GPU以獲得更快地快取)。低數值N使設計一個不需要復雜的記憶體存盤總線的輕量級挖礦ASIC變得很容易,通常這種復雜的總線是讀取十億位元組(Gigabytes)級別的隨機存取存盤起所需要的,而這些通用電腦都具備。萊特幣的開發者沒有選擇一個比較高的記憶體引數(這會是ASIC更加難以設計),因為他們認為高記憶體引數所導致的高成本的校驗程序是不太現實的。

3其他抵抗ASIC的方法

請回憶一下,我們的初衷是想讓可以大幅度提升計算性能的ASIC的開發變得困難。剛性記憶體解謎只是其中一個方法,還有其他辦法。

另外被提出但還沒有被實施的一個辦法是使用一個移動的目標值來作為挖礦解謎。也就是說,解謎演算法本身就會變化,就像位元幣里的難度會周期性地改變一樣。在理想的狀態下,為上一個解謎演算法而被優化過的挖礦硬體,對下一個解謎演算法不再適用。我們不是很清楚要多久改變一次解謎演算法,才能達到我們需要的安全要求。如果這是由另類幣的開發者所決定的,這可能就變成了一種不可接受的中心化來源。比如,開發者可以根據他們已經開發出來的一種硬體(或者只是優化過的FPGA),去設計一個相對應新的解謎演算法,他們自然就有了針對這個新演算法的早期優勢。

或許這些解密演算法的順序能夠被自動生成,但這看上去也很難。一個想法是選擇一大堆哈希函式(比如24個沒有被攻破的基于SHA-3的演算法),然后每個用上6個月到一年,在這么短的周期里很難開發新的硬體。當然如果這個順序安排被事先知道,相應的硬體設計就可以按照函式使用的時間表來進行。【7】

PC礦機從CPU挖礦過渡到CPU+GPU挖礦,同時限制GPU并行拓展及反ASIC芯片,在PC忙時和閑時用人工智能動態調節硬體及帶寬資源,將讓應用型公鏈的普適性大大提高,進入千家萬戶。





關鍵詞:挖礦;應用型公鏈;ASIC;挖礦歷程;反ASIC;挖礦原理;Scrypt演算法

參考文獻:

【1】

篇名:《區塊鏈技術與應用前瞻綜述》

作者:何蒲于戈張巖峰鮑玉斌

頁碼:P1—P7,15

頁數:8頁

期刊名稱:《計算機科學》



【2】來源(學術期刊):

篇名:《位元幣基因不會消亡》

作者:何佳艷

頁碼:P30—P32

頁數:3頁



【3】來源(學術期刊):

篇名:《區塊鏈技術原理、應用及建議》

作者:張偲

參考文獻:8篇

頁碼:P51—P54

頁數:4頁

期刊名稱:《軟體》



【4】來源(學術期刊)

篇名:《基于核函式的有監督哈希視頻影像檢索》

作者:唐珂方雪峰

頁碼:P49—P51

頁數:3頁

期刊名稱:《江蘇科技資訊》



【5】來源(學位論文):

篇名:《基于AT89C51單片機開發的一款能實作MP3播放的Flash芯片測驗開發板》

作者:雷鎮海

學科專業:軟體工程



【6】來源(學術期刊):

篇名:《萊特幣與Scrypt演算法》

作者:何洪亮

參考文獻:1篇

頁數:1頁

期刊名稱:《經貿實踐》

【7】來源(學位論文):

篇名:《基于中間相遇的哈希函式原像攻擊》

作者:鐘錦敏

學科專業:計算機系統結構





備注:本文已被國家級期刊(國際刊ISSN:1673-5811,國內刊號CN:11-544/N)《中國科技投資雜志》收錄,已于2018年11月(33期)出版。





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

標籤:區塊鏈技術

上一篇:第四十九篇 墨客區塊鏈(MOAC BlockChain) POW有效抵御51%攻擊的歷史權重方案

下一篇:MAI (make AI) 創智公鏈:區塊鏈智能生態踐行者

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