日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 跨鏈作為區(qū)塊鏈一種不可或缺的技術(shù),我們研究跨鏈,以更好地了解區(qū)塊鏈之間是如何相互通信。 最初構(gòu)建區(qū)塊鏈時,他們設(shè)想能夠提供“一刀切”的解決方案,這意味著所有交易,智能合約或其他任何事物都

跨鏈作為區(qū)塊鏈一種不可或缺的技術(shù),我們研究跨鏈,以更好地了解區(qū)塊鏈之間是如何相互通信。

最初構(gòu)建區(qū)塊鏈時,他們設(shè)想能夠提供“一刀切”的解決方案,這意味著所有交易,智能合約或其他任何事物都在單個鏈上執(zhí)行。 但是,現(xiàn)在很明顯,這樣的系統(tǒng)不太實用,尤其是在存在可伸縮性限制和創(chuàng)新約束的情況下。

跨鏈?zhǔn)莾蓚€相對獨立的區(qū)塊鏈之間的互操作性。換句話說,由于區(qū)塊鏈?zhǔn)且詷?biāo)準(zhǔn)化的方式構(gòu)建的,因此它允許區(qū)塊鏈彼此通信。跨鏈實施主要以資產(chǎn)交換和資產(chǎn)轉(zhuǎn)移為代表,既是區(qū)塊鏈?zhǔn)澜绲闹匾M成部分,也是PPIO的重要研究方向。使用交叉鏈,可以避免單鏈的局限性。今天,我們將探討Cosmos跨鏈協(xié)議的邏輯結(jié)構(gòu)。

根據(jù)不同的基礎(chǔ)技術(shù),跨鏈的相互作用可以分為同構(gòu)的跨鏈和異類的跨鏈。對于同構(gòu)鏈,安全機制,共識算法,網(wǎng)絡(luò)拓撲和塊生成驗證邏輯是一致的,它們之間的跨鏈交互相對簡單。

另一方面,異構(gòu)鏈的跨鏈交互相對復(fù)雜,并且包括諸如針對比特幣的PoW算法和針對Tendermint的PBFT共識算法之類的技術(shù)。區(qū)塊組成和確定性保證機制差異很大,因此直接設(shè)計跨鏈交互機制并不容易。異構(gòu)鏈之間的跨鏈交互通常需要第三方輔助服務(wù)。

如何實現(xiàn)跨鏈同構(gòu)?

基于Tendermint開發(fā)的鏈可以采用同構(gòu)跨鏈。 Cosmos中同構(gòu)鏈之間的資產(chǎn)轉(zhuǎn)移原理如下。

由于Tendermint使用PBFT+POS共識算法,因此只有在2/3個驗證者同意的情況下,才會將區(qū)塊提交到網(wǎng)絡(luò)??梢酝ㄟ^檢查區(qū)塊頭以驗證區(qū)塊頭在特定鏈中是否合法來驗證驗證器信息。例如Tendermint正在開發(fā)兩條鏈:鏈A和鏈B?,F(xiàn)在假設(shè)資產(chǎn)需要在鏈上轉(zhuǎn)移。首先,兩個鏈A和B將相互注冊。在注冊過程中,A和B認識到它們的獨立性。然后鏈將相互發(fā)送各自的創(chuàng)世塊和ChainID(用于表示不同的鏈)。由于創(chuàng)世塊包含驗證者信息,因此在注冊后,A和B鏈將具有另一條鏈的驗證者信息以及區(qū)塊頭信息。

現(xiàn)在,需要將A中的資產(chǎn)轉(zhuǎn)移到B。首先用戶可以將跨鏈交易包Tx發(fā)送到A。A執(zhí)行packageTx,銷毀或定相關(guān)資產(chǎn),然后將packageTx寫入出口。出口可視為放置所有外部通知的跨鏈交易的郵箱。

為了將在鏈A中發(fā)生的事件通知鏈B,需要一個中繼器。中繼器負責(zé)將跨鏈消息從鏈A的出口轉(zhuǎn)發(fā)到鏈B的出口。在這種情況下,中繼器在鏈A的出口中查詢packageTx,并獲得packageTx的Merkle證明。該信息被打包到IBC Package PostTx事務(wù)中并發(fā)送到鏈B,鏈B查詢關(guān)于packageTx位置的區(qū)塊頭信息。它還將區(qū)塊頭信息打包到IBCUpdate Chain Tx中,并將其發(fā)送到鏈B。注意中繼器支付了IBC Package PostTx和IBCUpdate Chain Tx的交易成本。

