主頁 > 區塊鏈 > 密碼演算法在位元幣中的應用

密碼演算法在位元幣中的應用

2021-10-19 07:13:51 區塊鏈

位元幣系統為了保證其安全性,用到了很多演算法,包括各種加密演算法以及共識演算法,理解這些演算法對于理解位元幣的原理是至關重要的,首先理解一下位元幣與區塊鏈的關系,

1 位元幣與區塊鏈的關系

1.1 位元幣怎么來的?

2008年,中本聰發表論文《位元幣 :一種點對點的電子現金系統》,論文描述了

  • 如何創建一套去中心化的電子交易體系
  • 區塊鏈正是構建這種電子交易體 系的底層技術

用的技術就是區塊鏈,也就是說,位元幣是世界上第一種“去中心化”的數字貨幣,為了發明它,中本聰搞出了一種新技術,他把它命名為“區塊鏈”,因此,區塊鏈是伴隨著位元幣產生的一種新技術,

通俗地說,位元幣是產品,是一種具體的數字貨幣,而區塊鏈是相對通用的技術

打個比方,瓦特發明了蒸汽機,他也發明了一整套相關的技術,但技術不是產品本身,別人用他的技術,也能做出相似的蒸汽機,

1.2 什么是區塊鏈?

區塊鏈是一種軟體技術,說得簡單點,就是“分散存盤”和“檔案全留”,也就是說,位元幣的所有交易資訊,在網上都有保留,而且是重復存盤在成千上萬臺計算機上,

比如,A把位元幣賣給了B,這條交易記錄不是存盤在一臺計算機上,而是存盤在網上盡量多的計算機上,至少幾百臺以上,而且,這些位元幣過去所有的交易記錄,也全都保留在網上,

這種分散存盤和資訊保留,讓人極難篡改,因為如果想篡改交易記錄,就得改成千上萬臺機器上的資料,這幾乎是不可能的,迄今為止,還沒有發生過篡改現象,因此,從實際應用角度來說,位元幣是不可篡改和不可偽造的,加上它本身具有一定的成本和稀缺性,因此具有一定的信用,因此,位元幣具有貨幣的特征,

2 位元幣的特點

總結以下,位元幣具有如下特點

  • 不依靠特定貨幣機構發行,基于特定的演算法,通 過大量的計算產生;
  • 位元幣經濟使用P2P網路中的眾多節點構成的分 布式資料庫來確定并記錄所有的交易行為;
  • P2P的去中心化特征與演算法本身可以確保無法通 過大量制造位元幣來人為操控幣值,
位元幣與傳統虛擬幣的區別
位元幣傳統虛擬貨幣(如Q幣)
性質去中心化有一個服務商
公開交易度匿名交易公開,可追溯
存量存量有限無線增發
代碼屬性開源封閉
價值體現可直接購買商品

可直接購買虛擬商品,個別例外可購買實物商品

使用范圍沒有限定范圍有限
兌換比率浮動固定

3 位元幣的密碼學原理

首先要明白位元幣是如何獲取的,獲取方式通常有以下3種:

  1. 挖礦生產——制造一個新的位元幣區塊獲得位元幣;
  2. 進行購買——通過類似于網上交易平臺(如火幣網)進行交易;
  3. 捐贈獲得——自由網、互聯網、檔案館、自由軟體基金會以及其他一些組織接收捐贈,

3.1 位元幣原理

位元幣是一個分布式的點對點網路系統

  • 沒有中央服務器,也沒有中央發行機構
  • 完全通過點對點技術實作的電子現金系統
  • 可以不通過任何中間金融機構直接由一方發起并支付給另一方
  • 礦工通過“挖礦”來完成對交易記錄的轉賬程序,維護網路的正常運行
  • 驗證位元幣交易的同時參與競賽來解決一個數學問題
  • 提供公開可見的記賬本
  • 記錄發生過交易的歷史資訊,避免重放攻擊,即某個合法交易被多次重新發送造成攻擊,

3.2 位元幣地址

  • 公鑰和私鑰是一對
  • 公鑰就是所謂的位元幣地址
  • 你擁有的位元幣數量=你擁有的所有的位元幣地址上的所有位元幣數量總和
  • 花幣需要用對應位元幣地址的私鑰簽名
  • 私鑰沒了,錢沒了,你擁有了別人的私鑰= 你擁有了別人的位元幣
  • 你可以隨便生成公私鑰對,空間無限大

