編者按:本文來自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。算法原理
Paradigm工程副總裁Tal Broda已離職:金色財經報道,Paradigm 工程副總裁 Tal Broda 已離職,其表示雖然我堅信 Paradigm 的使命和公司實現其愿景的能力,但在 Paradigm 領導工程的工作并不適合我。
Tal Broda 此前于 2022 年 4 月加入 Paradigm。[2023/3/21 13:17: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。模型定義
Messari分析師:FTX存款人可能收回40-50%的資產:11月16日消息,數據分析機構Messari分析師Kunal Goel撰文稱,在研究了FTX的“資產負債表”后,根據其計算,并不是所有的資產都消失了,存款人可能還會收回40-50%的資產。[2022/11/16 13:11:45]
在UTXO模型的基礎上,隱私Token支持5種主要的操作,鑄幣,銷毀,轉賬,充值,提幣。鑄幣:由Token的發行方發起的增發交易。
銷毀:由Token發行方發起的銷毀一定數量的Token的交易。
轉賬:由普通用戶發起的input總和與output總和相等的交易。
充值:充值,由普通用戶發起的input總和小于output總和的特殊轉賬交易。差值經Token縮放因子處理后為實際從ARC20轉入到隱私賬戶的Token數量,充值交易內部會從交易指定公開賬戶轉賬ARC20token到TokenManager合約賬戶。
提款:由普通用戶發起的input總和大于output總和的特殊轉賬交易。差值經Token縮放因子處理后為實際從隱私賬戶轉出到ARC20Token數量,提款交易內部會從TokenManager合約賬戶轉賬ARC20token到交易指定的公開賬戶。
合約交易交易結構
交易分為Proof,ExtraData,Signature三部分,Proof中保護有對UTXO證明與本次授權交易地址,ExtraData為明文數據,Signature為授權地址私鑰進行簽名,保證交易信息的完整性。
慢霧:Gate官方Twitter賬戶被盜用,謹慎互動:10月22日消息,安全團隊慢霧發文稱:加密平臺Gate官方Twitter賬戶被盜用,謹慎互動。半小時前,攻擊者利用該賬戶發文,誘導用戶進入虛假網站連接錢包。此外,慢霧科技創始人余弦在社交媒體上發文表示:注意下,Gate官方推特應該是被黑了,發送了釣魚信息,這個網址 g?te[.]com 是假的(之前談過的 Punycode 字符有關的釣魚域名),如果你去Claim會出現eth_sign這種簽名釣魚,可能導致ETH等相關資產被盜。[2022/10/22 16:35:14]
合約交易證明構造過程
一、構造證明數據,證明數據交給零知識證明處理。數據結構如下:
根據證明入參,生成如下證明結果作為交易證明入參:
二、不同類型的交易對應不同的附加數據,增加相應的附加數據,附加數據經過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事件合約事件
南非Nedbank宣布進軍元宇宙領域:金色財經報道,南非第四大貸款機構Nedbank集團宣布與與Africarare合作,并在Ubuntuland為自己建立了一個村莊,從而在元宇宙中建立了自己的存在。
該集團營銷和公司事務主管 Khensani Nobanda 在周三的電子郵件聲明中表示,我們進入元宇宙不僅僅是為了在這個領域占有一席之地,而是為了在與他們產生共鳴的平臺上滿足我們客戶的需求。[2022/9/22 7:13:53]
上一次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備注時會觸發此事件。部署升級
Gitcoin將部署至Fantom主網并推遲贈款計劃:金色財經消息,Fantom基金會發推稱,Gitcoin將在Fantom主網部署。為確保Fantom生態系統的所有成員都能參與,在Gitcoin完成整合期間,贈款計劃會被推遲。[2022/5/18 3:23:22]
合約概念和定義
委員會:有權批準多簽交易的地址,在多簽交易規定的時間內,只有收集到不少于閾值的委員會簽名,多簽交易才算被批準,才能被發送到區塊鏈網絡。提案交易:需要委員會批準的多簽交易,規定時間內,委員會批準通過,發送到區塊鏈網絡執行交易,未批準通過,交易超時被刪除。模板合約:由于部署交易內容包括合約代碼,代碼量較大造成交易過大,所以采用模板合約,區塊鏈底層直接復制模板合約代碼。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:NOTETOKETOKKENNOTE價格itokenwallet詐騙Saitoki Inucaolovetoken
編者按:本文來自Cointelegraph中文,作者:MAXYAKUBOWSKI,Odaily星球日報經授權轉載。區塊鏈技術和加密領域的專家對這個問題進行了解答.
1900/1/1 0:00:00不管黑貓白貓,捉到老鼠就是好貓。不管是中心化法幣抵押,去中心化代幣抵押,還是算法調節,能賺錢的穩定幣就是好穩定幣。算法穩定幣早在18年就被Basis提出,期間Basis還關門大吉過.
1900/1/1 0:00:00整理|秦曉峰編輯|郝方舟出品|Odaily星球日報 OKEx要做公鏈,并不是一時興起。早在2018年12月18日,OKEx就曾發布公鏈概念宣傳片.
1900/1/1 0:00:002020揮手作別,2021如約而至。回望走過的366天,OKLink盤點了2020年的區塊鏈行業年度大事件,這些既是大家過去一年的集體記憶,也是我們開啟2021的新起點.
1900/1/1 0:00:00古往今來,人們一直嘗試進行各種預測。前有先知與占卜師等,用塔羅牌、水晶球等特殊物品來預測尚未發生的事情,后有科幻作家用文字與極盡詭譎的想象讓人類提前感知真實的未來.
1900/1/1 0:00:00撰文:PicoloResearch公司綜述Elrond通過兩項關鍵創新創造了一種新穎的結構:1)自適應狀態分片技術和2)權益證明(PoS)共識.
1900/1/1 0:00:00