鏈B接收到IBCPacketPostTx事務(wù)后,它首先通過該鏈中的驗證器檢查IBCUpdateChainTx中的區(qū)塊頭是否為鏈A的一部分,然后驗證IBCPacketPostTx中跨鏈?zhǔn)聞?wù)的Merkle證明是否等于該區(qū)塊IBCUpdateChainTx中的頭哈希。當(dāng)所有支票都通過時,B鏈開始執(zhí)行相關(guān)操作(對于B鏈,這意味著生成相關(guān)資產(chǎn)等)。

同構(gòu)跨鏈實現(xiàn)方法

Cosmos中的跨鏈由IBC協(xié)議實現(xiàn)。 Cosmos生態(tài)系統(tǒng)中定義了以下IBC協(xié)議軟件包:IBCRegisterChainTx,IBCUpdateChainTx,IBCPacketCreateTx,IBCPacketPostTx。

IBCRegisterChainTx

在跨鏈的開頭使用以下代碼注冊和發(fā)送創(chuàng)世紀(jì)區(qū)塊。驗證者會將其交給另一方。此代碼只能執(zhí)行一次,多次執(zhí)行將報告錯誤。

type IBCRegisterChainTx struct {

BlockchainGenesis

}

type BlockchainGenesis struct {

ChainID string

Genesis string

}

IBCUpdateChainTx

用于將當(dāng)前鏈上的最新區(qū)塊信息,區(qū)塊高度和區(qū)塊頭信息傳輸?shù)搅硪粋€鏈。

type IBCUpdateChainTx struct {

Header tm.Header

Commit tm.Commit

// TODO: NextValidators

}

IBCPacketCreateTx

當(dāng)鏈條接收到交易包時,它將執(zhí)行跨鏈交易并將相關(guān)信息放入出口。

type IBCPacketCreateTx struct {

Packet

}

type Packet struct {

SrcChainID string

DstChainID string

Sequence uint64

Type string // redundant now that Type() is a method on Payload ?

Payload Payload

}

IBCPacketPostTx

跨鏈交易執(zhí)行后,此軟件包包含Merkle證明,然后由中繼器將其發(fā)送到另一個鏈。

type IBCPacketPostTx struct {

FromChainID string

// The immediate source of the packet, not always Packet.SrcChainID

FromChainHeight uint64

// The block height in which Packet was committed, to check Proof

Packet

Proof *merkle.IAVLProof // Merkle證明

}

plugin

從上面的協(xié)議我們可以看到,這些協(xié)議包實際上是一個事務(wù)。Tendermint有一個plugin模塊,以方便我們擴展。 我們可以在plugin中實現(xiàn)接口,并使用IBC plugin執(zhí)行跨鏈交易。

type Plugin interface {

// Name of this plugin, should be short.

Name() string

// Run a transaction from ABCI DeliverTx

RunTx(store KVStore, ctx CallContext, txBytes []byte) (res abci.Result)

// Other ABCI message handlers

SetOpTIon(store KVStore, key, value string) (log string)

InitChain(store KVStore, vals []*abci.Validator)

BeginBlock(store KVStore, hash []byte, header *abci.Header)

EndBlock(store KVStore, height uint64) abci.ResponseEndBlock

}

上面的代碼是plugin接口的定義。可以看出,該plugin與ABCI接口非常相似,因此IBC事務(wù)在deliverTx處交給了該plugin。

// ABCI::DeliverTx

func (app *BaseApp) DeliverTx(txBytes []byte) (res abci.Result) {

// Exec tx

switch tx := tx.(type) {

case *types.SendTx:

// 執(zhí)行正常交交易

case *types.AppTx:

// 執(zhí)行plugin中的交易

plugin := pgz.GetByName(tx.Name)

res = plugin.RunTx(cache, ctx, tx.Data)

return res

default:

return abci.ErrBaseEncodingError.SetLog(“Unknown tx type”)

}

return res

}

異構(gòu)跨鏈PegZone