3.3 位元幣地址的生成程序

  1. 隨機選取32位元組的數作為私鑰
  2. 橢圓曲線加密演算法得到非壓縮公鑰
  3. 依次計算SHA-256、RIPEMD-160值
  4. 上一結果前加地址版本號(0x00)
  5. 計算兩次SHA-256
  6. 取前4個位元組加到第4步結果后面
  7. 進行base58編碼
  8. 獲得位元幣地址

由以上程序可以得到, 位元幣系統為了保證其安全性,用到了很多演算法,包括各種加密演算法以及共識演算法

3.4 位元幣的主要技術

  • 密碼哈希:區塊鏈資料結構
  • 分布式共識協議:區塊鏈驗證
  • 數字簽名:可證明的價值交換

4 幾個主要演算法技術的介紹

4.1 Hash演算法

4.1.1 Hash的概念

Hash對于任何一個從事計算機軟體開發的同行應該是在熟悉不過了,Hash演算法是指將任意長度的一串明文映射為一段長度較短的(通常長度也是固定的)二進制串,并且對于不同的明文,很難映射得到相同的hash串,平時在開發程序中用的比較多的MD5來檢驗檔案就是hash的最常見的應用:用某種hash演算法對檔案生成hash值(數字摘要),一旦之后檔案發生了改變,重新計算將得到不同的摘要值,從而認為檔案發生了變化,

一個好的hash演算法需要具備的特點:

  1. 正向快速:對于給定的明文,能在有限的時間和資源內得到hash值;
  2. 逆向困難:對于給定的hash值,想逆向推匯出明文基本不可能;
  3. 輸入敏感:明文發生變化,新的hash值會有很大的不同;
  4. 抗碰撞性:很難找到兩段不同的明文能夠產生相同的hash值;

4.1.2 常見的hash演算法

常見的hash演算法:

  • MD4:該演算法由Rivest于1990年設計,對于任意明文,能夠輸出128位的hash,MD4目前已經被證明為不安全的,
  • MD5:MD4的改進版,作者也是Rivest,同樣輸出128位的hash,相比MD4更加安全,但是速度稍慢,
  • SHA:SHA并非一個演算法,而是一個演算法族,由NIST(National Institute of Standards and Technology)于1993年發布了首個實作,該演算法族包含了SHA-1,SHA-224,SHA-256,SHA-384,SHA-512等,

目前MD5和SHA1已經被破解,通常推薦使用SHA-256或更安全的演算法,

4.2 加解密演算法

位元幣作為一種加密貨幣,其中少不了加解密演算法,

4.2.1 加解密的程序

加解密程序描述起來很簡單:加密就是將明文和秘鑰,通過加密演算法生成密文,

解密是加密的反程序:密文和秘鑰通過解密演算法,還原出明文,

根據加密和解密程序中是否使用相同的秘鑰,加密演算法又可以分為對稱加密和非對稱加密演算法:

  • 對稱加密:加密和解密使用相同的秘鑰,
  • 非對稱加密:加密和解密使用不同的秘鑰,

兩種加密方式各有有缺點,實踐中有時會將二者結合起來使用,

注意:理論上不存在絕對安全的演算法,所以在實際的專案中,如果對安全性要求較高,最好不要使用自己設計的加密演算法,很多情況下即使不公開加密演算法,系統也很容易被破解,明智的做法是使用已經經過長期驗證和論證的演算法,

4.2.2 對稱加密演算法

對稱加密演算法即加密和解密使用相同的秘鑰,其優點是效率和加密強度高,但缺點是參與方需要提前持有秘鑰,一旦有人將秘鑰泄漏,就會有安全風險,

從實作方式上,對稱加密演算法又可以分為分組密碼和序列密碼,

  1. 分組密碼:將明文以定長的資料塊為加密單位,應用最為廣泛,
  2. 序列密碼:每次只對一個位元組或字符加密,

