主頁 > 區塊鏈 > Compound原理

Compound原理

2020-12-20 12:31:23 區塊鏈

1 Compound

1.1 Compound是什么

Compound是DeFi上的借貸市場,這個借貸市場提供了存幣和借幣的功能,就像一個銀行,用戶可以存幣并獲得利息收益,或進行抵押借幣,
Compound不是點對點的市場,而是流動性的資金池市場,這種模式讓它更接近于傳統銀行的借貸模式,但與此同時,它的運作是基于智能合約來完成的,這讓它具備了更多實時性、不可篡改性以及市場決定利率的特性,
在實作原理上,Compound的帳本模型也與銀行類似,并遵循了國際會計準則,

注意:目前區塊鏈上沒有負債和信用的概念,需要超額抵押資產才能完成借貸行為,例如想要借出價值100的資產A,則需要抵押價值150元的資產B,

1.2 Compound協議

Compound協議讓開發者可以基于以太坊建立各種各樣的貨幣市場(money market),
所謂的“貨幣市場”,其實就是一個個的幣池,每個幣池里只有同一種ERC-20的幣,協議通過演算法來決定這個池子里的幣借貸的利率是多少,簡單點說,這個演算法會基于人們對這個幣借貸的供需關系自動計算出利率,例如在Dai這個貨幣市場里,目前(2020年12月13日)放貸可以收取的年利率是3.04%,貸款需要付出的年利率則是11.11%,這些利率對每個人都一視同仁,而且每時每刻都可能處于浮動狀態,

1.3 不是P2P

不管你是來貸款還是放貸,你都是在跟Compound協議直接打交道,這一點跟那些點對點的借貸協議不太一樣,在點對點的方案里,借貸雙方會做匹配,然后你需要跟找你借錢的人(或者借你錢的人)進行溝通,雙方自己商定好借款的利率、到期時間和抵押物品等等,

而在Compound協議里,每個ERC-20代幣都有一個屬于自己的借貸市場,里面包含每個用戶在這個市場里的余額,以及各筆生效的借貸交易,乃至每段時期的歷史利率,等等,

1.4 主要的合約

  • MoneyMarket 合約
    負責主要的借貸邏輯的實作,包括了一系列的操作函式,比如放貸(SUPPLY)、提現(WITHDRAW)、借貸(BORROW)、償還貸款(REPAY BORROW)、 清算(LIQUIDATE)等等,

  • InterestRateModel 合約
    提供借貸利率的計算模型,

  • PriceOracle 合約
    用來提供各個ERC-20代幣的價格資訊,比如這個合約可以通過排名前十的交易所得出一個幣的當前價格,為其他合約所呼叫,

最主要的合約是MoneyMarket,在最簡單的形式下,一個貨幣市場的MoneyMarket合約,就相當于一個ERC-20 約,這個合約會維護一張表,里面記錄每個用戶持有幣的數量,也就是余額,余額同時也會隨著時間計算利息,

1.5 gas費

Compound引入了一個低gas費的方法來更新合約內的用戶余額,每當用戶借貸或者放貸的時候,合約會自動更新余額表格里相應資產的條目,此外,Compound還會根據這張記錄余額的表格來計算目前借貸和放貸各自的利率應該是多少,

1.6 存幣

Compound協議匯總了每個用戶的供給,提供了更多的流動性,保持了資金系統的平衡,借款人和放款人在流通數字貨幣的同時,遵守了相應的約定便可以獲取獎勵(利息),交易所可以通過“清算”余額來將Compound協議調整增量或進行回報用戶,這有可能為以太坊生態系統解鎖全新的業務模型,

1.7 借入資產

Compound允許用戶以cTokens作為抵押,毫不費力地從協議中借用,以用于以太坊生態系統中的任何地方,每個貨幣市場都有由市場力量設定的浮動利率,該利率決定了每種資產的借貸成本,

1.7.1 抵押品價值

協議持有的資產都有一個從 0 到 1 的抵押因子,基礎資產的流動性和價值決定了抵押因子的大小,抵押物和乘以抵押因子即等于用戶的可借貸數額,

1.7.2 風險與清算

由于加密貨幣價格的不穩定,那么使用加密資產作為抵押物就是有風險的,因為當抵押物價格下跌時,可能都不夠償還借款的價值(loan value),如果某個帳戶的未償還借貸價值超過其還貸能力,則可以按當前市場價格減去清算折扣來償還一部分借貸,以消除協議的風險,若用戶的資金出現還款危機時,可能會繼續執行清算程式,
任何擁有借入資產的以太坊地址都可呼叫清算功能,將其資產交換為借方的cToken抵押品,由于這兩個用戶,資產和價格都包含在Compound協議中,因此清算是毫不費力的執行,并且不依賴任何外部系統或訂單,

