日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

AIgorand的基本原理

發(fā)布時間:2023/12/13 ChatGpt 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AIgorand的基本原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

三難問題

  • 安全性(雙花交易/女巫攻擊/洪流攻擊)
  • 去中心化(挖礦POW機(jī)制,以太坊/比特幣)
  • 規(guī)模擴(kuò)展性(Tps:每一秒交易的個數(shù))

現(xiàn)狀

  • POW機(jī)制(挖礦),滿足了安全性和去中心化,但是限制了擴(kuò)展性。因此,每秒處理的交易的個數(shù)很少,大約每一秒僅僅可以處理7筆交易。
  • POS機(jī)制(聯(lián)盟鏈的選舉機(jī)制),這個是否偏離了中心化?傳統(tǒng)的P2P機(jī)制,每一個節(jié)點(diǎn)的地位是相等的,如果采用POS機(jī)制里面的大節(jié)點(diǎn)的選舉機(jī)制,節(jié)點(diǎn)僅僅付出很少的代價,就可以進(jìn)行拒絕某些交易,甚至是將虛假交易包含進(jìn)入?yún)^(qū)塊等行為。

相關(guān)研究

  • 分片
  • 鏈下交易
  • 有向無環(huán)圖

AIgorand優(yōu)勢

  • 分叉的概率很低
  • 算力要求很低,無需挖礦
  • 出塊的速度很快

AIgorand介紹

?對于字符的介紹

  • r:區(qū)塊的高度?
  • Pay^r:這個區(qū)塊里面包含的所有交易
  • Q^r-1:前一輪產(chǎn)生的種子
  • H:哈希
  • B^r:區(qū)塊的信息
  • 接收時間?:對于任意一個參數(shù)?,(這個參數(shù)是指全網(wǎng)收到消息的用戶占據(jù)全網(wǎng)的百分比),在?時間內(nèi)全網(wǎng)n個人可以互相通信,?是指消息的大小,因?yàn)榫W(wǎng)絡(luò)傳輸?shù)南⒌拇笮『途W(wǎng)絡(luò)通信的速度息息相關(guān)。即,接收時間是評估針對指定大小消息在全網(wǎng)所有節(jié)點(diǎn)中傳播達(dá)到百分之幾占比所花費(fèi)的時間。
  • :存在兩個應(yīng)用場景:1,區(qū)塊的同步;2,簽名

第r個區(qū)塊的產(chǎn)生

元素符號的介紹

  • .H:是指將括號內(nèi)的元素進(jìn)行哈希運(yùn)算之后,將生成的哈希碼轉(zhuǎn)化為0到1之間的一個數(shù)
  • P1:26/n n是全網(wǎng)的用戶,這個P1的目的是從全網(wǎng)中選取26個節(jié)點(diǎn)作為領(lǐng)導(dǎo)者
  • :簽名信息
  • l:是從我接收到的所有潛在領(lǐng)導(dǎo)者發(fā)給我的區(qū)塊和簽名中,選擇我支持的領(lǐng)導(dǎo)者,并且將其簽名進(jìn)行哈希以及轉(zhuǎn)化

算法的流程?

  • 每一個用戶進(jìn)行簽名(SIG),其中1是算法的第一步,Q^r-1是第r-1輪的種子,這個種子產(chǎn)生一般在伴隨區(qū)塊產(chǎn)生之后誕生,種子具備隨機(jī)性和不可預(yù)測性。
  • 用戶通過比較自身的簽名函數(shù)的哈希值判斷自己是否是Potional leader(潛在的領(lǐng)導(dǎo)者),這個驗(yàn)證的過程是不需要相互通信的,因此可以保證信息不會泄露。只有確認(rèn)自己是Potional leader(潛在的領(lǐng)導(dǎo)者),則創(chuàng)建區(qū)塊并進(jìn)行全網(wǎng)廣播
  • 全網(wǎng)用戶根據(jù)收到的信息,確定初始值(區(qū)塊的哈希值)
  • Verifier驗(yàn)證節(jié)點(diǎn)運(yùn)行BA*算法,這個算法是AIgorand的核心
  • 用戶達(dá)成共識(共識會有兩種情況:1,大家對于一個有效的區(qū)塊達(dá)成共識;2,大家對于一個無效的區(qū)塊達(dá)成共識,這個無效的區(qū)塊被廢棄。),生成該輪區(qū)塊,并生成下一輪的種子
  • 在生成下一輪的種子的時候,如果有領(lǐng)導(dǎo)者,則使用?,如果沒有對上一次的種子進(jìn)行哈希?

?BA*算法概覽

  • BA*算法有一個核心的假設(shè),n>3t + 1,n是總共的人數(shù),t為壞人(壞人控制的人數(shù))的數(shù)量,這中假設(shè)是拜占庭容錯問題中十分常見。每個用戶擁有一個初始值(任意),通過BA*算法對于輸出達(dá)成一致的意見(滿足兩條共識性質(zhì))
  • BA*算法是由BBA*算法和GC算法所構(gòu)成的。BBA*算法是解決二元初始值達(dá)成共識的算法
  • GC算法可以看做是從二元初始數(shù)值到任意初始數(shù)值的一個橋梁

BBA*算法

