編者按:本文來自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。算法原理
俄羅斯將推出基于數字金融資產和數字貨幣的替代支付系統:金色財經報道,俄羅斯財政部長 Anton Siluanov 表示,俄羅斯將推出一種基于現代技術(數字金融資產、數字貨幣)的替代支付系統,數字貨幣可以用于跨境支付。不過該系統目前處于討論的最初階段,未來取決于數字盧布、數字人民幣和其他類似貨幣的使用情況。[2023/4/25 14:26:20]
算法概念和定義
票據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。模型定義
Axie Infinity Land(-30,11)以117.81 WETH價格成交:金色財經報道,Axie Infinity Land(-30,11)以117.81 WETH價格成交,約合14.093萬美元,成為過去24小時交易額最高的NFT。另據cryptoslam最新數據顯示,當前Axie Infinity交易總額已達到40.96億美元,交易總量達到18,277,079筆,其中買家數量超過180萬。[2023/1/2 22:20:33]
在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為授權地址私鑰進行簽名,保證交易信息的完整性。
全國首個數幣智能合約預付資金監管場景在北京交行落地:金色財經消息,近日,交通銀行在中國人民銀行數字貨幣研究所指導下,聯合北京市朝陽區政府,成功為某教育培訓機構上線數字人民幣智能合約預付資金管理系統。該業務是全國首個基于數字人民幣智能合約生態服務平臺對預付資金進行管理的項目,實現了數字人民幣在預付資金管理領域的應用。(新華網)[2022/9/11 13:23:03]
合約交易證明構造過程
一、構造證明數據,證明數據交給零知識證明處理。數據結構如下:
根據證明入參,生成如下證明結果作為交易證明入參:
二、不同類型的交易對應不同的附加數據,增加相應的附加數據,附加數據經過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事件合約事件
ENS NFT近24小時交易額增幅達200%:金色財經消息,OpenSea數據顯示,以太坊域名服務(ENS)NFT近24小時交易額為1130 ETH,24小時交易額增幅達200%。近24小時交易額排名位列OpenSea第2。[2022/9/6 13:11:21]
上一次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備注時會觸發此事件。部署升級
Boba Network公布2022年至2023年工程路線圖,包括推出veBoba、OR&ZK混合Rollup架構等:8月30日消息,L2擴容方案Boba Network宣布2022年至2023年工程路線圖。在2022年,計劃實施veTokenomics,推出veBoba,允許代幣的持有者將能夠“投票托管”鎖定代筆,通過DAO投票實現去中心化管理;推出BobaL2Rollup客戶端Anchorage,通過將Bedrock構建到Erigon來促進Rollup客戶的多樣性,并擴展額外的L1;通過混合計算增強更復雜的數據結構和數據類型。2023年,將通過引入驗證證明并增強開發人員和用戶體驗,對OptimisticRollup架構進行改革;增加用于1層和延遲代碼升級的Escape Hatches;實施Rollup Account Abstraction,通過單一賬戶類型(合約賬戶)衍生出其他賬戶類型;開發Optimistic Rollup和ZK Rollup混合Rollup架構;將資源投入到EVM事務??的并行執行。[2022/8/30 12:57:02]
合約概念和定義
委員會:有權批準多簽交易的地址,在多簽交易規定的時間內,只有收集到不少于閾值的委員會簽名,多簽交易才算被批準,才能被發送到區塊鏈網絡。提案交易:需要委員會批準的多簽交易,規定時間內,委員會批準通過,發送到區塊鏈網絡執行交易,未批準通過,交易超時被刪除。模板合約:由于部署交易內容包括合約代碼,代碼量較大造成交易過大,所以采用模板合約,區塊鏈底層直接復制模板合約代碼。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:NOTETOKTOKENTOKETravelNoteEmpire TokenFEB Tokendbktoken
今天,比特幣價格大幅回調,剛突破4萬美金沒幾天,現在一根針扎到了3萬4千多美金。有些人認為這是上車的好機會,也有些人認為比特幣這種大資金體量的投資標的,只適合機構和大戶玩,漲跌都跟散戶沒啥關系,
1900/1/1 0:00:00昨晚行情大幅下跌后又進行了反彈修復,昨日下午行情曾從33000美元上方跌破28000,單日波動幅度達到了20%,波動區間一度超過6000美元,目前價格又回到了32000美元上方.
1900/1/1 0:00:00編者按:本文來自鏈聞ChainNews,星球日報經授權發布。1月5日,CFTC公布了最新一期的CME比特幣期貨周報,這也是2020年最后一期持倉周報.
1900/1/1 0:00:00編者按:本文來自巴比特資訊,作者:Wendy,星球日報經授權發布。注:本文來自Synthetix創始人Kain。很難相信從2020年1月1日到現在才365天.
1900/1/1 0:00:00前言:2020是沸騰的一年。從312暴跌到比特幣新高,從DeFi狂潮到Filecoin上線。“一個牛市可以賺10年的錢”,但也有人合約虧損釀成慘案.
1900/1/1 0:00:00編者按:本文來自風火輪社區,作者:佩佩,Odaily星球日報經授權轉載。大家好,我是成功把創始人洗下車的佩佩,聽說上一個這樣的項目還是聰哥的大餅,鼓掌鼓掌.
1900/1/1 0:00:00