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

當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] Grin,一種使用MimbleWimble協(xié)議的新型加密貨幣,連日來(lái)讓整個(gè)市場(chǎng)為之興奮。但其相關(guān)教程卻乏善可陳。 Grin輸出采用了Pedersen Commitment。輸出形式如下:

Grin,一種使用MimbleWimble協(xié)議的新型加密貨幣,連日來(lái)讓整個(gè)市場(chǎng)為之興奮。但其相關(guān)教程卻乏善可陳。

Grin輸出采用了Pedersen Commitment。輸出形式如下:

Grin輸出——Pedersen Commitment方案。

Pedersen Commitment是一種隱藏信息的巧妙方式。如果這是你第一次聽到Commitment,那么再看到這個(gè)詞語(yǔ)的時(shí)候你就可以將其理解為“隱藏價(jià)值”。

如果我們選擇一個(gè)非常大的數(shù)字 k 作為私鑰,則k * H被認(rèn)為是相應(yīng)的公鑰。即知道公鑰k * H的值,要推導(dǎo)出 k 的值也幾乎是不可能的。..

? r 是私鑰,用作盲因子, G 是橢圓曲線上的不動(dòng)點(diǎn),他們的乘積 r*G 是曲線上r的公鑰。

? v 是輸入或輸出值,H 是橢圓曲線上的另一個(gè)不動(dòng)點(diǎn)。

在公式(k + j)* H = k * H + j * H中, k 和 j 都是私鑰,說(shuō)明兩個(gè)私鑰和獲取的公鑰(k + j)* H,等于每個(gè)私鑰的對(duì)應(yīng)公鑰和(k * H + j * H)。

在ECC入門中有對(duì)密碼學(xué)更深入的研究,但簡(jiǎn)而言之,要花費(fèi)Grin,就必須要知道盲因子(r)和Grin的數(shù)量(v)。而要解構(gòu)commitment來(lái)推斷這些值是不可能的。我們必須提前知道這些值。

盲因子之所以存在是因?yàn)橄蚰阒Ц禛rin的人也知道v的值是多少(他們向你發(fā)送了多少Grin)。但只有你(而非Grin的發(fā)出方)知道該輸出的盲因子,因此,只有你能夠花掉這筆輸出。

假設(shè)該筆輸出使用的盲因子為20,且該筆輸出包括40個(gè)Grin。(注:Grin的數(shù)量實(shí)際上是以原子單位1 NanoGrin的倍數(shù)發(fā)送的。簡(jiǎn)單起見,這里我們使用“Grin”來(lái)表示。):

該筆輸出中,盲因子為20,Grin數(shù)量為40.

若查看Grin的區(qū)塊鏈瀏覽器,你會(huì)發(fā)現(xiàn)這筆輸出不會(huì)如上所述整齊地分解。以下為真正的Grin輸出,與我們所創(chuàng)建的一樣:

Grin輸出形式(在Commit列下)

同樣,要從該輸出中推導(dǎo)出“20”(盲因子)或“40”(Grin數(shù)量)是不可能的。

花費(fèi)輸出

假設(shè)我們展示的輸出屬于Alice?,F(xiàn)在,Alice希望將40個(gè)Grin中的25個(gè)發(fā)送給Bob。為方便說(shuō)明,我們將忽略礦工費(fèi)。

如果你用一張5美元的鈔票買了一件3美元的東西,那么你會(huì)得到2美元的找零(余額)。比特幣交易方式亦是如此,Grin也不例外。如果Alice想要從她未使用的40個(gè)Grin輸出中發(fā)送25個(gè)Grin給Bob,她也會(huì)在同樣一筆交易中創(chuàng)建一個(gè)輸出,這筆輸出會(huì)將余下的15個(gè)Grin(找零)返還給她自己。

Alice確定想要發(fā)送給Bob的Grin數(shù)量,及其余額。

這15個(gè)Grin將回到Alice的賬戶中,這就意味著,只有她能夠控制并再次花費(fèi)。換言之,Bob無(wú)法花費(fèi)Alice的這15個(gè)找零。為此,Alice必須為這15個(gè)找零創(chuàng)建一個(gè)新的盲因子。假設(shè)Alice選擇34作為盲因子。

Alice既知道r值(找零輸出的盲因子),也知道v值(余下Grin數(shù)量)。這樣,她就擁有了創(chuàng)建找零輸出(co)所需的一切信息。這也將作為一筆輸出記錄在區(qū)塊鏈上,就像Alice很快生成的、將25個(gè)Grin發(fā)送給Bob的輸出一樣。