符號介紹

  • bi:初始默認(rèn)值,{0,1}
  • #i(0):計數(shù),從個人用戶的自身來看,屬于0的個數(shù)。這個符號的用法:假設(shè)屬于0的人數(shù)超過了2t,就一直廣播0,如果不是判斷屬于1的人數(shù)的個數(shù)是否超過了2t,是的話就一直廣播1。如果都不滿足,先是等待計數(shù)0和1的個數(shù),循環(huán)執(zhí)行上述整個的流程。但是這個循環(huán)次數(shù)是有次數(shù)的限制的。

流程介紹?

?

  • BBA*算法考慮的是二元的初始數(shù)值,用戶通過一系列的收集信息、更新私有值,并對新的私有數(shù)值進(jìn)行廣播的操作,最后以極大的概率達(dá)成共識。達(dá)成共識的概率取決于算法的循環(huán)次數(shù),每循環(huán)一次以1/3的概率達(dá)成共識。循環(huán)次數(shù)越多,達(dá)成共識的概率越多,AIgorand中循環(huán)的次數(shù)的上限是60次,達(dá)到循環(huán)的上限次數(shù)則輸出缺省值1。
  • step3的時候是不會進(jìn)行終止判斷的,終止的用戶通過一直廣播自己的輸出值來引導(dǎo)其他用戶對于自己的輸出數(shù)值達(dá)成共識。
  • 算法的直觀含義是:BBA*算法的目的就是為了對于寫入?yún)^(qū)塊鏈的數(shù)據(jù)區(qū)塊好人的個數(shù)大于壞人的個數(shù),但是這個區(qū)塊是誠實(shí)的,不包含虛假交易的。

  • GC算法是由Micali在1997年提出的,這個算法由兩個部分組成:1,共識輸出;2,?對于輸出的確信程度的評價。其中2表示完全肯定;1表示比較確定;0表示完全的不確定。所以在0的時候輸出的是default,也就是后文的區(qū)塊鏈中的空的區(qū)塊。
  • GC算法的用戶策略比較簡單,就是看收到相同信息的條數(shù)是否足夠多,從而廣播與輸出不同的數(shù)值。直觀上講,如果用戶收到足夠多的相同的信息,則表明有許多的誠實(shí)用戶的初始值是一致的。

AIgorand(將BA*算法應(yīng)用于區(qū)塊鏈)

  • 注意事項(xiàng):每一個環(huán)節(jié)都要選取不同的Verifier節(jié)點(diǎn)(驗(yàn)證節(jié)點(diǎn)),因?yàn)槿绻看芜x取的都是固定的驗(yàn)證節(jié)點(diǎn),那么很可能會遭到壞人的攻擊,導(dǎo)致安全性問題。

符號的介紹

  • ??:區(qū)塊
  • :用戶i對于step s的簽名
  • :初始值
  • 和?:延遲的時間

注意事項(xiàng)

  • 用戶在第r輪一開始的時候,就會計算自己每一個step的哈希值,來確定自己是否是Potional leader或者是整個流程的其中一步的Verifier。
  • 用戶每一次廣播都需要發(fā)布自己的簽名,下面是對于整個的流程的介紹
  • 因?yàn)檎\實(shí)用戶之間所差的時間不會超過一個?,因此等待時間一般為2個(1個用于消息的傳播,一個用于等待誤差)

流程的介紹

  • step1:Potional Leader廣播區(qū)塊和自己的簽名
  • step2:Verifier選擇初始值,并將選擇的結(jié)果和自己的簽名一起廣播,對應(yīng)GC算法的step1
  • step3:對應(yīng)GC算法的step2,只有滿足條件的用戶才進(jìn)行廣播
  • step4:對應(yīng)GC算法的step3,計算(vi,gi)和對(vi,gi)進(jìn)行轉(zhuǎn)換
  • step3K+2,3,4......:對應(yīng)了BBA*算法的1,2,3步驟,終止條件類似于BBA的終止條件,這里的CERT^r為上一步中廣播的0(1)的用戶的集合(只有在終止的條件時才會出現(xiàn)),最終輸出的時候需要按照先前提到的方法進(jìn)行轉(zhuǎn)換。如果達(dá)到了3m+4步依舊沒有終止,輸出缺省值為空的區(qū)塊。

時間線

  • 存在一個定理:保證了對于任意一個區(qū)塊,所有的用戶的開始時間和結(jié)束時間都幾乎是相同的,存在誤差,這也保障了AIgorand算法的同步性。這個定理的證明十分的復(fù)雜,核心思想是采用了歸納法,對于不同的輸出進(jìn)行分情況討論。

應(yīng)對女巫攻擊

  • 用戶的資產(chǎn)是作為用戶被選取為Verifer的概率的指標(biāo),這個概率的指標(biāo)和資產(chǎn)數(shù)量是成正比的,圖中的w是指用戶的資產(chǎn)數(shù)量。通過確定哈希數(shù)值所屬的區(qū)間(區(qū)間長度為二項(xiàng)分布)來確定用戶的權(quán)重。
  • 使用二項(xiàng)分布作為區(qū)間的好處是用戶是無法通過拆分資產(chǎn)來達(dá)到提高自身權(quán)重的目的,這個方法的本質(zhì)是隨機(jī)化的POS。?

參考鏈接

  • BFTF第一期知享會——張季恒:Algorand的基本原理
  • 對應(yīng)的ppt講義

總結(jié)

以上是生活随笔為你收集整理的AIgorand的基本原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。