起源
CryptoNote 技術首先在白皮書 CryptoNote v 1.0 中描述。更新的版本已經以 CryptoNote v 2.0 的名義發布。 Bytecoin cryptocurrency 是第一個已經實現底層加密協定的。 CryptoNote 首先在 Java 中開發,以便更快的啟動,然後在 2013 年重新用C ++編寫。
CryptoNote 基於許多早期的作品和協定,並考慮了以前提出的幾個問題。以下是影響CryptoNote的最重要的論文和事件列表:
•1983年 - David Chaum描述的盲簽
•1997年 - Adam Back發明的HashCash(工作證明制度的一個例子)
•2001年 - Ron Rivest,Adi Shamir和Yael Tauman向加密社區提出了環簽名
•2004年 - Patrick P. Tsang和Victor K.提出使用環簽名系統進行投票和電子現金;
•2008年 - 由Satoshi Nakamoto出版的Bitcoin白皮書
•2011年 - 比特幣系統中的匿名分析,Fergal Reid和Martin Harrigan
•2012 - 目的地址比特幣匿名(CryptoNote中的一次性地址)。
匿名交易和環簽名
像比特幣一樣,CryptoNote 貨幣使用由用戶公鑰導出的偽隨機數字和字母組成的公共地址。 地址作為用戶的公共ID。 然而,與比特幣不同,CryptoNote 交易隱藏傳送方和接收方地址之間的連線。
發件人隱私
為了防止發件人識別,CryptoNote 使用其他幾個密鑰對發件人的公開密鑰進行分組(更準確地說,它將傳送者的輸出與其他幾個輸出進行分組),使得無法確定誰實際傳送了該交易。如果使用環簽名,則在交易中引用的所有可能的發件人都是可以配置的,並且無法確定簽名時使用的確切私鑰。這種方法不需要用於混合硬幣的專用主節點,並且不需要其他用戶積極參與交易生成(參見CoinJoin)。它仍然保證網路原始發件人在他或她的帳戶中有資金像普通簽名方案一樣傳送交易。簽署者不用以零知識的方式證明“我擁有對應於該特定公鑰的私鑰”這個事實,證明“我擁有至少一個對應於這組公鑰的私鑰”。
接收者隱私
在接收方端,該技術為每個匯款產生一個新的公共密鑰,即使對於同一個傳送者和接收方也是如此。通過傳送者的隨機數據和接收者公共地址,可以通過Diffie-Hellman協定創建一對唯一的專用和公共密鑰。傳送方為每次傳輸生成一次性臨時密鑰,只有接收方可以恢復相應的私鑰(贖回資金)。沒有第三方可以確定是否將兩個不同的交易傳送到同一收件人。
雙重支付保護
匿名交易有潛在的問題。比特幣和類似的貨幣使用公共分類帳來驗證每個傳送資金的人實際上在其賬戶中擁有這樣的資金,並且以前沒有將其傳送給另一個用戶。由於 CryptoNote 貨幣是匿名的,網路必須以其他方式確認交易的有效性。
CryptoNote 通過使用更複雜的方案而不是通常的環簽名來解決這個問題:可追溯的環簽名。 Fujisaki和Suzuki於2007年最初提出的算法允許跟蹤兩個不同訊息的傳送者,如果它們包含相同的標籤並由相同的私鑰簽名。
CryptoNote 作者略微簡化了方案,用密鑰鏡像替換了標籤,並拋棄了可追溯性屬性。他們稱之為算法一次性環簽名,“強調用戶在其私鑰下只生成一個有效簽名的能力”相同密鑰下的兩個不同簽名(雙重花費嘗試)可以輕鬆地連結在一起,只有一個將被存儲在塊鏈中。
關鍵在於在簽名/驗證公式中使用私鑰的鏡像。這些不是實際的密鑰,這將大大有助於塊連結膨脹,而是一個數字,這對應於每個私鑰一對一(從密碼散列函式確定性地派生)。密鑰鏡像不能用於導出私鑰和公共地址,但是由於每個花費的密鑰鏡像都存儲在塊鏈中,所以網路將阻止任何重複。同樣,創建密鑰鏡像的任何嘗試都不會在交易驗證過程中符合數學公式,並且將被拒絕。這樣做的缺點是,無法識別任何企圖用欺詐意圖或由於軟體或人為錯誤執行雙重支出的人。然而,該系統將阻止這種嘗試。
平等的工作量證明
CryptoNote 的工作量證明機制實際上是一個投票系統,用戶投票選擇正確的交易順序,協定中的新功能和誠實的貨幣供應分配。重要的是,在表決過程中,每個參與者都具有相同的投票權。大多數 CryptoNote 貨幣使用 CryptoNight 算法運行它們的塊鏈並保護他們的網路,唯一的例外是 Boolberry。 CryptoNight 是一種工作驗證算法,它將圖形處理單元(GPU)和中央處理單元(CPU)挖礦組合在一起,以創建一個能夠套用於專用積體電路(ASIC)和快速記憶體片上設備的系統。這是為了通過貨幣的生活創造更均勻的硬幣分配。然而,有一些關於殭屍網路易感性的問題。
該算法包括:
•Keccak海綿結構;
•具有隨機查找(讀寫)的Scrypt-like 2 MB暫存器;
•64位乘法;
•高級加密標準(AES)加密;
•哈希功能BLAKE,Grøstl,JH,Skein。
自適應網路限制
CryptoNote 代碼中沒有硬編碼的常量。 根據系統的歷史數據調整每個網路限制,如最大塊大小或最小費用金額。 此外,每個新塊自動調整難度和最大塊大小。
哲學
CryptoNote 哲學基於隱私作為一項基本人權和平等主義。據白皮書,CryptoNight 算法旨在使硬幣堅持Satoshi Nakamoto的“一CPU一票”系統的原始願景。 因此,在 CryptoNight 中,大多數加密貨幣中GPU的巨大優勢都大大降低。 如果這是一件好事,那就不應該有爭議。
當前CryptoNote貨幣
CryptoNote平台已被用於幾種加密貨幣。 CryptoNote基金會鼓勵開發人員克隆該技術。 交易確認時間,硬幣總數和工作驗證邏輯可以在叉中進行更改。 已經進行了幾次嘗試來改變核心協定:Boolberry增加了地址別名,DigitalNote引入了私人訊息。
Bytecoin(BCN)
Bytecoin(BCN)不被混淆Bitcoin(BTE)是2012年7月推出的 CryptoNote 協定的第一個實現。自推出以來,已經引入了多項改進措施,包括多重簽名交易和多項安全更新。在2013年,原來的 CryptoNote Java 實現被用 C ++ 重寫了。
Bytecoin 塊鏈包含一些與貨幣轉移無直接關係的額外信息:幾個塊包括大學的地理坐標,其他建築物之間的教育設施。自2012年8月11日起生成的塊包含來自Cyphernomicon,William Gibson和其他作者的Neuromancer的引用。
2015年3月31日Bytecoin開發商宣布了幾個即將發布的版本的路線圖。其中還提到了以下改進:
•能夠同時接收和傳送數千個交易的支付網關;
•桌面GUI加密錢包軟體;
•幾個API層與其他軟體集成;
•基於塊鏈的別名系統;
•基於塊鏈的資產;
•與嵌入式圖靈完整語言的智慧型契約。
Monero(XMR)
主要文章:Monero(cryptocurrency)
Monero 目前是所有冰球運動員中最知名的,並得到了社區的持續支持。2014年4月從Bytecoin分叉,它具有2分鐘的阻擋目標和50%的排放速度。 Bitcoin核心開發商Gregory Maxwell,Peter Todd和Wladimir J. van der Laan都讚揚了Monero。
隨著monwallet Monero有許多GUI錢包應用程式以及2014年11月24日推出的MyMonero。Monero還與學術密碼學家合作,實施了一個廣泛的混疊系統,OpenAlias,部分資助的隱私解決方案整合I2P在Monero,創建了一個匿名投票系統,URS,並實施了Electrum的助記器種子。
守護錢包架構
與比特幣不同,所有CryptoNote貨幣均具有網路節點和錢包的功能,分為兩個獨立的執行檔:守護進程和簡單程式。 Wladimir J. van der Laan寫道:
“為了舉一個例子,IMO:Monero的”simplewallet“是一個命令行實用工具,與節點軟體進行通信,並記住它在鏈中的位置,並處理鏈條狀態的變化最後一次調用時,它會刷新一下,什麼是可以對一個節點守護進程運行任意數量的simplewallets,而不像bitcoind的錢包那樣,它不需要像往常一樣守護進程一樣運行,當它可以被調用時用戶想用錢包做某事,或者看看是否有新的交易。
硬幣廠陰謀論
幾個基於CryptoNote的硬幣發布看起來非常相似,因為他們在http://bitcointalk.org論壇上的公告主題是由“新手”帳戶創建的,並且共享類似的措辭,強調諸如“僅限CPU開採”和“ASIC抵制”的口號。此外,使用相同的檔案共享服務進行發布。假設這種發射的唯一目的是賺取容易的錢,創造者不打算支持和開發這些分叉。
白皮書的偽版
社區活動家發現了CryptoNote白皮書的修改版本,數字簽名不對應於Nicolas van Saberhagen PGP密鑰和丟失的PGP水印。這個事件已經歸因於檔案的偽造這個行動的可能目標是反駁自2012年以來CryptoNote的公開可用性的索賠,以獲得競爭優勢。修改白皮書包括5月份開始的討論執行緒連結,2013年在http://bitcointalk.org論壇上,並已使用TeX Live軟體在2013年發布,XMP date屬性設定為2014年。