以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > XMR > Info

硬核科普:隱私交易使用手冊_NOTE

Author:

Time:1900/1/1 0:00:00

編者按:本文來自PlatON,Odaily星球日報經授權轉載。前言

目前的主流公鏈項目不管是基于賬戶模型還是UTXO模型,交易轉賬地址與金額都是公開信息,易于追蹤。Zcash,Monero等實現了隱私Token,在主鏈實現隱私Token有幾個痛點:算法升級:密碼學算法發展較為迅速,新的算法應用到主鏈并且與現有系統適配需要很漫長的過程漏洞修復:主鏈的漏洞升級需要協調礦工或驗證人來配合升級,影響范圍較廣,周期較長基于智能合約的隱私Token則能做到靈活的算法方案,快速的漏洞修復,影響面較小,只影響到該隱私Token的用戶,是實現隱私Token的良好的平臺。簡介

隱私交易基于Alaya的WASM智能合約平臺PIP-13提案構建的隱私Token項目。該項目意在解決日益劇增的交易匿名化需求。通過零知識證明算法達到隱匿身份,算法插件化來滿足多種隱私的需求;支持隱私Token的獨立發行以及ARC20資產的隱私化;利用插件機制,做到算法的在線升級,做到對用戶的無感升級。合約架構

合約架構的主要滿足以下幾個目標:可擴展,整個框架能夠適配更多的算法,擴展隱私交易的生態。可升級,對于合約漏洞,如算法漏洞等,能夠進行快速升級,及時避免漏洞導致經濟損失。易于發行,Token的發行方不需要具備對算法原理的了解,僅需要判斷算法是否滿足需求,就能發行隱私Token。架構圖

上述架構圖中由如下模塊組成ConfidentialToken隱私Token合約,由Token發行方進行部署。Registry注冊表合約,ACL合約地址會注冊在Registry,ConfidentialToken每次交易都是通過Registry獲取ACL最新地址,這樣ACL可以進行動態升級。ACL訪問控制合約,負責管理隱私Token的注冊信息,驗證算法合約與存儲合約版本。TokenManagerToken管理合約,ACL關于ARC20合約存取操作都是通過TokenManager與ARC20合約進行交互。Validator驗證合約,實現對各種算法的驗證功能,每種驗證合約可以根據算法自定義賬戶地址。Storage存儲合約負責存儲每筆轉賬的必要信息,用于驗證是否存在雙花操作。ARC20標準Token合約從可擴展角度,開發者可以實現多種驗證算法,注冊到ACL合約中,就能供隱私Token發行方使用。從可升級的角度,ACL,Validator,Storage都可以進行動態升級,滿足了功能擴展、漏洞修復等不同升級的需求。從易于發行角度,項目方僅需要部署ConfidentialToken,即可實現隱私Token。算法原理

數據:銘文活動減緩推動比特幣鏈上交易費用較5月下降96%以上:金色財經報道,據區塊鏈分析公司Glassnode數據顯示,自5月以來比特幣銘文活動一直在逐漸減少,比特幣內存池中的未確認交易開始大規模清空,鏈上交易費用也開始下滑。自從5月份BRC-20熱度達到頂峰以來,比特幣的交易費用(以美元計)已經下降了96%以上,目前的平均費用為1.33美元,中位數費用降低到0.16美元。雖然交易活動在減少,但BTC的轉手量開始有顯著的上升。BTC的交易量已從FTX的最低點上升了75%,目前每日結算總額達到42億美元。[2023/7/14 10:54:52]

算法概念和定義

票據note:借鑒Bitcoin的UTXO模型,一個票據"note"即是一個UTXO,其是對金額的加密后的表示,邏輯上包括金額"value"、屬主"owner"。金額就是該票據的密文形式;屬主信息是由該票據的spendingkey決定,在后續章節會進一步描述;JoinSplit交易:在本方案中,定義一個交易為多個票據和其他信息的集合。其他信息是指為驗證交易邏輯包含的必要的數據,包括零知識證明等。付款人payer,收款人payee:在一個交易里,指花費了票據的人,和擁有花費新創建的票據的權利的人。這里付款人,需要與發送者sender進行區分,后者是發送了交易給區塊鏈網絡的人;因此,sender可以與payer是同一個實體,也可以是被實際payee授權的一個第三方。方案介紹