對于使用POW共識算法的鏈,例如比特幣和以太坊,它們?nèi)绾问褂肨endermint的IBC協(xié)議跨鏈運作?由于這些鏈中使用了POW算法,因此我們無法通過驗證器驗證這些鏈的區(qū)塊。我們也無法使用Merkle證明來證明這些鏈上跨鏈交易的合法性。此外,POW共識算法生成的區(qū)塊是概率性最終的,并且有可能被回滾。我們需要確??珂溄灰资钦嬲淖罱K交易,并且不會回滾。

基于以上考慮,我們使用PegZone方案執(zhí)行異構(gòu)跨鏈。PegZone本身實際上是Tendermint開發(fā)的代理鏈,它實時跟蹤原始鏈的狀態(tài),并設(shè)置安全閾值以等待原始鏈塊的增長。當(dāng)數(shù)字達到安全閾值時,原始鏈狀態(tài)被視為具有偽實時終結(jié)性(回滾概率?。?,這與輕客戶端錢包驗證的原理相同。例如比特幣安全閾值通常設(shè)置為6,而ETF安全閾值可以設(shè)置為20或100。PegZone本身具有實時確定性,可以通過IBC連接到Cosmos Hub以實現(xiàn)跨鏈。

下圖使用PegZone或Peggy以及以太坊作為跨鏈接的示例。

從上圖可以看出,PegZone可分為五個部分:

1. smart contract:資產(chǎn)托管在以太坊和Cosmos中代幣托管中的作用。它主要提供四種方法:鎖定,解鎖,鑄造和銷毀。

2. witness:這是一個完整的以太坊節(jié)點,它監(jiān)視以太坊合約的事件并等待生成100個區(qū)塊。封裝的見證人Tx被提交給PegZone以證明以太坊區(qū)塊鏈上的狀態(tài)變化。

3. PegZone:PegZone是基于Tendermint的區(qū)塊鏈,可維護用戶帳戶信息,允許用戶之間進行資產(chǎn)轉(zhuǎn)移并提供交易查詢。

4. signer:Secp256k1用于簽名交易,以便可以通過智能合約有效地驗證簽名;這對應(yīng)于智能合約的驗證者公鑰集。

5. relay:relay負責(zé)所有事務(wù)轉(zhuǎn)發(fā)。該角色將已簽名的SignTx轉(zhuǎn)發(fā)到智能合約。

Cosmos Hub角色

在Cosmos中的basecoin跨鏈演示中,兩個鏈(鏈A和鏈B)被跨鏈接,并相互發(fā)送IBC注冊鏈Tx進行注冊。 跨鏈時,將直接發(fā)送IBC協(xié)議包以執(zhí)行資產(chǎn)的跨鏈操作。但是這種直接連接有問題。隨著訪問網(wǎng)絡(luò)的區(qū)域(相當(dāng)于一個獨立的區(qū)塊鏈)的數(shù)量增加,如果直接實現(xiàn)通信,鏈接的數(shù)量將以平方的順序增加。以連接到網(wǎng)絡(luò)的100個區(qū)域為例。 果每個區(qū)域直接需要建立IBC連接,則網(wǎng)絡(luò)需要n(n-1)/ 2 = 4950個通信鏈路。如此快速的增長顯然將壓倒整個網(wǎng)絡(luò)。

Hub的概念可以解決有關(guān)此問題的問題。在Cosmos生態(tài)系統(tǒng)中,所有區(qū)域都將注冊并向集線器發(fā)送IBC軟件包。

Hub運行模式

Hub管理許多區(qū)域。所有區(qū)域都需要向Hub注冊。Hub跟蹤每個區(qū)域的狀態(tài)。每個區(qū)域?qū)⑵洚a(chǎn)生的所有新區(qū)塊信息報告給Hub。同時每個區(qū)域還需要同步Hub的狀態(tài)。每個區(qū)域不是通過區(qū)域之間直接通信,而是通過將IBC發(fā)送到Hub進行間接通信。

當(dāng)區(qū)域建立與Hub的IBC連接時,它可以自動訪問連接到Hub的其他區(qū)域,這意味著一個區(qū)域不需要連接到其他區(qū)域。

當(dāng)一個區(qū)域從連接到Hub的另一個區(qū)域接收令牌時,它只需要信任Hub和該區(qū)域,而不必信任網(wǎng)絡(luò)中的所有其他區(qū)域。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