RET:详解Secret Network:什么是可编程的隐私公链?

撰文:0x76/律动BlockBeats

在区块链行业中,隐私一直是一个十分混乱的概念。因此在真正开始介绍今天的隐私项目SecretNetwork之前,有必要先对隐私相关概念重新进行一下梳理。

本文将分为两部分,第一部分重新辨析隐私及相关的主要概念。第二部分我们则直接上手,看看目前行业内第一条真正可用的,支持隐私编程的公链SecretNetwork,在使用中与其他公链到底有哪些不同。

当我们在讨论隐私的时候,到底在讨论什么?

隐私,是自比特币诞生以来便一直围绕在加密行业的标签。中本聪也曾在比特币白皮书中单列一章讨论隐私问题。然而,比特币所提供的隐私,真的是我们日常生活意义上的隐私吗?

天然匿名的账户

我们知道,目前以比特币、以太坊为代表的主流区块链网络,其最重要的特征之一,便是其所有交易记录是完全公开可验证的。而用户之所以还能在这种极端透明的环境中保有一定的隐私,唯一的原因,便是其独特的账户注册机制。

对于任何一个账户体系来说,其最重要的工作就是防止出现账户重名。因为一旦出现重名,与之相关的信息,乃至资产的权属都将产生争议,进而导致整个系统出现严重的混乱。就像数据库每个表中的主键一样,一个系统中的账户必须保证唯一性,才能使得整个系统正常运转。

因此在一般的账户体系中,必然需要存在一个中心化节点,专门负责新账户的注册工作,以保证系统中每个账户的唯一性。而比特币由于需要做到完全的去中心化,因此必须采用其他的解决方案。

而我们已经知道,最终中本聪给出的答案,是每个用户通过随机算法独立生成地址。那么随机算法如何防止地址出现重复?答案是根本防止不了。我们能做的,只是从概率上将地址出现重复的概率降到足够低,最终以这种去中心化的概率确定性,代替中心化注册机制的最终确定性。

而由于这种生成机制完全随机,因此所有地址都具有先天的匿名性。这种匿名性,便是我们早期常常谈到的隐私。

不过,通过地址的匿名性保护隐私有两个重要的缺陷。一是匿名的不可逆性,一旦一个地址的真实身份暴露,则这种匿名性的丧失是不可逆的。

另一个特点是维护地址匿名的工作完全是链外事物。也就是说,在地址生成后,维护匿名的工作都由链外的持有人负责,区块链系统对相关的任何事情都一无所知也无能为力。

NFT游戏Mojo Melee将为Amazon Prime订阅者赠送NFT和游戏代币:金色财经报道,基于以太坊扩展网络Polygon构建的NFT游戏Mojo Melee已与零售巨头亚马逊合作,为Amazon Prime订阅者赠送NFT。第一个产品现已通过Amazon Prime Gaming门户提供,是一个免费套餐,其中包括NFT和游戏内货币,供为Mojo Melee创建新玩家帐户的Prime订阅者使用。包括冠军角色Gwyn Rockhopper的NFT以及885 Ore(一种非加密游戏内货币)。

亚马逊的交易将持续六个月,其中包括每月额外赠送的免费游戏内NFT和其他内容,为Prime订阅者提供持续体验游戏的机会,并比非订阅者拥有潜在优势。[2023/8/3 16:15:54]

在这种情况下,早期的链上隐私解决方案只能通过不断删号重练,并切断新匿名地址与旧地址的联系,来帮助用户恢复匿名性。

我们熟知的早期隐私项目,如Tornado.cash,乃至达世币(Dash)、门罗币(XMR,Monero)、大零币(ZEC,Zcash)等等隐私公链,基本也是围绕着这个思路设计的。

匿名账户体系的瓦解

然而当区块链技术逐渐由比特币时代过渡到以太坊为代表的智能合约时代后,新诞生的各类应用,对原有匿名账户体系的冲击也越来越大。

早期的地址仅仅用来保存购买的加密货币。而在今天,我们需要用这些地址购买NFT头像、关联社交账户、持有域名、保留游戏道具甚至发布Mirror文章。所有这些活动,都使得继续维持这些地址匿名的成本越来越高,而再次进行删号重练的转移工作也由于越来越复杂以至于几乎不可行。

因此我们突然发现,简单的匿名地址已经不再能满足新时代用户的使用需求,我们需要更加先进的隐私解决方案。

什么才是真正的隐私?