分組密碼應用較為廣泛,有一些大家耳熟能詳的經典演算法:DES,3DES,AES,

  • DES:經典的加密演算法,由美國聯邦資訊處理標準FIPS采用,將64位名為變為64位密文,秘鑰長度64位,該演算法目前已經可以被暴力破解,不再安全,
  • 3DES:顧名思義,采用3重DES加密,強度高于DES,但是目前也被證明是不安全的,
  • AES:由美國國家標準研究所采用,目前已取代了DES成為了對稱加密實作的標準,AES的分組長度為128位、192位和256位,目前還沒有有效的破解手段,

4.2.3 非對稱加密演算法

非對稱加密演算法是指加密和解密使用不同的秘鑰,分別稱為公鑰和私鑰,私鑰一般通過亂數演算法來生成,公鑰通常通過私鑰生成,公鑰誰都可以看到,私鑰不能泄露,只有自己持有,

非對稱加密的優點是公私鑰分開,缺點是效率低,強度也比對稱加密低,

安全性方面,非對稱加密的安全性需要數學問題來保障,常見的有大質數因子分解,橢圓曲線,離散對數等數學難題,

常見的非對稱加密演算法:

  • RSA:經典的公鑰演算法,利用了對大數進行質因子分解困難的特性;
  • Diffie-Hellman:秘鑰交換,基于離散對數不能快速求解;
  • 橢圓曲線演算法(ECC):這是目前關注度比較高的演算法系列,也是位元幣中使用的演算法,基于對橢圓曲線上特定點進行特殊乘法逆運算難以計算的特性,ECC演算法目前被認為安全度高,但缺點是效率低,計算比較耗時,

一些非常重要的概念:

  1. 位元幣中使用ECDSA演算法的目的是為了證明某一筆位元幣只能被其所有人花費;
  2. 私鑰:需要保密,只有生成它的人才知道,私鑰是一串亂數,在位元幣中用32位整數保存;
  3. 公鑰:和私鑰對應的一串數字,公鑰可以由私鑰計算生成(但不強制),公鑰的作用是在不暴露私鑰的情況下驗證簽名的有效性;
  4. 簽名:簽名由私鑰加上需要被簽名的資料的hash(資料摘要)生成,通過公鑰加上某種數學演算法,就能在不暴露私鑰的情況下對簽名進行驗證,本部分參考原文鏈接

4.3 數字簽名

數字簽名(又稱公鑰數字簽名)是只有資訊的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對資訊的發送者發送資訊真實性的一個有效證明,它是一種類似寫在紙上的普通的物理簽名,但是使用公鑰加密領域的技術來實作的,用于鑒別數字資訊的方法,一套數字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證,數字簽名是非對稱與數字摘要技術的應用,本部分參考原文鏈接

公鑰密碼系統的簽名原理

4.4 共識演算法

區塊鏈是一種去中心化的分布式賬本系統,可以用于登記和發行數字化資產、產權憑證、積分等,并以點對點的方式進行轉賬、支付和交易,區塊鏈系統與傳統中心化系統相比,具有公開透明、不可篡改、防止多重支付等優點,并且不依賴于任何的可信第三方,

由于點對點網路下存在較高的網路延遲,各個節點所觀察到的事務先后順序不可能完全一致,因此,區塊鏈系統需要設計一種機制對在差不多時間內發生的事務的先后順序進行共識,這種對一個時間視窗內的事務的先后順序達成共識的演算法被稱為“共識機制”,

在區塊鏈這樣的分布式賬本系統中,保障整個系統的安全性和適應性十分重要,這也是共識演算法出現的根本原因,

那么,區塊鏈中常見的共識演算法都有哪些呢?

1、POW:Proof of Work,作業量證明

POW是位元幣在Block的生成程序中使用的一種共識演算法,也可以說是最原始的區塊鏈共識演算法了,POW作業量證明,簡單地理解就是,通過一份證明來確認做過一定量的作業,

在位元幣系統中,得到合理的Block Hash需要經過大量嘗試計算,當某個節點提供出一個合理的Block Hash值,說明該節點確實經過了大量的嘗試計算,

這種作業量證明的形式,在我們日常生活中也十分常見,比如駕照,能拿到駕照,說明你已經進行過為期幾個月甚至幾年的練車和考試;再比如現在很火的吃雞和王者榮耀游戲中的K/D(Kill/Death)和勝率,分值越高證明你越厲害,同時也說明你進行了大量的游戲練習和技巧學習,

2、POS:Proof of Stake,權益證明