Alice的余額輸出。

如前所述,要花費(fèi)任何一筆輸出,必須知道輸出中所使用的盲因子。Alice知道她想要花費(fèi)的輸出中所使用的盲因子(20),但她需要一種方式向所有人證明她知道。

為此,她需要?jiǎng)?chuàng)建一個(gè)完全獨(dú)立的計(jì)算方法——盲因子總和。這里需要Alice用她剛剛為自己的余額輸出創(chuàng)建的盲因子(34),減去她希望花費(fèi)的輸出的盲因子(20)。

Alice的盲因子總和。

s(s代表發(fā)送方,即Alice)是Alice所有盲因子的總和,本例中總和為14。(注:本文中我有意忽略了內(nèi)核偏移)。

最后,Alice要?jiǎng)?chuàng)建一個(gè)隨機(jī)數(shù)ks(s同樣代表發(fā)送方)。她將使用該隨機(jī)數(shù)為這筆交易構(gòu)建簽名,我們將在稍后展示簽名的構(gòu)建過(guò)程。Alice不會(huì)將實(shí)際隨機(jī)數(shù)發(fā)送給Bob。相反,她發(fā)送的是ks ? G,這是對(duì)該隨機(jī)數(shù)的承諾(commitment)。如前所述,Alice將隨機(jī)數(shù)與生成點(diǎn)G相乘,從而隱藏了實(shí)際隨機(jī)數(shù)的值。

Alice會(huì)將以下信息發(fā)送給Bob。但實(shí)際上,Grin數(shù)據(jù)并未被分為“元數(shù)據(jù)(Metadata)”和“數(shù)據(jù)(Data)”字段。而為了清晰起見,我們?cè)谶@里會(huì)按照如下形式表示。

Alice在本次Grin交易的第一步中發(fā)送給Bob的所有信息。

元數(shù)據(jù)字段包括:

1. 發(fā)送數(shù)量:Alice想要發(fā)送給Bob的Grin數(shù)量(本例中為25)。

2. TX UUID:Alice和Bob在來(lái)回發(fā)送數(shù)據(jù)時(shí)用于標(biāo)識(shí)此交易的唯一標(biāo)識(shí)符。

3. TX fee: 交易費(fèi)用(本教程中將不予討論)。

4. 區(qū)塊高度(lock_height):該筆交易生效時(shí)的區(qū)塊編號(hào)。

數(shù)據(jù)字段包括:

1. TX輸入:未花費(fèi)的輸出,Alice用作與Bob進(jìn)行交易的輸入。

2. co: Alice的余額輸出。

3. ks ? G: Alice的隨機(jī)數(shù)ks乘以生成點(diǎn)G,成為對(duì)該隨機(jī)數(shù)的承諾。

4. rs ? G: Alice所有盲因子rs的總和乘以生成點(diǎn)G,成為對(duì)該值的承諾。

Alice將以上全部數(shù)據(jù)發(fā)送給Bob,Bob繼續(xù)下一步操作。

輪到Bob

Bob在接收到Alice發(fā)來(lái)的數(shù)據(jù)后,將交易費(fèi)用(TX fee)和區(qū)塊高度(lock_height)變量聯(lián)系起來(lái)以創(chuàng)建M,我們稱之為該筆交易的“信息(Message)”。

該筆交易的“信息”

Bob為他想要從Alice那里收到的25個(gè)Grin選擇一個(gè)盲因子rr(r代表接收方,在本例中為Bob)。假設(shè)他選擇11作為盲因子rr,同時(shí)還選擇了自己的隨機(jī)數(shù)kr(r同樣代表接收方)。

正如Alice所做的,Bob也分別將這兩個(gè)值乘以生成點(diǎn)G,創(chuàng)建對(duì)這兩個(gè)值的承諾。接著Bob利用這些數(shù)值,為該筆交易生成Schnorr challenge,由變量e表示:

該筆交易的Schnorr challenge。

Schnorr challenge按順序包含以下內(nèi)容的SHA256哈希:

1. 交易信息。

2. Alice和Bob使用隨機(jī)數(shù)的承諾總和。

3. Bob(25個(gè)Grin輸出)的盲因子承諾總和,和Alice所有的盲因子總和。

Bob使用e為交易生成他的Schnorr簽名,sr(r代表接收方)。雖然這是Bob簽名的全部?jī)?nèi)容,但我們稱之為Bob的部分簽名,因?yàn)樗罱K將與Alice的部分簽名相加,從而得到整個(gè)交易的簽名。