密鑰和票據借鑒DKSAP協議,用戶的錢包需要包括兩個密鑰對,spendingkey-pair和viewingkey-pair:aspendingkey-pair:,;用于授權一個交易。用戶公開。aviewingkey-pair:,;用于審計/查看一個或者多個票據。用戶公開。當payer需要創建一個新的票據(outputnote)時,首先生成一個臨時密鑰ephemeralkeypair,,用payee的publicviewingkey一起生成一個sharedsecret。隨后,用sharedsecret和payee的一起生成一個該新票據的spendingkey-pair,記為。注:每個票據都有一個獨立的spendingkey-pair,該spendingkey-pair定義了該票據的ownership,誰知道該spendingkey-pair的私鑰部分,誰就具有花費該票據的權利。DKSAP的具體協議流程假設Bob(payee)的密鑰為:spendingkey-pair:,viewingkey-pair:;為橢圓曲線群的生成元。Alice(payer)先生成一個臨時密鑰對,然后將公鑰部分與放入Note數據中進行公開。Alice計算一個sharedsecret:,是一個滿足密碼安全的哈希函數。這里由于采用了ECDH原理,另一方Bob也可以計算。Alice計算本次交易中Bob的交易地址為:。Bob動態地檢查鏈上交易,試圖找到發送給他的Note。他可以根據每個Note中的,計算出相應的sharedsecret,然后計算對應的Note接收地址,與每個Note的接收地址進行比對,如果比對成功,則用背后的私鑰部分進行花費,這里。Transfer交易流程假設Alice需要轉賬給Bob7XATP,且Alice總共擁有票據包括:5XATP,:3XATP。在一個明文的JoinSplit交易里,,作為inputnotes,Alice會創建:7XATP,:1XATP,且指定、屬主信息分別為Bob和Alice。一、payerAlice創建一個交易臨時密鑰對,JoinSplitkey-pair:{,}。二、Alice計算inputnotecommitments如下:,,其中是指票據的notespendingkey的公鑰部分。Alice計算每個inputnote的簽名,以表示確實有權利花費。,。其中是票據的notespendingkey的私鑰部分。//這里把也扔到單個票據的簽名里,表示每個票據的屬主都認可當前的JoinSplitkey-pair的擁有者。這樣,不會造成攻擊者偽造一個新的JoinSplitkey-pair,在不改變交易數據的情況下,重新簽名交易進行重放攻擊。三、Alice計算outputnotecommitments如下:其中和是Alice通過DKSAP協議以及Bob的公鑰生成的notespendingkey的公鑰部分。Alice會將和的臨時密鑰的公鑰部分也公開,方便payee從鏈上找到屬于自己的票據。即公開,.四、Alice計算publicvalue。該變量是一個公開的數值,表示與外部賬戶系統(ARC20資產)的轉入轉出關系,即該值為正數時,表示有數量的Token轉出到外部賬戶(sender'saddress),如果該值為負數時,表示有數量的Token從外部賬戶(sender'saddress)轉入到隱私Token系統。例如一個典型的充值交易中的金額配平關系可能是形如:inputNotes=,outputNotes=,publicValue=-3ATP,表示sender的ATP賬戶中會凍結3個Token,同時會創建2個outputNotes,其金額總和為3,如果有任一項校驗失敗,則拒絕執行交易:驗簽;驗簽,;檢查,是否存在Noteregistry上;檢查,是否不存在Noteregistry上;驗證,如果驗證失敗,則拒絕執行交易;//這里我們省略了ZKproof相關的publicinputs,取決于具體的算法細節;九、如果上述驗證均通過,則合約更新Noteregistry狀態,即將銷毀,并創建。每個票據要包括:票據承諾,該票據的notespendingkey的公鑰部分,以及該票據的臨時密鑰的公鑰部分。十、如果上述驗證均通過,還需要處理對應數量的Token情況。如果為正數,則合約將向sender的外部地址中解凍數量的ATPToken;否則合約將從sender的外部地址凍結數量的ATPToken。模型定義

