Monero(XMR) 技術介紹- 環簽交易(RingCT) - 數位貨幣

Yuri avatar
By Yuri
at 2017-07-25T12:42

Table of Contents

這篇文是翻譯自於一系列官方FFS的影片文字稿

建議有興趣的可以先看看先前的文章補充一下背景會比較好理解這篇

Monero 技術介紹 (一) – 隱匿性地址
https://xmr-tw.org/2017/06/30/monero-stealth_addresses/

Monero 技術介紹 (二) – 環狀簽名
https://xmr-tw.org/2017/07/20/monero-ring-signatures/


以下為本篇

Monero 技術介紹 (三) – 環簽交易(RingCT)
https://xmr-tw.org/2017/07/25/ringct/


Monero 是一種安全且無法追蹤的電子加密貨幣。它來自一個開放原始碼、去中心化且任
何人皆可自由參閱的開發專案。

在這篇文章中,我們要來談談環狀簽名保密交易,通常簡稱為環簽交易(RingCT)。

在上一篇文章中,我們呈現了 Monero 是如何藉由創造無法區分的交易輸入以保護付款者
的隱私。 過程中使用了數位簽名的技術,將真正的交易簽署者隱藏在數個環狀簽名輸入
中完成一筆交易。 另外,我們也闡述了金鑰映像(key image)是如何用來防止交易輸入被
重複花費。 然而為了更徹底的增加交易雙方的隱私,一個稱為環簽保密交易(RingCT)的
協定被用來隱藏交易的金額。

在 Monero 發展早期開始啟用 RingCT 之前, Monero 的交易金額需要先分割成特別的單
位數量。 譬如,一筆金額為 12.5 的交易輸出會被分割成三筆分別為10、2、0.5的金額
。 這樣的方式可以讓環狀簽名在建構時可以有足夠等同的輸入來源,因為環狀簽名的輸
入金額必須是一致的。 但在這個交易步驟中,每一筆交易金額都是可見的。 為了改善這
個缺點, Monero 在 2017 年的一月啟用了 RingCT 協定。 在啟用 RingCT 的一個月後
,大約有 98% 的交易都是使用 RingCT 協定。 而在 2017 年的九月之後,所有的
Monero 交易都會是強制使用 RingCT 協定。

如今在使用 RingCT 的協定下,每個在挖礦中新產生的 Monero 會先以可見金額的形式存
在於交易輸出中。 而當這些新產生的 Monero 在第一次被轉移時,將會產生帶有金額遮
罩的 RingCT 交易輸出。 如此一來, Monero 的交易將不再需要被分割為特定的單位數
量。 這代表著錢包在交易時可以任意挑選一個 RingCT 的交易輸出,這大幅提高了匿蹤
性。 值得注意的是,一個環狀簽名裡無法同時包含在 RingCT 啟用前的舊交易輸出與帶
有金額遮罩的新交易輸出。 所以就如同新產生的 Monero 的處理方式,在 RingCT 啟用
前的舊時期交易輸出必須要先轉換成 RingCT 的交易輸出,接著才能與 RingCT 的輸出形
成環狀簽名。 讓我們來舉個例子來解釋 RingCT 是如何運作的。

舉例來說,若 Alice 擁有一個金額為 12.56 的交易輸出並想付款 2.5 個 Monero 給
Bob。 由於輸出是無法被花費兩次的,所以這個輸出將會被整筆花費出去,之後才會將
找零返回給 Alice 。 以這個例子為例, Alice 的這筆交易將會有一筆 12.56 Monero
的輸入和兩筆輸出,第一個輸出會是要付款給 Bob 的 2.5 Monero ,而另一筆將會是
10.06 Monero 的找零將會傳送回她原本自己的錢包。 為了防止 Monero 在交易的過程
中被偽造而無中生有,每一筆 Monero 的交易輸入與交易輸出各自的金額總和必須相同。
而在 RingCT 的交易中, Alice 會被要求提供一個此筆交易輸出的資訊,此資訊僅包含
了讓交易網路可以驗證此筆交易的資訊,而不會公開實際上到底花費了多少金額。儘管
提供的這些資訊看起來像是隨機的數字,礦工們仍然可以從這其中驗證轉帳給 Bob 的金
額與可用的餘額相同(詳見註1)。 在 RingCT 交易中,另一個重要的機制是”範圍保護”
,這個可以防止有人提交了負值的交易金額, 範圍保護在加密學上保證了交易中的金額
是大於零並小於特定的數字,以保護 Monero 的發行量。 基於以上的各種機制設計,使
得即使外部觀察者的角度無法從交易輸出中得知真正的交易金額,但依舊是可以驗證此筆
交易為有效的。