通常來說,Defi協議為了鼓勵及時清算都會向清算人提供獎勵,這被稱為** 清算獎金(Liquidation Bonus)或Bonus **,協議的目的是確保在價格變化太大之前進行清算,否則可能導致協議破產,值得注意的是,一旦抵押物價格跌至債務價格以下,很明顯借款人不會償還其貸款,這將使該協議無力償還(insolvency),

例如,假設今天BAT和REP的價格都是1元,我用1個BAT作為抵押物,從Defi借貸協議借了1個REP,第二天BAT的價格跌到了0.5元,但是REP還是 1美元,如果現在我不還款,那么Defi協議就會損失0.5美元,因為Defi借貸協議會試圖賣掉我抵押的BAT來償還1個REP,

1.7.3 用例

為 DApp 消費者,交易者和開發人員提供了新的超能力:

  • 無需等待訂單執行或需要鏈下行為,DApp 就可以借用 token 在以太坊生態系統中使用 .
  • 交易者可以使用其現有投資組合作為抵押,通過借入以太幣為新的 ICO 投資籌集資金 .
  • 希望做空 token 的交易者可以借入它,將其發送到交易所并出售該 token,進而 做慷訓益 .

1.8 利率模型

Compound協議無需和供應商、借款人、條款、利率進行談判,而是利用一種利率模型,該模型基于供求關系實作利率均衡,根據經濟學理論,利率(貨幣的“價格”)應隨需求而增加;當需求低時,利率應該低,反之亦然,

  • 資金利用率

Ua = Borrowsa / (Casha + Borrowsa)

  • 借款利率:
    需求曲線通過治理進行編碼,并表示為利用率的函式,例如,借入利率可能類似于以下內容:

Borrowing Interest Ratea = 10% + Ua * 30%

說明:借款利率受需求影響,借款需求旺盛時,借款利率上升,借款需求疲軟時,借款利率下降,這只是一個示意公式,10%、30%并不一定是固定不變的,

  • 存款利率:

Supply Interest Ratea = Borrowing Interest Ratea * Ua * (1 ? S)

說明:S類似于存款準備金,以備用戶的提現需求,

Compound該協議不保證流動性;相反,它依靠利率模型來激勵它,在對資產的極端需求時期,協議的流動性(可用于提取或借出的 token)將下降;發生這種情況時,利率會上升,從而刺激供應并抑制借貸,

1.9 賬務

Compound維護了一個包括所有交易的完整可審計的資產負債表和現金分類賬:

現金 + 借款 = 存款 + 抵押資產

遵循國際會計準則:

事件
存入代幣現金供給
提取代幣供給現金
借出代幣借款現金
償還代幣現金借款
清算(借款人)供給(抵押)借款(資產)
清算(清算人)現金(資產)供給(抵押)
利率增長(供給)抵押凈值供給
利率增長(貸)借款抵押凈值

2 借貸行為

Compound本質是一個擁有一定資產的人可以接入另一種資產的市場,和現實社會中的銀行借貸非常類似,

2.1 現實社會中的借貸行為

現實社會中,我們向銀行申請抵押貸款時,如下所示:
Compound-現實-抵押貸款.png

假設該房產價值10w,銀行會按照抵押物一定比率進行放貸,例如80%,那么此時用戶可以獲得8w的貸款,只要借款人定時向銀行還貸并付息,就可以保住房產,如上圖所示,不過,如果借款人無法還款付息,銀行就會出售房產以回收貸款和利息,額外部分將退回給借款人,

銀行的錢來自儲戶,大量用戶存款匯聚起來就形成了資金池,可以進行任何形式的放款,如下圖所示:在這里插入圖片描述

儲戶將錢存放到銀行,銀行需要支付利息,如下圖所示:
在這里插入圖片描述

在現實社會的抵押貸款中,銀行是一個資金池,出借方(儲戶)和借款方沒有進行系結,這意味著儲戶任何時候都可以提取資金,當然這里有一個前提:有足夠的存款準備金,另外,在當今社會中,利率和流動性儲備由國家法規決定,

2.2 Compound中的借貸行為

在Compound的世界中,需求側使用ERC-20代幣來替代資產(如房產),供給側使用DAI來替代貨幣,用智能合約替代銀行的金庫,如下圖所示:在這里插入圖片描述