SEC通過從M條例中刪除對信用評級的引用的修正案:金色財經報道,美國證券交易委員會(SEC)今天通過了對規則的修改,從M條例第101條和第102條規定的現有例外中刪除并取代對信用評級的提及,這套規則禁止可能人為影響所發行證券市場的活動。

Gensler表示,這種采用符合國會在 2008 年金融危機之后的愿望,確保我們不會在我們的規則集中嵌入對信用評級的依賴,而是采用適當的替代信用衡量標準。此次通過將是SEC為執行這一任務而制定的第六次也是最后一次規則制定。

修訂案生效后,將取消M條例第101條和第102條中某些現有的例外規則,這些例外規則參考了不可轉換的債務證券、不可轉換的優先證券和資產支持證券的信用評級,取而代之的是基于信用度替代標準的新例外規則。這些替代措施包括滿足特定違約概率門檻的發行人的不可轉換債務證券和不可轉換優先證券的例外情況,以及根據在委員會SF-3表上提交的有效貨架登記聲明發售的資產支持證券的例外情況。[2023/6/8 21:22:53]

在UTXO模型的基礎上,隱私Token支持5種主要的操作,鑄幣,銷毀,轉賬,充值,提幣。鑄幣:由Token的發行方發起的增發交易。

銷毀:由Token發行方發起的銷毀一定數量的Token的交易。

轉賬:由普通用戶發起的input總和與output總和相等的交易。

充值:充值,由普通用戶發起的input總和小于output總和的特殊轉賬交易。差值經Token縮放因子處理后為實際從ARC20轉入到隱私賬戶的Token數量,充值交易內部會從交易指定公開賬戶轉賬ARC20token到TokenManager合約賬戶。

提款:由普通用戶發起的input總和大于output總和的特殊轉賬交易。差值經Token縮放因子處理后為實際從隱私賬戶轉出到ARC20Token數量,提款交易內部會從TokenManager合約賬戶轉賬ARC20token到交易指定的公開賬戶。

NFT市場Super Rare將接管紐約的0x.17畫廊并舉辦NFT展覽:5月22日消息,NFT市場Super Rare將接管紐約的0x.17畫廊并舉辦為期兩個月的NFT展覽,將展出來自20多位SuperRare藝術家的精選作品。(CoinDesk)[2023/5/22 15:19:11]

合約交易交易結構

交易分為Proof,ExtraData,Signature三部分,Proof中保護有對UTXO證明與本次授權交易地址,ExtraData為明文數據,Signature為授權地址私鑰進行簽名,保證交易信息的完整性。

合約交易證明構造過程

一、構造證明數據,證明數據交給零知識證明處理。數據結構如下:

根據證明入參,生成如下證明結果作為交易證明入參:

二、不同類型的交易對應不同的附加數據,增加相應的附加數據,附加數據經過RLP編碼后得到附加數據字節流。TransferExtra對應轉賬、充值、提款三種類型交易。著重說下depositSignature,其是防止交易發送者不擁有publicOwner私鑰,就將其ARC20Token轉走。三、構造完整的機密交易信息,RLP編碼,授權地址對RLP編碼后數據簽名,進而得到完整的證明。合約執行流程

用戶發送上述幾種類型交易ConfidentialToken合約從注冊表中找到ACL的地址ConfidentialToken向ACL發送交易信息ACL根據ConfidentialToken注冊的信息找到驗證合約進行證明驗證Validator進行ZK驗證Validator校驗授權簽名如果是Deposit交易,Validator檢查depositsignatureValidator根據具體的算法產生CreateNoteDetailEvent事件ACL根據注冊的存儲合約進行更新數據Storage更新input,將inputnote進行刪除Storage更新output,創建outputnote如果是Deposit/Withdraw交易,調用TokenManager進行存取操作TokenManager調用ARC20進行轉賬操作ConfidentialToken對outputnote創建CreateNoteEvent事件ConfidentialToken對inputnote創建DestroyNoteEvent事件如果是Mint交易,創建MintEvent事件如果是Burn交易,創建BurnEvent事件合約事件

