STARK:详解Web3的基建:零知识证明

现实生活中手机转账数目,卡上余额,通话数据甚至对象信息我们都会小心翼翼的注意数据信息的安全和不对外公开,这是个人隐私也是其对应的数字资产,隐私的相关保护也慢慢成为了大众共识,也受到了法律保护-隐私权。

区块链的可溯源的特性一方面让交易信息和数据来源得到了确权,是数字资产所有权上链的可靠性技术,让很多传统纠纷和冤假错案得到全新的数字解决方案,但是另一方面信息完全暴露于公链上,没有任何的安全措施却又让很多不法黑客得到充足的便利,数字资产就像裸奔在高速路上,高价值和独有性资产随时可能成为黑客的下一个目标。

在公链上的交易如何保障其一定的隐私性?想让交易促成,但是又不想让别人轻易追溯个人链上地址的资产信息,比如:

A?向?B?出售某个?NFT,B?要先向?A?的地址打款,A?确认后转移?NFT?到?B?的地址,这其中就会产生信息不信任的问题,A?需公布钱包地址内的资产让?B?知道这其中有他想要的?NFT,但是?A?的资产信息就暴露在?B?的视野下,如果此时?B?有不良意图或是黑客,那?A?就将降入欺诈陷井的可能中。

密码学分支的零知识技术在解决隐私和不信任问题上得到了新的解决方案。

什么是零知识证明(ZKP)

零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄露出去.零知识证明可以验证某一数据集的有效性,并同时保护数据隐私.

零知识证明(Zero—KnowledgeProof),是由?S.Goldwasser、S.Micali?及?C.Rackoff?在?20?世纪?80?年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。大量事实证明,零知识证明在密码学中非常有用。

A?把钥匙出示给?B,B?用这把钥匙打开该房间的锁,从而证明?A?拥有该房间的正确的钥匙。

B?确定该房间内有某一物体,A?用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给?B,从而证明自己确实拥有该房间的钥匙。

后面的方法属于零知识证明。它的好处在于,在整个证明的过程中,B?始终不能看到钥匙的样子,从而避免了钥匙的泄露。

SNARK

SNARK的全称是「zero-knowledgesuccinctnon-interactiveargumentonknowledge」。这是一种加密证明,文件很小而且很容易验证。它利用椭圆曲线生成一个加密证明,该椭圆曲线假设无法从一个公开的基点找到随机椭圆曲线元素的离散对数。椭圆曲线的计算成本低于STARK的哈希函数,因此SNARK协议的gas成本更低。

STARK

STARK全称是「zero-knowledgescalabletransparentargumentofknowledge」。这种加密证明几乎不需要证明者和验证者之间产生任何交互。STARKs相比SNARKs的最大优势在于证明时间更短,而且更容易扩展。另外,由于STARKs采用哈希函数,因此也可以抗量子攻击。?

它们各自有不同的优缺点。这里说一下这两种ZK证明之间的主要区别:

证明大小:STARK比SNARK大,这也意味着它们在以太坊上验证的成本更高,因为更大的证明=更多的计算=更高的gas费。

可扩展性:通常认为STARK比SNARK更有效,具体取决于实现情况。证明和验证STARK的复杂度规模相对于被证明的计算复杂度呈拟线性增长,而SNARK的复杂度呈线性增长。这意味着在证明更大的计算量时,STARKs比SNARKs具有更大的优势。

生态系统和项目:使用SNARK的项目比使用STARK的项目多得多,因为SNARK的存在时间更长。

递归:SNARK支持递归——您可以创建一个父SNARK来证明多个子SNARK——这是许多扩展解决方案使用的主要功能。STARK不支持递归。

量子安全:SNARK使用椭圆曲线密码术,这不是量子安全的。量子计算的进步可能会使基于SNARK的系统容易受到攻击。STARK不易受到攻击,因为它们的加密方案依赖散列函数。

可信设置:如前所述,SNARK在创建CRS期间需要可信设置。STARK通过利用可公开验证的随机性来生成证明者和验证者共享的参数,从而避免了这个不便的问题。