說明:

  • 出借人可以將自己持有的ETC、BTC等轉換成Dai存入Compound并獲取回應的利息,就像我們將錢存入銀行獲取利息收入一樣,
  • 借款人可以將自己持有的ERC-20代幣作為抵押物從Compound中貸款;例如抵押價值15W Dai價值的資產從compound中貸款10W Dai,
  • 因為代幣價格波動比較快,當用抵押物價值償還借出的Dai(本金+利息)存在一定風險時,Compound會觸發清算,否則可以一直借款,
  • 貸款人償還本金+利息以后,可以拿回自己的抵押物,
  • 貸款人償還的本金+利息以儲備的形式存放在Compound中,
  • 當出借人嘗試提款時,他會得到起原始存款+利息收入,這些利息是儲備中累計的;如果不提款,會持續賺取利息,

注意:Dai是穩定幣,類似于顯示社會中的人民幣;cDAI類似于實時的Dai儲蓄賬戶,

3 利率模型

注意:
Compound是根據每個區塊時間來計算利息,但是它并不是自動在后臺完成計算的,而是依賴于用戶行為(例如存款、貸款、清算等)來觸發利息計算,觸發后,函式將統計自上次利息計算以來過去了多少個塊,并在其之上應用最新的利息,句話說,如果不采取任何用戶動作,則協議將不會計算利息,
簡單來說:Compound是在交易事件(存款、借款、提現、還款)發生時進行結算,并計算利息,本節將給予此進行介紹,注意,這和銀行稍有不同,

3.1 利率模型

銀行的簡單模型就是通過借款產生營收,營收作為存款用戶的利息,在不設定浮動的借款利率,不考慮盈利,只保證賬目借貸平衡時,簡化的利率模型如下所示:

借款營收 = 存款利息
其中:
借款營收 = 借款總額*借款利率*時間
存款利息 = 存款總額*存款利率*時間
得出:
借款總額*借款利率*時間 = 存款總額*存款利率*時間
進一步:
借款總額*借款利率 = 存款總額*存款利率

由此可見:

借款總額為零(沒有人進行借款),此時沒有營收產生,存款利率為零
借款利率不變時,如果借款總額增大,借款營識訓增加;此時若存款總額不變,存款利息會提高,
借款營收不變時:存款總額增大,存款利率降低

結論:

** 利率隨著借款總額和存款總額的變動而變動,**

3.2 利率

如果沒有任何交易事件(存款、提現、借款、還款)發生,存款總額、借款總額就不會發生變化,利率在這個段時間里也會一直保持不變,但是伴隨交易事件的產生,存款、借款總額會發生變化,這會引起利率發生改變,

假設借款利率5%,那么在發生存款、借款、還款等事件時(存款利率變化暫不考慮時間因素),如下所示:在這里插入圖片描述

說明:

  • 初始狀態下沒有借款就沒有營收,存款利率=借款營收/存款總額=0/100,所以存款利率=0,
  • 有新增借款后,借款營收=50*5%=2.5,存款利率=借款營收/存款總額=2.5/100,所以存款利率=2.5%,
  • 有新增存款后,借款總額不變所以借款營收不變,存款利率=借款營收/存款總額=2.5/(100+50),所以存款利率=1.67%,
  • 有部分還款后,借款總額變少所以營收變少,存款利率=借款營收/存款總額=(30*5%)/(100+50),所以存款利率=1%,

結論:

** 交易事件(存款、借款、提現、還款)引起利率變化,**

3.3 利率與時間

現實中,借款營收、存款利息與時間緊密相關,由公式可知:

借款營收 = 借款總額*借款利率*時間
存款利息 = 存款總額*存款利率*時間

擴展一下上面的示例,假設月利率5%,疊加時間后,下過如下所示:
在這里插入圖片描述

注意:示例中將上一個月的存款利息放入本月的存款總額中,即現實社會中的復利,

注意:這里使用復利計算

將上一個月的存款利息放入本月的存款總額中,
將上一個月的借款利息放入本月的借款總額中,

說明:

初始階段(持續1個月):

  • 1月期初:存款總額=100,借款總額=0,存款利率=0,借款利率=5%
  • 1月底進行結算:本月沒有借款就沒有營收,存款利率=借款營收/(存款總額*時間)=0/(100*1),所以存款利率=0,
  • 1月期末:存款總額=100,借款總額=0,存款利率=0,借款利率=5%

第二階段(持續2個月)

  • 2月期初:存款總額=100,借款總額=50,存款利率=0,借款利率=5%,
  • 3月底進行結算:借款營收=50*5%*2=5,存款總額=100,存款利率=借款營收/(存款總額*時間)=5/(100*2),所以存款利率=2.5%,
  • 3月期末:存款總額=105,借款總額=55,存款利率=2.5%,借款利率=5%,