SBF名下此前掛牌出售的華盛頓特區聯排別墅已從市場下架:2月5日消息,此前以328萬美元掛牌出售的Sam Bankman-Fried(SBF)名下位于華盛頓特區的聯排別墅,因是挪用客戶資金購買而被要求從市場上下架。

財產記錄顯示,該房產由SBF的兄弟Gabriel創立的非營利組織 Guarding Against Pandemics 持有,該組織使用該公司認為被挪用的客戶資金購買了價值數百萬美元的資產。該房產的銷售代理人表示,目前該房產還未收到過任何的正式購買報價。(《華爾街日報》)[2023/2/5 11:48:29]

上一次mint數據的hash;上一次burn數據的hash;完整的note信息;note的產生;note的銷毀;更改note備注;這些信息都需要通過事件獲取。MintEvent屬性類型索引描述mintHashh256否鑄幣交易的hashvalueu128否鑄幣金額描述:發行方需要記錄每次鑄幣的hash,下一次發行方鑄幣時需要前一次鑄幣的hash。第一次鑄幣時上一次鑄幣的hash為空。BurnEvent屬性類型索引描述burnHashh256否銷毀交易的hashvalueu128否鑄幣金額描述:發行方需要記錄每次銷毀的hash,下一次發行方銷毀時需要前一次銷毀的hash。第一次銷毀時上一次銷毀的hash為空。CreateNoteDetailEvent屬性類型索引描述noteHashh256是notehash值noteOwnerbytes否note屬主noteCipherbytes否note的金額和綁定數據用viewingpk加密之后的數據noteMetabytes否note的備注信息描述:屬主信息是ephemeralPk和signPk組成結構體的RLP值,用戶用私有的viewingSk和spendingSk判斷自己是否為屬主。判斷成功之后,用私有的viewingSk從noteCipher中解密出note的blinding和quantity。CreateNoteEvent屬性類型索引描述noteOwnerbytes是note屬主的hashnoteHashh256是note的hash值ownerbytes否note屬主描述:和CreateNoteDetailEvent是一一對應產生的。DestroyNoteEvent屬性類型索引描述noteOwnerbytes是note屬主的hashnoteHashh256是note的hash值ownerbytes否note屬主描述:每花費一個note就會觸發一個DestroyNoteEvent,用戶需要監聽此事件刪除已經花費的note。MetaDataEvent屬性類型索引描述noteHashh256是note的hash值noteMetabytes否note的備注信息描述:產生新的note備注和更改note備注時會觸發此事件。部署升級

Juno將向9月30日前與Arbitrum交互的美國用戶發放JCOIN空投:12月5日消息,加密支票賬戶提供商Juno宣布將向9月30日前參與Arbitrum交互的用戶發放JCOIN空投,符合條件的美國用戶可領取5,000枚JCOIN空投獎勵。此外,空投僅對前2000名用戶有效。[2022/12/5 21:23:27]

合約概念和定義

委員會:有權批準多簽交易的地址,在多簽交易規定的時間內,只有收集到不少于閾值的委員會簽名,多簽交易才算被批準,才能被發送到區塊鏈網絡。提案交易:需要委員會批準的多簽交易,規定時間內,委員會批準通過,發送到區塊鏈網絡執行交易,未批準通過,交易超時被刪除。模板合約:由于部署交易內容包括合約代碼,代碼量較大造成交易過大,所以采用模板合約,區塊鏈底層直接復制模板合約代碼。Clone創建合約:Clone創建時復制模板合約代碼,用新的初始化參數初始化合約,創建成功之后獲取新創建的合約的地址。合約升級:復制模板合約代碼,產生新的合約地址,舊合約的數據遷到新合約地址,舊合約銷毀。官方合約部署

一、部署Registry注冊表合約,用來管理ACL地址,每次ACL升級的同時向Registry注冊新地址。注冊表合約采用無私鑰地址部署,保證后續沒有人可以更改此合約。注冊表合約不支持合約升級。