采用zk-STARK的项目

StarkEx:StarkEx是以太坊上的Layer2扩容方案,采用STARK证明来验证自托管的交易,并在上面开发交易和支付应用。基于StarkEx的项目包括DeversiFi、Sorare和dYdX,目前已完成了几亿笔交易并实现了几千亿美元的交易额。然而,StarkEx无法支持智能合约功能,因此无法实现功能完备的dApp。

StarkNet:StarkNet是一个通用平台,开发者可以使用StarkNet在以太坊的zk-rollup上部署智能合约。以太坊主流的dAppAave和Maker都计划在StarkNet上发布。值得注意的是,StarkEx的zk-rollup也可以在StarkNet上发布,以提高应用的可扩展性。

为了充分利用STARK在计算和可扩展性方面的优势,StarkWare开发了Cairo语言,这是一种高效且图灵完备的编程语言,专门用于创建STARK证明。这意味着StarkWare需要开发文档、框架和其他工具来激活其开发者生态。?

ImmutableX:ImmutableX是一个NFT平台,用于铸造和交易NFT和通证。该平台使用StarkEx打造专属的zk-rollup。ImmutableX平台上NFT铸造和交易量达到数百万,而且即使在以太坊网络拥堵期间也可以保持较低的成本。?

ImmutableX也将在StarkNet上发布。有效性证明不会直接发布到以太坊上,而是先发布到StarkNet上,然后再通过StarkNet的rollup发布到以太坊上。ImmutableX可以利用StarkEx在StarkNet上发布应用链,为项目提供layer3扩容方案。?

采用zk-SNARK的项目

Zcash:Zcash前身是ZeroCash。名字中的“zero”指使用零知识证明技术来实现隐私交易。Zerocash是早期出现的加密项目之一,推动了零知识证明技术在行业中的应用。?

Loopring:Loopring是以太坊上的DEX,支持订单簿交易,并且不托管用户资产。Loopring接入了ChainlinkPriceFeeds,服务几十万用户,交易量高达数十亿。?

zkSync1.0?:zkSync1.0是以太坊上的rollup。它与StarkEx一样,都支持通证转账和兑换,但不支持智能合约。该协议由MatterLabs开发。

zkSync2.0?:zkSync2.0与StarkNet一样,也是以太坊的Layer2扩容方案。采用了volition基础架构,可以支持智能合约。zkSync采用zk-SNARK来验证交易,并采用PoS系统zkPorter来保障数据可用性。zkSync2.0和StarkNet的主要区别除了有效性证明之外,还有前者可以兼容EVM。1inch、Alchemix和Curve都计划在zkSync2.0上发布。?

ZigZag:ZigZag是一个去中心化交易平台,采用订单簿模式交易ERC-20通证。相比之下,大多数DEX采用的都是自动做市商模式。ZigZag的订单簿模式得益于zk-rollup强大的可扩展性。zkSync注册表中的任何通证都可以在ZigZag中交易。该协议目前在zkSync1.0上运行,但计划在zkSync2.0和StarkNet上发布。?

Mina:Mina是轻量级区块链,采用SNARKs创建容量最大为22?kb的区块。项目可以在Mina上开发部署应用,并可以实现全部智能合约功能。?

隐私:在区块链上进行活动时尽量减少公开的数据量

可扩展性:允许在链下执行密集计算,使成本更低,然后创建一个简洁的证明,表明计算是被诚实执行的,可以在链上发布。

尤其在扩展性的优势和价格上能更进一步提升许多?DAPP?的性能,比如:

精准的市场数据

可验证的随机数

智能合约自动化

储备金证明

跨链通信

文章来源

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

链链资讯

瑞波币STARK:量化跟单优质策略公开

Gate.io量化跟单平台优质策略即日起定期公开!点击进入量化跟单:稳健量化,赢在长期!Gate.io量化跟单是用户可自由创建自动交易策略或者复制策略的量化策略交易工具.

[0:4ms0-3:357ms