該筆交易Bob的部分簽名

當(dāng)Alice最終收到sr時(shí),她是無(wú)法從中得知kr或rr的值的。

Bob將以下內(nèi)容發(fā)回給Alice:

Bob將他的部分簽名、隨機(jī)數(shù)承諾以及對(duì)輸出盲因子的承諾發(fā)回給Alice。

這些內(nèi)容按順序包括:

1. sr: Bob的部分簽名。

2. kr ? G: Bob的隨機(jī)數(shù)承諾

3. rr ? G: Bob對(duì)他想要得到的25個(gè)Grin的盲因子承諾

最后一步:回到Alice

Alice現(xiàn)在擁有所需一切信息,可以在本地計(jì)算e,即該筆交易的Schnorr challenge。在本地計(jì)算了e之后,Alice可以驗(yàn)證Bob的部分簽名。

Bob的部分簽名sr包含以下內(nèi)容:

該筆交易Bob的部分簽名

基于我們前面描述的橢圓曲線的性質(zhì),Alice可將生成點(diǎn)G引入方程式兩邊,等式仍然成立。

Alice將等式兩邊分別乘以生成點(diǎn)G。

由于Alice收到了Bob的kr?G(Bob的隨機(jī)數(shù)承諾)和rr?G(Bob的盲因子承諾,他將使用該盲因子來(lái)獲得他將收到的那25個(gè)Grin),同時(shí)由于已經(jīng)在本地計(jì)算了e,Alice可以簡(jiǎn)單地乘以生成點(diǎn)G,并確保等式的右邊等于這個(gè)值,從而驗(yàn)證Bob的部分簽名sr。

如此,Alice便證明了:

1. Bob知道他會(huì)收到多少Grin(25個(gè))。

2. Bob知道其隨機(jī)數(shù)。

3. Bob知道他想要得到的25個(gè)Grin的盲因子。

而Alice不會(huì)知道Bob選擇的隨機(jī)數(shù)或者盲因子。

接著,Alice生成自己的部分簽名:

Alice為該筆交易生成部分簽名。

Alice現(xiàn)在可以生成交易的簽名,其中包括Alice和Bob的部分簽名:

交易簽名,包括Alice和Bob部分簽名的總和以及對(duì)其隨機(jī)數(shù)的承諾。

簽名按順序包括:

1. Alice和Bob部分簽名的總和。

2. Alice和Bob的隨機(jī)數(shù)承諾的總和(他們彼此互不知道對(duì)方的真實(shí)隨機(jī)數(shù))。

簡(jiǎn)化后該簽名表現(xiàn)為:

該交易的簽名

其中 s = ss + sr, k = ks + kr.

記住這個(gè)簽名,很快你就會(huì)理解它的意義。

完成交易

數(shù)字貨幣需要“記憶”——也就是說(shuō),當(dāng)你將一筆錢發(fā)送給某一個(gè)人的時(shí)候,你就不能將它再發(fā)送給另一個(gè)人。而Grin的運(yùn)作方式隱藏了發(fā)送的Grin數(shù)量和接收方。那么,我們?cè)趺茨茏C明一筆錢沒(méi)有被重復(fù)支付或憑空創(chuàng)造出來(lái)呢?

在一筆Grin交易中,當(dāng)從輸入中減去所有輸出時(shí),剩余Grin的數(shù)量應(yīng)該等于0。那么回到之前的5美元例子:

給收銀員3美元(輸出) + 2美元找零返還給我 (輸出) – 5美元紙鈔 (輸入) = 0

在Grin的交易中,當(dāng)一筆交易合法時(shí),相同的求和使得v值總和為零。但我們?nèi)绾卧诓徽故具@些數(shù)值的情況下證明這一點(diǎn)呢?讓我們看看從Alice到Bob的交易中使用的輸入和輸出:

(34?G) + (15?H) + (11?G) + (25?H) - (20?G) - (40?H) = (25?G) + (0?H)

這里的巧妙之處在于,當(dāng)Grin的數(shù)量抵消時(shí)(不存在憑空創(chuàng)造的情況下應(yīng)該得到的結(jié)果),從輸入減去輸出所剩下的就是“過(guò)多盲因子(the excess blinding factor)”的承諾,或“kernel excess”。本文例子中,盲因子的承諾是25?G,是曲線上的公鑰。