由于POW機制存在消耗算力巨大、交易確認時間較長,挖礦活動集中容易形成中心化等缺點,便演進出了POS權益證明,POS簡單來說,就是一個根據持有數字貨幣數量和時間來分配相應利息的制度,類似平時我們在銀行中存款,

基于權益證明共識的區塊鏈系統中,參與者的角色是驗證者Validator,只需要投資系統的數字貨幣并在特定時間內驗證自己是否為下一區塊創造者,即可完成下一區塊的創建,下一區塊創造者是以某種確定的方式來選擇,驗證者被選中為下一區塊創造者的概率與其所擁有的系統中數字貨幣的數量成正比例,即擁有300個幣的驗證者被選中的概率是擁有100個幣驗證者的3倍,

在POS模式下,有一個名詞叫幣齡,每個幣每天產生1幣齡,比如你持有100個幣,總共持有了30天,那么,此時你的幣齡就為3000,這個時候,如果你驗證了一個POS區塊,你的幣齡就會被清空為0,同時從區塊中獲得相對應的數字貨幣利息,

這下就很有意思了,持幣有利息,并且由于POS是在一個有限的空間里完成,不是像POW那樣在無限空間里尋找,因此無需大量能源消耗,

3、DPOS:Delegated Proof of Stake,授權權益證明

DPOS最早出現在位元股中,又稱受托人機制,它的原理是讓每一個持有位元股的人進行投票,由此產生101位代表 ,我們可以將其理解為101個超級節點或者礦池,而這101個超級節點彼此的權利完全相等,

從某種角度來看,DPOS有點像是議會制度或人民代表大會制度,如果代表不能履行他們的職責(當輪到他們時,沒能生成區塊),他們會被除名,網路會選出新的超級節點來取代他們,DPOS的出現最主要還是因為礦機的產生,大量的算力在不了解也不關心數字貨幣的人身上,類似演唱會的黃牛,大量囤票而絲毫不關心演唱會的內容,

DPOS通過其選擇區塊生產者和驗證節點質量的演算法確保了安全性,同時消除了交易需要等待一定數量區塊被非信任節點驗證的時間消耗,通過減少確認的要求,DPOS演算法大大提高了交易的速度,通過信任少量的誠信節點,可以去除區塊簽名程序中不必要的步驟,

4、PBFT:Practical Byzantine FaultTolerance,實用拜占庭容錯

PBFT意為實用拜占庭容錯演算法,該演算法由Miguel Castro (卡斯特羅)和Barbara Liskov(利斯科夫)在1999年提出來,解決了原始拜占庭容錯演算法效率不高的問題,將演算法復雜度由指數級降低到多項式級,使得拜占庭容錯演算法在實際系統應用中變得可行,

PBFT是一種狀態機副本復制演算法,即服務作為狀態機進行建模,狀態機在分布式系統的不同節點進行副本復制,每個狀態機的副本都保存了服務的狀態,同時也實作了服務的操作,

將所有的副本組成的集合使用大寫字母R表示,使用0到|R|-1的整數表示每一個副本,為了描述方便,假設|R|=3f+1,這里f是有可能失效的副本的最大個數,盡管可以存在多于3f+1個副本,但是額外的副本除了降低性能之外不能提高可靠性,

5、RAFT,一致性共識演算法

RAFT演算法包含三種角色,分別是:跟隨者(follower),候選人(candidate)和領導者(leader),集群中的一個節點在某一時刻只能是這三種狀態的其中一種,這三種角色可以隨著時間和條件的變化而互相轉換,

RAFT演算法主要有兩個程序:一個程序是領導者選舉,另一個程序是日志復制,其中日志復制程序會分記錄日志和提交資料兩個階段,RAFT演算法支持最大的容錯故障節點是(N-1)/2,其中N為集群中總的節點數量,

上述是目前主要的區塊鏈共識演算法,當然還有其他演算法,比如POET:Proof of Elapsed Time流逝時間量證明,Ripple Consensus瑞波共識機制等,

每種演算法,各有千秋,在特定環境下和時間段上被采用都有各自的考慮和意義,對不同的區塊鏈應用場景而言,適合的演算法即為最好的演算法,??????原文鏈接

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

標籤:區塊鏈

上一篇:零知識證明系列之一——初探零知識證明

下一篇:SQLServer。有誰知道有什么更好/更快的方法來做這些欄位的計算?

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