二、部署MultiSign多簽合約,此合約用來管理ACL合約,后續升級都將通過多簽合約進行。確認多簽委員會名單和提案生效人數閾值,部署合約初始化時傳入確定好的值。三、部署ACL控制管理合約,部署過程中會clone出TokenManager合約。TokenManager合約和ARC20合約交互,轉入轉出token到TokenManager合約。

四、部署Validator驗證合約或者Storage存儲合約,這兩個合約的部署流程是一樣的,部署后都需要在ACL進行版本注冊。

官方合約升級

ACL合約升級

委員會通過MultiSign合約進行升級的部署,部署通過先部署模板合約以Clone方式進行合約的升級,升級的ACL合約數據也一并遷移過去。升級后ACL會更新在Registry的注冊信息,升級的過程是一筆交易,所以升級過程不會影響交易到調用方的使用。

Validator/Storage合約升級ACL合約對Validator和Storage合約進行版本控制,針對新特性、漏洞升級都會向ACL注冊新版本,使用方可以根據自行需要,進行升級。一個新版本注冊過程如圖:

委員會確定新版本,通過MultiSign對Validator/Storage合約進行注冊,注冊信息存儲ACL,供使用方查找。后面章節會講用戶如何升級。注冊版本信息注冊信息包括Verion,Address,Description三部分Verion由3個字段表示類型+主版本+子版本組成Address模板合約地址Description版本信息描述隱私Token合約部署

隱私Token合約是由用戶或項目發行方來發起部署的。

發布者向注冊合約請求獲取ACL最新地址發布者從ACL獲取驗證合約與存儲合約版本,選擇相應版本發布者將驗證合約與存儲合約版本及其它信息作為初始化信息部署隱私Token合約隱私Token合約向ACL合約進行注冊ACL根據隱私Token合約指定的版本號進行驗證合約部署ACL根據隱私Token合約指定的版本號進行存儲合約部署隱私Token合約升級

升級方向注冊合約請求獲取ACL最新地址升級方向ACL獲取升級合約版本升級方調用隱私Token合約的升級接口隱私Token合約會調用ACL的升級接口ACL找到隱私Token合約對應的驗證合約,調用驗證合約的遷移接口驗證合約根據升級模板合約進行合約升級ACL將升級后的驗證合約地址更新注冊信息底層:https://github.com/PlatONnetwork/PlatON-Go/tree/alaya-dev/feature-confidential-token隱私合約開源倉庫:https://github.com/PlatONnetwork/confidential-transaction

Tags:NOTEKENTOKENTOKETravelNoteMegatech MGT TokenKRW TokenMunch Token

XMR
新冠疫情后,有4項技術能夠幫助企業快速復產并變得更強大_區塊鏈

成功地從新冠大流行中脫穎而出的公司與沒有成功的公司有什么區別呢?答案是:技術。就是這么簡單,這是一個需要在所有行業、所有規模的企業中實現的現實.

1900/1/1 0:00:00
胡安:EIP-1559在Filecoin的融合_FIL

編者按:本文來自IPFS原力區,作者:招寶,星球日報經授權發布。本文為Filecoin創世人胡安·貝納特有關Filecoin與EIP-1559主題分享的摘要內容:在Filecoin網絡中,gas.

1900/1/1 0:00:00
一文教你如何在火幣生態鏈上發行一個項目并完成拍賣_QUO

“杜均:給了Heco項目30個上幣權”2020年的最后幾天,火幣發布了火幣生態鏈HECO,將與幣安的智能鏈生態、波卡生態、Cosmos生態以及以太坊生態,爭一個高低.

1900/1/1 0:00:00
SEC的下一個目標會是誰?_SEC

編者按:本文來自DCNews,Odaily星球日報經授權轉載。“美國應該指定更為清晰的加密法規.

1900/1/1 0:00:00
特斯拉和中本聰:創世區塊日的有趣事實_比特幣

編者按:本文來自Cointelegraph中文,作者:TURNERWRIGHT,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
BM的出走會讓EOS依舊沉寂下去嗎?_EOS

1月10日,EOS創始人DanielLarimer宣布辭去自己在EOS母公司Block.one的CTO職位,甚至注銷了自己的Twitter和Telegram賬號.

1900/1/1 0:00:00
ads