拜 Monero 擁有的隱私設計所賜,使用者可以隨意地發送給任何對象,而不用擔心有人會
得知交易的金額或是交易雙方的身分。 這些特性使得 Monero 成為在保護隱私需求中最
先進的數位貨幣,但這些創新的腳步不會停歇於此。 在下一篇文章中,我們將討論到
Kovri ,一個用 C++ 打造的 I2P 路由技術,將使得 Monero 的交易更加安全。

如果你有興趣了解是什麼讓 Monero 成為最重視隱私的加密貨幣,請參閱我們其他的文章
或參閱 getmonero.org。

註1:

交易中須公開的資訊由這個公式而來: rct = xG + aH(G) 。 在這邊最重要的變數為a與x
。 H(G)和G是關係到許多在這篇文章所述之外的因素故在此不做解釋。 a是在交易中的真
正金額,在文章中的例子也就是2.5。 x是用來作為金額遮罩的隨機數字,由錢包所自動
產生。 簡單來說,這個公式可以被簡單敘述為 rct = 隨機數字 + 真正的交易金額。

在RingCT的交易中,rct的值將會被發佈到交易網路中作為一個交易輸出,而交易網路或
礦工將可使用這個rct值去驗證交易輸入是否等於交易輸出的金額,以確認沒有額外的
Monero 被偽造產生。 然而,對於一個外部的觀察者來說,並無從得知變數x的實際金額
,所以無法得知有多少金額在交易中被實際的花費掉。

本篇翻譯來源
https://github.com/alvinjoelsantos/promo-video/blob/master/ringct.md

--

All Comments

Liam avatar
By Liam
at 2017-07-26T23:14
翻譯推。
Carol avatar
By Carol
at 2017-07-30T18:52
Ula avatar
By Ula
at 2017-07-31T01:05
這種保密難以追蹤特性不會反而變成阻礙嗎
Poppy avatar
By Poppy
at 2017-08-02T07:21
它還在小眾幣時,政府大概懶得大費周章。
Dinah avatar
By Dinah
at 2017-08-06T13:32
若想發展更大更好,各國政府恐怕會找麻煩。
Joe avatar
By Joe
at 2017-08-07T06:37
是看到BTC還特別強調一切可追蹤,有感而發
Michael avatar
By Michael
at 2017-08-11T09:18
推!
Necoo avatar
By Necoo
at 2017-08-12T15:40
Lydia avatar
By Lydia
at 2017-08-13T06:37
XMR/BTC 幾分鐘前爆衝,是發生什麼事
Dora avatar
By Dora
at 2017-08-17T18:11
沒啥 只是上了個金融新聞信仰加值 https://goo.gl/R6yaez
Ophelia avatar
By Ophelia
at 2017-08-19T18:06
XDD

Ethereum POS

Hazel avatar
By Hazel
at 2017-07-24T23:49
作者另有投影片在這邊 https://media.consensys.net/casper-smart-contract-consensus-7be6cfa6f7ec 從目前有公佈的消息來看,以太坊的POS打算透過智能合約來完成 它比較像是一個賭盤,賭那一個區塊會獲得最多礦工的睛睞,也就是共識落誰家? 猜對 ...

特別的錢包地址如何申請註冊?

Agnes avatar
By Agnes
at 2017-07-24T00:24
看到ETH有些很特別的錢包地址 像是這種 0x0000000000000000000000000000000000000000 0x1111111111111111111111111111111111111111 等等...這種 特別的錢包地址 而且也確實存在 https://etherscan.io/add ...

對一般電價的人來說 買算力似乎比較划算?

Victoria avatar
By Victoria
at 2017-07-22T23:52
看了一下幾個販售算力的網站 像是genesis-mining的價格來參考 如果對於只使用一般電價的人來說 以現在的情況 15張卡 有刷BIOS ETH算力平均約350MH/S 電費絕對超過1000度 所以用最貴的計算 三張卡的機器搭配80PLUS金牌PSU 功率約550W *5 夏季電費每個月約13285.8 ...

1070*6礦機算力

John avatar
By John
at 2017-07-22T17:11
http://imgur.com/a/cxfZG http://imgur.com/a/zbR8J 小弟為新手礦工 手邊礦機是1070*6卡 用Claymore挖 算力大概都落在30-31MH/S 想請問 若是用MSI Afterburner 數值該怎麼調整會最佳化 - ...

各位小礦工的挖礦狀態?

Yedda avatar
By Yedda
at 2017-07-22T11:22
小弟本身4台電腦共8卡挖礦 算力約200Mh/s nanopool估算一個月大概可以挖1.6顆eth 感覺越來越難挖 不知道大家目前挖礦狀況如何? 難度一直上去 有點想棄坑了… - ...