对于隐私的定义我们不再做什么学术上的讨论,这里我们直接沿用生活中对隐私约定俗成的理解。我们在日常生活中提到的隐私,并不是让人们每天戴着面具生活,而是即使我们公开了身份,也能在需要的时候,拥有自己私密的空间,进行私密的交易。

对应到区块链中,我们需要的隐私最好是这样一种形态。即便我的地址已经是公开的实名地址,我也可以根据自己的需要,隐藏自己持有的资产数量,与DeFi协议进行交互而不必担心信息被公开,购买的NFT虽然存在自己的地址中,却可以根据自己的意愿选择是否公开展示。

KuCoin:Twitter账户被盗用约45分钟,将全额赔偿所有已核实的资产损失:4月24日消息,加密交易所 KuCoin 发推称,Twitter 账户自北京时间 4 月 24 日 06:00 开始被攻击盗用约 45 分钟,发布了虚假活动,导致多个用户的资产损失。KuCoin 将全额赔偿因社交媒体泄露和造假活动造成的所有已核实资产损失。KuCoin 表示,只有 Twitter 帐户在此事件中遭到入侵。事件发生后,团队立即采取行动,从官方 Twitter 支持处夺回了对该帐户的控制权。截至北京时间 4 月 24 日 08:00,团队已经确定了 22 笔交易,包括与虚假活动相关的 ETH/BTC,总价值为 22,628 USDT。为了防止更多用户受到伤害,团队目前正在检查和屏蔽可疑地址。[2023/4/24 14:23:09]

对于这种需求,传统的无法支持智能合约的隐私公链们显然已经无能为力。我们需要新的可编程的隐私公链来完成这个使命。

可编程的隐私公链

目前整个市场中,能够符合支持智能合约,并且可对公链上发生交易的隐私进行定制化选择的公链有两个,一个是OasisLabs推出的针对隐私编程的CipherParatime,另一个就是Cosmos生态中的隐私公链SecretNetwork。

当然,我们在下文讲的是目前生态已经初具规模且切实可用的SecretNetwork。而OasisLabs的隐私产品由于依然缺少可用的应用,我们只能以后有机会再进行介绍了。

SecretNetwork发展历程:从以太坊到Cosmos生态应用链

SecretNetwork项目早期名称为Enigma,最早希望依托以太坊生态进行开发。后在遇到性能瓶颈后调整技术路线,改为通过CosmosSDK开发一条独立的,支持隐私计算的公链。这条公链便是如今的SecretNetwork。

当然,作为Cosmos生态的一员,SecretNetwork自然也可以无缝集成IBC跨链协议,可以方便地与Cosmos生态其他公链进行交互。

SecretNetwork隐私功能实操

之前许多关于隐私项目的介绍文章,总喜欢使用一些似是而非的宏大概念,不是为了把事说清,而是希望把水搅混。因此,在本文的后半部分,我们直接通过上手实操的方式,向读者直观的介绍到底什么才是可编程的隐私。

Binance上的ETH永续期货未平仓合约达到1个月高点:金色财经报道,Glassnode数据显示,Binance上的ETH永续期货未平仓合约刚刚达到2,066,648,926.76美元的1个月高点,之前的1个月高点为2,062,909,335.26美元,出现在2022年12月9日。[2023/1/7 10:59:38]

首先,Secret与任何其他智能合约平台型公链类似,都有自己的原生Token:SCRT,这个Token可以用于支付Secret网络的交易费用,以及参与PoS质押。与其他智能合约平台一样,SCRT的转账记录是完全透明公开可验证的,因此没有任何隐私属性可言。

但是与Juno不同的是,在SecretNetwork中存在一种特殊的隐私Token,我们称其为sToken。每一个普通Token都可以被打包成sToken,从而获得隐私属性。

在Keplr钱包中我们也能发现,不同于其他公链只有Stake与Governance两个选项,在SecretNetwork栏目中的治理选项卡下方,还有一个SecretSCRT按钮。点开便可以看到Secret到sSecret的转换页面。

在这个界面中,我们可以直接将钱包中持有的非隐私SCRT代币转换成具有隐私属性的sSCRT代币。

然而如果你是第一次使用sSCRT,你会发现当你转换完成后,钱包界面中并不会直接显示sSCRT的余额,而是显示Loading...状态。

这是由于在SecretNetwork中,任何sToken对任何访问者都是默认不可见的,包括地址的持有人。如果想要看到sToken的余额,需要先使用钱包签署交易生成一个ViewingKey。