如果一筆Grin交易的輸出總和減去輸入總和會(huì)在曲線上產(chǎn)生一個(gè)有效公鑰,那么你就會(huì)知道,v值一定已經(jīng)被抵消了。如果對(duì)于某個(gè)已知的n值,等式的右邊不是n?G + 0?H的形式,那么該筆交易無(wú)效。這意味著要么花費(fèi)的金額大于輸入的總和(就好比你拿出5美元紙鈔,向收銀員支付3美,卻得到找零10美元),要么輸入大于輸出(就好比你拿出5美元紙鈔,向收銀員支付3美元,卻沒(méi)有找零)。

還記得這個(gè)簽名嗎?

該交易的簽名

這個(gè)簽名實(shí)際上已經(jīng)對(duì)我剛剛提到的過(guò)多盲因子簽署了承諾。以下對(duì)此進(jìn)行了闡釋。

如果你還記得的話,這就是當(dāng)你在等式兩邊同時(shí)乘以生成點(diǎn)G時(shí),Bob的部分簽名。

當(dāng)兩邊同時(shí)乘以生成點(diǎn)G時(shí),Bob的部分簽名。

同樣,以下為等式兩邊同時(shí)乘以生成點(diǎn)G后,Alice的部分簽名。

等式兩邊同時(shí)乘以生成點(diǎn)G后,Alice的部分簽名。

如果將兩個(gè)方程式相加會(huì)發(fā)生什么? 你會(huì)得到:

sr?G + ss?G = (kr ? G) + (ks ? G) + (e ? (rr?G + rs?G))

記住,rr是Bob的盲因子,rs是Alice的盲因子之和。前面提到的rr?G + rs?G等同于(rr + rs)?G。

Bob對(duì)其盲因子的承諾是11?G。Alice對(duì)其盲因子總和的承諾是14?G。二者相加,得到25?G,這就是對(duì)交易中過(guò)多盲因子的承諾。因此,加上sr和ss (Bob和Alice各自的部分簽名)就證明了整個(gè)交易的有效性,因?yàn)樗鼈兗悠饋?lái)就等于對(duì)過(guò)多盲因子的承諾。

進(jìn)一步簡(jiǎn)化該等式,我們會(huì)得到:

sr?G + ss?G = (k?G) + (e ? (r?G))

或:

sr?G + ss?G = (k?G) + (e ? (25?G))

接下來(lái)就要檢查左右兩邊是否相等。

記住,這個(gè)等式中的所有內(nèi)容(部分簽名的總和,e中的所有內(nèi)容,對(duì)過(guò)多盲因子的承諾,對(duì)隨機(jī)數(shù)總和的承諾)都是公開可見的,因此任何人都可以對(duì)此進(jìn)行驗(yàn)證。我們既不需要Alice也不需要Bob的盲因子來(lái)驗(yàn)證交易。加上他們的部分簽名,并驗(yàn)證他們對(duì)過(guò)多盲因子的承諾進(jìn)行了求和,我們就證明了:

1. 在花費(fèi)Alice之前的輸入時(shí),沒(méi)有憑空創(chuàng)造新的資金。

2. Alice和Bob在創(chuàng)建該筆交易時(shí)都知道其輸出的盲因子。這意味著他們可以花費(fèi)新的輸出,不會(huì)出現(xiàn)問(wèn)題。

我們用來(lái)驗(yàn)證交易的信息被放在交易內(nèi)核中。

交易內(nèi)核

除輸出外,交易內(nèi)核是從Grin交易輸出中得到的另一條信息。每筆交易都會(huì)生成一個(gè)交易內(nèi)核,但是Grin區(qū)塊鏈?zhǔn)菬o(wú)法查看的,也無(wú)法將一筆輸出與交易內(nèi)核相關(guān)聯(lián)。每筆Grin交易都存在一個(gè)交易內(nèi)核,其中包含了“沒(méi)有憑空創(chuàng)造新的資金”的證明。

交易內(nèi)核中存儲(chǔ)信息如下:

1. 交易的簽名(s, k ? G)。

2. 與“過(guò)多盲因子”相關(guān)的公鑰(在本例中為25?G)。如上所述,可用其驗(yàn)證s。

3. 交易費(fèi)和交易的區(qū)塊高度。(注:如果是Coinbase交易,則這兩者均不存在)。

總結(jié)

完成以上操作后,從該筆交易向網(wǎng)絡(luò)中廣播的信息僅包括:

1. 使用的輸入。

2. 新的輸出。

3. 交易內(nèi)核。

4. 內(nèi)核偏移。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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