第三階段(持續3個月)

  • 4月期初:存款總額=155,借款總額=55,存款利率=2.5%,借款利率=5%,
  • 6月底進行結算:借款總額=55,借款營收=55*5%*3=8.25,存款總額=155+155*2.5%*3=166.63,存款利率=借款營收/(存款總額*時間)=8.25/(166.63*3),所以存款利率=1.65%,
  • 6月期末:存款總額=166.63,借款總額=63.25,存款利率=1.65%,借款利率=5%,

第四階段(持續1個月)

  • 7月期初:存款總額=166.63,借款總額=43.25,存款利率=1.65%,借款利率=5%,
  • 7月底進行結算:借款營收=43.255%1=2.16,存款總額=166.63+166.631.65%1=169.40, 存款利率=借款營收/(存款總額時間)=2.16/(166.631),所以存款利率=1.30%,
  • 7月期末:存款總額=169.40,借款總額=43.25,存款利率=1.30%,借款利率=5%,

結論:

** 交易事件(存款、借款、提現、還款)發生時進行結算,結算結束后按事件調整余額并引起利率變化,**

3.4 賬戶明細賬

Compound作為一個借貸平臺,其存款、借款利率隨市場需求變化,這里有一個問題,Compound上有非常多賬戶,那么每個賬戶的余額是如何計算出來的呢?
其實只要有歷史利率就可以通過迭代運算計算出每個明細賬戶的當前余額,所以在進行結算操作時只需要對事件操作的明細帳進行結算,其他賬戶可以暫時不用結算,直到它們被操作時再計算即可,如下圖所示:
在這里插入圖片描述

結論:

** 當賬戶發生交易事件(存款、借款、提現、還款)時進行結算,每次只計算此賬戶的明細帳并更新總帳,其他賬目可以等到被操作時再進行計算,**

5 Compound的治理

5.1 COMP

Compound協議只能由COMP代幣持有者及其代理升級和配置, 協議的所有潛在更改,包括增加新市場或調整系統引數(如抵押因子或利率演算法),都必須通過治理智能合約中指定的提案和投票程序,

COMP是在Compound治理中具有1:1投票權的代幣,以太坊錢包中的COMP代幣持有人可以使用 COMP治理合約中提供的函式將投票權委托給自己或任何其他以太坊地址,

委托投票權的接收者(稱為代理人),無論他們是COMP持有人本身還是其他地址,都可以提案、投票和執行提案以修改協議,你可以在 Compound 治理面板上看到當前的代理串列,

5.2 Compound的治理

詳細資訊參考Compound Governance,社區治理流如下所示:在這里插入圖片描述

5.3 核心概念

  • COMP ERC-20 代幣
    用于指定用戶的投票權,用戶錢包中的COMP余額越多,他們對提案的授權或投票就越重,

  • Delegation 委托
    COMP持有人只有在將投票權委托給某個地址后才能投票或創建提案,一次可以委托給一個地址,可以委托給COMP持有人自己的地址,被委托人的投票數相當于用戶賬號的COMP代幣余額,投票將從當前區塊開始進行委托,直到發送者再次委托或者轉移其COMP,

  • Proposals 提案
    提案是可執行的代碼,可修改協議及其作業方式,為了創建提案,必須至少有所有COMP的1%委托給該地址,現有總計1KW個COMP,因此用戶必須將至少10W個COMP委托給其地址,提案存盤在Governor智能合約的“proposals”映射中,所有提案的投票期均為3天,如果提案者在整個投票期間未維持其投票權重,則任何人都可以取消該提案,

  • Voting 投票
    用戶將投票權委托給其地址后,便可以對單個提案投票贊成或反對,提案處于“有效(Active)”狀態時可以進行投票,投票可以使用castVote立即提交,也可以使用castVoteBySig離線簽名稍后提交,如果大多數票(達到4%,即40WCOMP)對某個提案投票贊成,則該提案將在時間鎖中排隊,

  • Timelock 時間鎖
    所有治理和其他管理操作都必須在時間鎖中停留至少2天,然后才能在協議中實施,每個cToken 合約和Comptroller合約都允許Timelock地址修改,Timelock合約可以修改系統引數、邏輯和合約,以"延遲時間、選擇退出"的升級模式進行修改,

6 參考檔案

詳解 Compound 運作原理
https://learnblockchain.cn/article/1015

初學者的DeFi指南
https://learnblockchain.cn/article/570

Compound作業原理
https://www.chainnode.com/question/457841

使用 Defi 協議之前需要了解的幾個概念
https://learnblockchain.cn/article/1181

Compound Governance
https://compound.finance/docs/governance?ref=medium

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

標籤:區塊鏈

上一篇:ubuntu20.04或10版本成功安裝搜狗輸入法

下一篇:linux安裝node

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