我们如果刷新这个页面,系统便会自动弹出如下的AddToken交易签署界面。这里的AddToken指的便是添加sSCRT通证,界面上方显示的合约地址是sSCRT的合约地址。

点击Submit提交后便会进入交易签署界面。注意,签署任何交易都需要SCRT支付gas费,sSCRT不能作为gas使用。因此,当你在进行sSCRT兑换的时候,记得保留一些SCRT余额。

米兰街头出现巨型比特币海报:“你所有的欧元都将归零”:金色财经报道,意大利米兰街头出现巨型比特币海报,海报内容一部分是几个大字写着“你所有的欧元都将归零”,另一部分是比特币论坛相关内容和二维码。[2022/10/15 14:29:01]

签署后,系统便会为你的钱包生成一个ViewingKey。获得了对应ViewingKey的钱包,将有权限对相应sToken进行查询、转账等各种操作。而且,ViewingKey的添加的一次性的,后面只要不更换钱包,便不再需要重新计算ViewingKey。

正如SCRT在SecretNetwork中拥有唯一对应版的隐私通证sSCRT,其他任何Token进入到SecretNetwork之后,都可以生成一个单独的隐私通证sToken,而每个sToken都对应着唯一的合约地址。

同理,当账户第一次接收到一个新的sToken时,也都需要签署交易生成一个新的ViewingKey,否则sToken的余额无法正常显示。

那么sToken在使用时,是如何保护用户的隐私的?下面我们通过Mintscan浏览器对一些常见交易进行验证。

收付sToken

当一个地址在支付sToken时,会在浏览器中留下一笔交易记录。我们以支付sSCRT为例,在浏览器中付款方地址是公开可见的,同时我们也可以知道这笔交易涉及与sSCRT合约的交互,但是收款方以及交易金额都不可见。

我们再来看看收款方的状态,当我们确认钱包中已经收到这笔资金时再打开Mintscan,发现交易历史记录中并没有显示有新的交易发生。因此,任何人都不能通过公开信息,查到一个地址何时收到过多少sToken。

交易与兑换

我们使用SecretNetwork中的原生交易平台SecretSwap将0.1sSCRT兑换为sATOM。

Cardano创始人:加密熊市期间更易出现行业重大进展:金色财经消息,Cardano创始人、Input Output首席执行官Charles Hoskinson近期接受采访时驳斥了对加密冬天的担忧,并认为熊市“实际上相当舒适”。

Hoskinson称,牛市令人“沮丧”,因为没有人愿意合作:“到处都是盗用、不切实际的工资和不切实际的期望。”

Hoskinson目前已经经历了七次熊市。他认为,智能合约等重大进步通常出现在最艰难的时期。(U.Today)[2022/6/10 4:16:54]

以下便是这笔交易在浏览器中的记录。可以看出,我们依然能够看出付款方的地址,同时也能推断他与sSCRT合约进行了交互,但是他做了什么,兑换了哪些代币,金额是多少,都无法从公开记录中验证。

不过,由于我们本次是第一次持有sATOM,因此在钱包界面中无法直接看到刚才购买的sATOM金额,我们需要再签署一笔交易用来创建sATOM的ViewingKey,才能继续操作我们购买的资产。

我们直接来到SecretNetwork官方提供的sToken转换专用网站,并连接Keplr钱包。

可以看到,在右侧sATOM的余额处,显示了一个黄色头像表示尚未创建ViewingKey。鼠标直接点击此处便会弹出创建ViewingKey的交易签署界面。

签署成功后,我们便可以在界面以及Keplr钱包插件中看到sATOM的余额了。

同时,刚才的签署操作会留下一笔公开的交易记录。显示你的地址与sATOM合约地址有过一次交互,但无法判断具体的交互内容。

以上便是使用sToken进行支付与交易时,在SecretNetwork上产生的公开信息。可以看出,通过使用sToken,用户可以有选择地隐藏自己交易的关键信息,保护用户关键信息的隐私安全。

桥接非隐私资产

正如我们刚才看到的,SecretNetwork可以将任何资产转换为隐私通证,进而隐藏相关的交易信息。那么如果用户希望使得自己的以太坊等其他公链资产也拥有这种隐私保护功能,就需要通过跨链桥进行资产跨链。

而SecretNetwork的官方跨链桥包含两个重要的组件,一个是支持IBC的跨链打包桥,另一个是支持以太坊、BSC以及门罗币跨链的官方桥。

IBC跨链打包桥

这个桥就是我们刚刚在查询sATOM地址时使用的应用,他不但可以帮助用户快速的将普通代币打包成隐私代币,也可以通过IBC协议,在不同Cosmos公链间进行快速的资产跨链转移。

