文/?YongKangChia和JunHaoYap,SpartanLabs,標題:TheConstructionoftheSoulPart2:ImplementationsofSBT
這是一個由三部分組成的系列文章,介紹SBT的基礎知識、對SBT的愿景、其技術實施以及利用ZK技術的可能性。系列文章的目標是揭開SBT技術思想的神秘面紗,并提供一種實現來構建具有社會身份集成的Web3未來。第1部分討論什么是SBT及其基本特征。第2部分討論其基礎實現以及如何使用SBT添加隱私。第3部分將討論如何使用ZK技術來改善SBT隱私。
本文為其第2部分,將根據第一部分提出的設計指導原則談一談SBT的實現。
內容
1、實現思路???1.1與NFT的比較???1.2基礎SBT??????→1.2.1鑄幣和銷毀??????→1.2.2鏈下存儲??????→1.2.3驗證SBT屬性??????→1.2.4更新SBT數據??????→1.2.5基本使用SBT??????→1.2.6SBT對隱私的需求2、具有私有數據存儲的SBT???2.1將數據存儲在鏈上但對地址進行散列??????→2.1.1示例用法??????→2.1.2討論具有鏈上散列的SBT???2.2存儲IPFS等第三方提供商的鏈下項目??????→2.2.1將鏈下數據與鏈上哈希鏈接連接?????→2.2.2鏈下秘密的風險。3、結論
1、SBT實現思路
在本小節內容中,我們將討論SBT的實現及其利弊權衡。
1.1SBT與NFT的比較
既然NFT和SBT聽起來確實很相似,那么在具體實現方面,這些數據結構之間的關鍵區別是什么呢?
彭博社:Tether利用Signature Bank將美國客戶資金從美國轉移到巴哈馬:金色財經報道,穩定幣發行商Tether利用Signature Bank將美元資金從美國轉移到巴哈馬。直到今年3月Signature Bank關閉并被監管機構接管前,Tether一直使用Signature Bank的Signet支付平臺將美國客戶的資金轉移到Capital Union Bank,后者是該公司在巴哈馬的銀行合作伙伴。隨后Tether首席技術官Paolo Ardoino在推特上回應了這篇報道,稱Tether“對Signature沒有任何直接或間接敞口”。Signet成立于2019年,是一個實時支付平臺,即使在Signature Bank關閉后該平臺仍在繼續運營。[2023/4/5 13:45:37]
不可轉移性
與被設計為可交易的NFT不同,SBT在本質上應該與靈魂綁定在一起,應該是不可轉移的。
隱私保護
NFT的數據是公開的。然而,SBT項目可能希望保留其數據的私有性。
隱私可以通過各種不同方法實現。
可組合性
SBT的數據應該很容易被其他鏈上或鏈下項目讀取。
以SBT特性為指導原則,我們在Solidity中實現了SBT。
我們將在下面小節內容中討論我們的實現。
1.2基礎SBT
基礎SBT可以作為模板供其他希望在SBT上構建的項目使用。基礎實現不涉及隱私方面的討論,隱私相關內容將在本文的第2節中展開。
1.2.1鑄造和燒毀
合約是這樣設計的:鑄造應由項目所有者把關。這是為了防止用戶可以鑄造任何SBT信息帶來的潛在漏洞,比如用戶會鑄造一個良好的信用評分,但這并不是項目的意圖。這個想法是,項目應該確定、驗證和鑄造與SBT相關的正確數據。
央行副行長宣昌能:加密貨幣領域缺乏有效監管:金色財經報道,博鰲亞洲論壇2023年年會于3月31日下午落下帷幕。中國人民銀行副行長宣昌能表示,有效的金融監管是重要的金融基礎設施,需要加快完善與數字經濟相適應的監管體制。金融監管是保障數字金融穩健運行的基礎性制度安排,監管缺失會加劇非理性的市場行為。
宣昌能以加密貨幣為例解釋稱,本世紀初全球金融危機爆發以來,主要發達經濟體長時間實施了超寬松的貨幣政策,引發市場主體對信用貨幣資產貶值的擔憂。在此背景下,以區塊鏈技術為基礎的加密貨幣強調去中心化和規則算法的屬性,試圖對信用貨幣形成一種反制,在流動性充裕的環境下受到很多投資者追捧。宣昌能稱,從實際運行的情況來看,加密貨幣以及那些憑空創造的加密貨幣,并沒有解決信用貨幣存在的問題。
宣昌能認為,加密貨幣領域缺乏有效監管,屢屢發生操縱市場、濫用市場交易、挪用客戶資產等行為。加密貨幣交易平臺在進行交易過程中涉及與法定貨幣的兌換、杠桿交易等環節。這些環節掌控在交易平臺、發行方和交易商、做市商手中。這反而是非常中心化的事情。[2023/4/1 13:38:53]
同樣,對于與地址相關聯的SBT的燒毀,我們也認為用戶不應該具備輕易刪除其數據的能力,特別是當該數據包含某個負面屬性時。用戶應該能夠提議燒毀他們的SBT,但燒毀的執行應該由項目所有者決定。
那些希望允許用戶選擇刪除數據的項目可以實現燒毀。例如,如果一個用戶出于與項目的目標不一致,想要從項目中刪除所有信息,那么他應該擁有這樣的選項。
另一個需要考慮的問題是,項目可能希望管理他們的SBT社區,并在用戶違反他們的社區管理條款、條件時刪除用戶。例如,在一個發布SBT的社區中,也許會有用戶不遵守規則并表現出不適當的行為。因此,社區可以決定是否從其項目中刪除用戶的SBT。這樣的社區可能希望進一步實現一個建議機制,以允許刪除數據的自燃建議或燒毀其他人SBT的建議。
SBF曾使用Alameda資產購買5.46億美元Robinhood股份,多方對此股份聲稱所有權:金色財經報道,法庭文件顯示,SBF從Alameda Research借入5.46億美元,并將這筆錢注入Emergent Fidelity Technologies Ltd,通過Emergent Fidelity購買了Robinhood的7.6%股份。Alameda Research所持有的這些股份被用來充當貸款的抵押品。
申請破產的BlockFi則聲稱,通過11月初與SBF達成的一項交易,BlockFi應獲得Alameda所持Robinhood股份的所有權。
目前,BlockFi、 FTX Group和SBF本人都試圖宣稱對這些股份擁有所有權,這些股份目前價值約為4.4億美元。[2022/12/28 22:11:16]
1.2.2鏈下存儲
數據可以存儲在鏈上或鏈下。在我們的實現中,我們假設SBT的數據存儲在鏈下,由IPFS作為供應方。在我們的實現中,鏈下存儲的URI可以與數據結構“StructSoul”中的標識符相結合。
項目能夠根據他們是想在鏈下還是鏈上存儲SBT屬性來調整提議結構。
1.2.3SBT屬性驗證
其他交易對手項目應該能夠輕松檢索SBT數據。
這對于想要驗證用戶SBT屬性的交易對手來說很有用。其他項目將能夠查驗一個地址是否綁定了靈魂,并驗證該靈魂所包含的屬性。
這對于SBT與不同項目的可組合性非常重要,其他項目可能希望進行交互并驗證用戶的屬性。但是,用戶和項目可能不希望公開數據,有一些方法是可以保護數據隱私的。
Solana生態錢包Phantom的推特賬號已被凍結:10月26日消息,Solana生態錢包Phantom的推特賬號顯示已被凍結。目前尚不清楚被封禁原因。此前Solana生態項目DeGods、y00ts推特賬戶也被封禁,后又恢復正常使用。[2022/10/26 11:45:37]
1.2.4SBT數據的更新
我們不希望用戶或其他方更新靈魂,我們希望由經許可的權威方來更新,因為我們希望對數據的更改能得到驗證。
由項目來實現合約,這樣用戶可以在鏈下提議對靈魂的更改,再由項目來驗證更改是否有效并更新鏈上更改內容。
1.2.5基礎SBT用例
SBT的基礎實現適用于希望將數據分配給非私有用戶的項目。例如,想要獎勵白名單對NFT收藏的支持的項目可以使用基礎SBT。在未來,這類項目可以空投獎勵到這些SBT地址。
在之前的文章中,我們提出了如何將SBT作為識別NFTLocker的潛在用例。
例如,當NFT在TimeLock.sol中被鎖定時,Locker可能仍然希望“顯示”他們確實擁有這樣一個鎖定的NFT。然而,從開發人員的角度來看,引用鎖定的NFT是很奇怪的。因此,“靈魂綁定”代幣可以表示出用戶鎖定NFT的時間,它們可以被允許進入“hall?offame”。在解鎖時,一個不可轉移的包裝代幣需要被“燃燒”來解鎖NFT,并且Locker將不再具有“halloffame”地位。
1.2.6SBT的隱私需求
美SEC在Ian Balina的起訴書中稱所有以太坊都在其管轄范圍內:9月20日消息,美國證券交易委員會(SEC)已對加密貨幣投資者Ian Balina參與推廣2018年未注冊加密資產SPRK一案發起訴訟,但加密社區在美國證券交易委員會的起訴書中發現,該監管機構認為所有以太坊都在其管轄范圍內。
在起訴書第69段中,美國證券交易委員會指出發送給Ian Balina的ETH通過以太坊區塊鏈上的節點網絡進行驗證,這些節點在美國的集群密度比任何其他國家都高,因此這些交易都發生在美國,意味著該監管機構認為在美國運營的以太坊驗證節點比在任何其他國家都多,因此全球所有以太坊交易都應被視為源自美國,而且美國證券交易委員會對以太坊網絡上的所有活動擁有管轄權。
肯塔基大學法學教授Brian Fyre表示,這是第一次看到美國證券交易委員會真正闡述其如何理解以太坊生態系統運作,以及他們為什么認為以太坊屬于SEC的監管范圍。根據Etherscan數據顯示,目前45.85%的以太坊節點來自美國,相比之下排名第二的德國只有19%。(decrypt)[2022/9/20 7:07:21]
然而,上述的基礎SBT并沒有考慮到隱私方面的需求。
正如在前一篇文章中提到的,web3的未來必將要與你的真實身份進行一定程度的集成。因此,鏈上集成后保持個人身份的隱私是至關重要的,這樣才能保護自己免受來自惡意行為者的傷害,比如,惡意行為者可查看區塊鏈的公共數據,還原個人身份。
任何記錄在鏈上的關系都可以立即被全世界的任何人看到,而不僅僅是參與者。通過關聯SBT數據,惡意行為者可以從靈魂中還原用戶的真實身份。
例如,如果人性證明得到更廣泛的應用,保護隱私將變得更加關鍵,因為另一種景象是,我們所做的一切都將在鏈上直接與一張人臉相連。
2、SBT數據的私有存儲
V神在其研究文章中提出了一些可能實現的具有隱私性的SBT,可以通過鏈上存儲和鏈下存儲來實現。
在本節內容中,我們將討論SBT數據私有存儲的可能實現方式。
2.1鏈上存儲數據,但要“哈希”地址
將數據項存儲在一個地址中,該地址是以下數據的哈希值:索引、收件人地址和專屬于收件人的秘密。
你可以向一個接口透露你的秘密,然后它會搜索屬于你的所有可能的數據項,但沒有人會知道哪些具體項是你的,除非你自己泄密。
用戶提供的秘密將允許平臺找到與用戶的SBT相關的所有數據。
這種方法也稱為密鑰散列消息身份認證。它是通過對數據和共享密鑰運行加密哈希函數獲得的消息身份驗證碼。
為什么這個方法會奏效?以太坊地址由Keccak-256散列生成,并以十六進制數表示。Keccak-256散列的最后20個字節用于生成地址。
因為一個十六進制數是4位,所以我們將Keccak256散列的最后40位作為我們的地址。我們可以在這個地址部署我們的項目。
但是,請注意,帶有隱私數據的哈希應該在鏈外執行,因為區塊鏈上的所有內容都是公共的。
因此,在進行部署或鑄造時,應該只提供哈希值,而不提供隱私數據。
2.1.1范例
例如,Bob希望使用基于信用的借貸dApp鑄造一個SBT。
借貸平臺首先對Bob執行KYC驗證。
部署地址是由Bob的客戶ID、他的鏈上地址和他的名為“Peanut”的秘密生成的。
Bob的客戶ID、地址和秘密被哈希在一起,以獲得一個用于數據部署地址的地址。
然后在部署地址鏈上部署一個包含Bob的KYC數據的SBT。
除了知道Bob秘密的人,沒有人可以查看Bob的KYC數據。
當一個項目想要查看Bob的KYC數據時,Bob需要做的就是提供他的秘密“Peanut”,這樣他們就能夠獲得Bob的所有KYC數據了。
2.1.2關于SBT鏈上哈希的討論
優點:
該方法允許與協議輕松互操作,因為我們所需要的只是檢索數據項所需的秘密、索引和地址。
缺點:
然而,將數據項部署到特定地址是件麻煩事,而且要消耗的大量的gas費。
此外,將所有與SBT相關的數據都存儲在鏈上沒有意義,有些數據可能更適合存儲在鏈下。
更重要的是,用戶的秘密掌握在項目方手中;長期使用可能會導致泄密,類似于如今常見的密碼泄露。
2.2使用第三方供應方如IPFS,鏈下存儲數據項
正如上一節提到的,把大多數數據存儲在鏈上成本太大。因此,更好的方法是將數據鏈下存儲在第三方平臺上。這種在鏈下存儲數據的方法非常類似于NFT,NFT的數據通常也是存儲在鏈下的。
不同之處在于,為了確保隱私,我們首先必須使用加密哈希函數對URI字符串進行哈希。URI數據的哈希應該在鏈下完成,因為區塊鏈上的所有數據都是公開的,甚至是私有的狀態變量也是如此。
為了防止暴力攻擊識別包含鏈下數據的鏈接,哈希值不應該僅僅是鏈接本身的哈希值。它可以是用戶秘密的函數,與鏈下數據存儲鏈接,或者使用遞歸哈希或其他方法。這也被稱為salting。
下面是使用SHA256的Python實現示例:
這只是一個實現示例。還有許多其他方法可以模糊URI,例如隨機附加秘密、生成隨機秘密、peppering,以及使用專門為安全存儲密碼而設計的其他算法。
然后使用數據的哈希值進行SBT的鏈上部署,而不是使用數據本身。
2.2.1連接鏈下數據與鏈上哈希鏈接
我們怎樣才能將鏈下數據與鏈上哈希鏈接連接起來呢?
對合約所有者來說,一種可能的方法是將存儲在鏈下位置的數據結構標準化。因此,SBT的所有者可以透露鏈下數據的鏈接,而項目可以哈希鏈接,以檢查它是否與鏈上哈希值相同。如果哈希值相同,項目可以進行查詢來檢索存儲在鏈下位置的數據。
為了保護用戶的秘密,對包含用戶數據的鏈接的驗證必須由可信的、安全的第三方在鏈下完成。
2.2.2鏈下秘密風險
鏈下傳輸秘密可能使用戶暴露于漏洞和各種攻擊之下。
項目必須確保秘密傳輸的安全,并防止常見的攻擊,如回放攻擊、中間人攻擊和許多其他常見攻擊。
一旦處理SBT檢索的第三方的安全性遭到破壞,個人的秘密就會公開。
項目還應注意網絡釣魚攻擊,因為用戶可能會被提示在復制原始密碼的惡意網站上輸入密碼。
此外,證明用戶具有某種屬性的唯一方法就是公開秘密。但是,為了創建SBT的匿名組合性,使不同的協議可以檢索SBT數據,用戶應該公開必要的最小數據量。
如果項目所需的只是驗證某個屬性,那么用戶不應該透露全部秘密。用戶應該將他們的秘密向盡可能少的項目披露。
因此,我們需要考慮另一種方法,在這種方法中,項目能夠驗證用戶具有某個屬性,而用戶則不會泄露他們的秘密。
3、結論
在本文中,我們基于本系列第1篇文章中介紹的設計指導原則,介紹了SBT的實現。我們實現了基礎SBT以及具有鏈上和鏈下私有存儲的SBT。然而,鏈下存儲可能并不是真正的私有,因為用戶將不得不公開他們的秘密,以證明他們擁有某種屬性。
ZK技術的使用可以幫助我們減少用戶的秘密分享量,以保持他們的SBT數據真正的私有性。這就引出了本系列文章的第3篇內容,在第3篇文章中,我們將介紹使用zk-SNARK實現的SBT,在這種實現中,用戶的秘密可以保持隱藏狀態,防止受到各種方式的攻擊。
來源:金色財經
日前,平安銀行股份有限公司行長胡躍飛一行蒞臨大華股份新總部園區參觀訪問,大華股份董事長兼總裁傅利泉、高級副總裁徐巧芬等陪同。雙方就進一步創新合作模式、推動共贏發展進行深入交流.
1900/1/1 0:00:00BTC一小時周期個人看跌,但跌多少不知道,一小時要反轉看多必須突破20000點的位置,空倉觀望! BitMEX母公司代理CEO:加密交易所應該逐步淘汰內部做市商:金色財經報道.
1900/1/1 0:00:00Chiliz最近見證了價格走勢和活動的上升。過去一周上漲了27.20%,CHZ現在的價值超過了一周前。此外,超過60%的代幣由鯨魚持有.
1900/1/1 0:00:00在8月31日發布?ForkIt#22:PoWvsPoS?之后,被大家戲稱為“年更”的中文播客節目ForkIt趕在以太坊合并前夕.
1900/1/1 0:00:00上周說完公鏈,今天說說Defi方面的趨勢~ Dex- 1.我想市場終于認識到,無常損失是一個feature,不是一個problem?本來就是,手續費你賺了,如果還沒有無常,那豈不是光吃肉.
1900/1/1 0:00:00彭博社的一位分析師表示,比特幣最近以有史以來最大的折價交易。這是由多個行業參與者合作的,他們認為比特幣要么在底部交易,要么非常接近底部。如果這種觀點成立,那么現在可能是開始購買比特幣的好時機.
1900/1/1 0:00:00