我们点击界面左侧的双向箭头按钮直接调出IBC跨链的界面,在这里可以操作资产跨入Secret以及跨出Secret。

而当存入资产后,便可以直接点击右侧的WRAP按钮,将其转换成隐私版本的sToken。

官方桥

SecretNetwork的官方跨链桥已经支持了以太坊、BSC以及门罗币的资产跨链,其跨链方式与普通跨链桥类似,在此不做演示。

通证标准

SecretNetwork建立了独特的隐私通证标准SNIP-20,该标准基于Cosmos生态的CW-20标准改造而成,主要加强了原标准的隐私功能。此外,还有支持隐私功能的SNIP-721标准,用于支持隐私版的NFT发行。

可编程的隐私到底有什么用?

看了刚才的简单体验,可能很多读者已经发现了一个很重要的问题,那就是:操作这些隐私应用都好麻烦啊。

我们不但需要在原始Token与sToken之间频繁转账,还要不断签署交易添加ViewingKey。然而搞的这么麻烦的目的又是什么呢?除了可以隐藏我的钱包里有多少钱,SecretNetwork的隐私计算还能给我们带来什么?

1.抗MEV

如果你曾经在以太坊中进行过交易,那么你一定听说过三明治攻击。也就是当你签署一笔交易的时候,由于交易在打包前在内存池中公开可见,由此矿工和套利者可以在你的交易之前先进行买入,并在你的交易完成之后进行卖出,导致你的交易成本升高。

而在SecretNetwork中,由于可以将交易指令隐藏,无论是矿工还是套利机器人,都无法再进行MEV提取,最终的结果是,用户可以以真正公平的价格,买到自己需要的资产。

2.隐私版NFT

SecretNetwork上的隐私版NFT,同样可以提供sToken相似的功能。比如你购买了一个极为珍贵,类似CryptoPunk的NFT,你担心之后被别人发现并对你进行针对的钓鱼攻击。为了保护资产的安全,你可以选择将其隐藏,使得别人在你公开的地址中无法看到你持有的NFT资产。

同时,SecretNetwork上的NFT同样可以选择将链上的元数据进行加密处理。NFT的铸造者可以规定,只有该NFT的持有者才能看到真正的元数据地址,显示清晰图片,而其他地址则只能看到经过模糊处理的图片。

比如在SecretNetwork最大的NFT交易平台stashh中,我们可以点击左侧的年龄验证按钮后,浏览隐私版的NFT产品。

这类NFT在购买前用户只能浏览一个虚化的图像,而只有当你真的购买后,才能看到完整的NFT元数据。

不过由于这些产品都不便宜,因此在这里就不买来给大家演示了。最后在此提示想尝试的用户谨防,因为这些NFT的元数据是完全隐藏的,因此你在购买前也没办法知道,里边装的到底是什么东西。

SecretNetwork的主要问题有哪些?

经过上文简单的体验,我们获得了对SecretNetwork一个比较直观的体验感受。首先,SecretNetwork具有任何智能合约平台都具有的基本功能,同时也支持常见的应用部署。

目前的SecretNetwork生态既包括去中心化交易平台、各类DeFi应用,也包含NFT铸造与交易市场。如果不考虑隐私代币sToken,其体验与传统智能合约公链基本无异。

但是其缺陷也比较明显,那就是用来保护隐私sToken给用户的交互体验带来了比较大的影响。新用户不但需要搞清各种涉及隐私的新概念,还需要在隐私通证与非隐私通证之间频繁转换,如果没有明显的激励或使用需求,普通用户可能很难坚持使用下去。

此外,就在前不久,SecretNetwork上的DeFi应用ShadeProtocol发放了空投。结果,直接就把SecretNetwork网络给堵死了,不但主网上交易确认的速度缓慢,很多为了领取空投而从Osmosis提取SCRT的用户,一两天都收不到跨链资产。

一侧Osmosis中的SCRT已经付出,另一侧迟迟无法到账,这也是我个人使用IBC跨链第一次遇到这么差的体验。虽然团队马上进行了紧急更新,然而这样的交易处理能力,离真正的大规模使用,恐怕还有不小的距离。

总的来说,SecretNetwork依然是一个整体处于开发早期的公链,上面的生态应用虽然可以让用户初步体验能够真正落地的隐私计算产品。但是目前交互体验还有诸多不足,依然需要持续的发展和改进。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:15ms0-0:886ms