以太坊Devcon大会精选!十大关键技术全解析,将彻底改变Web3?

本文总结Devcon 7 的学习心得,涵盖以太坊基础设施、易用性、开发工具、安全性与ZKP 等技术主题

“name”: “erc20_transfers”, “enabled”: true, “sources”: [{“name”: “mainnet”}], “table”: { “name”: “erc20_transfers”, “columns”: [ { “name”: “block_num”, “type”: “numeric”}, {“name” : “tx_hash”, “type “: “bytea”}, {“name”: “from”, “type”: “bytea “}, {“name”: “to”, “type”: “bytea”}, {“name”: “value”, “type”: “bytea”}, ] }, “block”: [ {“name “: “block_num”, “column”: “block_num”}, {“name”: “tx_hash”, “column”: “tx_hash”} ], “event”: { “name”: “Transfer”, “type” : “event”, “anonymous”: false, “inputs”: [ {“indexed”: true, “name”: “from”, “type”: “address”, “column”: “from”}, {” indexed”: true, “name”: “to”, “type”: “address”, “column”: “to”}, {“name”: “value”, “type”: “uint256”, “column” : “value”} ] } }
透过简单的配置,Shovel 能快速完成资料的提取与存储,大幅降低开发成本。
Reth Execution ExtensionReth Execution Extension提供了一种新颖且高效的设计,针对链上资料索引与Re-org(链重组)处理,解决了传统方法中的诸多痛点。
过去,如果使用geth等节点软体来扩展功能,往往需要直接修改节点内的程式码,这样的做法相当于对节点进行了fork。一旦上游节点有更新,开发者还需要持续合并更新的程式码,这无疑增加了开发与维护的复杂性。
Reth 的创新之处在于其设计为可直接作为library import,开发者不需要fork 或修改节点本身的程式码,就能灵活扩展节点功能。
核心特点与通知机制Reth 提供了清晰且灵活的通知介面,用于处理区块链的三种状态变化:
ChainCommitted:新区块被确认(Committed)。ChainReorged:链重组导致出现新旧链切换。ChainReverted:区块被Revert以下是范例程式码展示如何处理这些通知:
async fn exex(mut ctx: ExExContext) -> eyre::Result<()> { while let Some(notification) = ctx.notifications.recv().await { match ¬ification { ExExNotification: :ChainCommitted { new } => { // do something } ExExNotification::ChainReorged { old, new } => { // do something } ExExNotification::ChainReverted { old } => { // do something } }; } Ok( ())}
Part 4: Security安全问题一直是区块链领域的核心挑战,从开发环境的设置,到设备与用户端的保护,再到DeFi 合约层面的防御,都需要严密的措施来降低风险。以下针对开发、设备与DeFi 安全三大主题进行探讨。
开发环境安全(Dev Security)在区块链应用的开发过程中,环境的安全性往往容易被忽视,但它可能成为骇客的突破口。
VS Code 信任机制的潜在风险当开发者在VS Code中开启一个恶意的Repo 并点击「Yes, I trust the authors」后,骇客可能利用.vscode 资料夹内的设定执行任意脚本,包括:
窃取电脑中的secret 或private key。开启一个reverse shell,让骇客远端控制电脑。这是因为.vscode 中的Tasks可以设置触发特定条件的自动执行脚本(详见官方文档)。这种漏洞可能导致开发者的整个系统处于被骇客接管的风险中。
防范措施:使用Sandbox 环境为避免上述风险,开发者应在Sandbox 环境中开启专案。具体来说,可以使用VS Code 的Dev Container 功能,在Docker 容器中执行完整的开发环境。这样即使恶意代码执行,也只会影响隔离的容器,不会危及主机系统。
Github Action Self Hosted Runner 的风险Self Hosted Runner 是Github 提供开发者自行建置CI 环境所需机器的解决方案。然而如果在Public Repo 启用Self Hosted Runner会带来潜在威胁:
恶意用户可以Fork 该Repo 并修改Github Action 的脚本,执行任意命令。这可能导致Runner 被入侵,骇客窃取所有Github Token 和Secrets。这一风险已被详述于Synacktiv 的报告。建议避免在Public Repo 中使用Self Hosted Runner,或采用更严格的权限管理。
设备安全(Device Security)Ledger 的研究显示iOS 和Android 平台的Syncable Passkey实作并不像预期中那么安全。主要问题在于:
私钥复制到应用程式记忆体:虽然Passkey 本应依赖Secure Enclave 来存储私钥,但实际上私钥可能会被复制到应用程式记忆体(application memory)。这使得私钥暴露于潜在的恶意软体攻击之下,例如透过监听记忆体来窃取私钥。记忆体快取问题:某些平台的快取机制会在装置解锁之前就将私钥暂存到记忆体中,进一步增加了被恶意软体利用的风险。
安全建议为了降低使用Passkey 带来的风险,建议采取以下措施:
选择Un-syncable Passkey:在创建Passkey 时,选择「不可同步」(Un-syncable)的选项,避免私钥在不同设备之间同步时的潜在安全问题。避免存放大量资金:不要将过多资金存放于Passkey 钱包中,仅作为小额支付或日常操作使用。使用硬体钱包:对于高价值资产,建议继续使用硬体钱包作为主要的存储方式,因为硬体钱包提供了更高的安全保证。这些建议可以有效降低Passkey 在日常应用中的潜在风险,同时确保资产的安全性。
DeFi 安全(DeFi Security)区块链应用最核心的DeFi 领域,因其高额资金流动性,成为骇客攻击的主要目标。防范这类风险需要智能合约与基础设施层面的共同努力。例如Forta提供了一种基于AI 模型的链上防火墙,用于过滤潜在攻击交易。其运作机制如下:
交易签名验证:DeFi 合约需要为合约中的关键方法加上Forta 的签章参数交易模拟与风险评估:Forta 的RPC 节点将模拟交易执行过程,通过AI 模型评估风险分数。 Fora 已经实现99% 以上的准确度执行控制:只有风险分数低于门槛值的交易才会获得签名并被放行。因此这个做法必须由DApp 透过Forta 提供的RPC 发送交易才可以,如果使用公开的RPC 则无法取得必要的签章。但这也带来潜在的问题与挑战:
升级与整合困难:DeFi 协议需要修改合约以整合Forta 的系统,这对现有协议的升级是一大挑战,尤其是影响到可组合性,因为其他DeFi 协议就无法轻易呼叫自己的合约。交易模拟问题:在链下的环境模拟交易执行的结果可能与实际上链的结果不同,有机会被骇客利用顺序依赖问题:由于L2 链上交易的执行顺序是由Sequencer 决定,骇客有机会透过交易顺序的不一致性来在模拟时产生正常的结果,拿到签章后上链执行恶意交易至于如何解决第二个问题,知名交易安全检测公司Blowfish 的CTO 提到,可以在模拟交易过程检测该交易是否使用了与EVM 环境参数相关的逻辑,例如block.timestamp 或block.basefee 等等,但也无法保证100% 判断正确,因此精准的交易模拟仍然是安全领域待解决的难题。
Part 5: Fuzz TestingFuzz Testing 是一种强大的测试技术,其核心原理是透过大量随机的输入测试智能合约,试图触发意外的逻辑漏洞。这种方法对于捕捉人眼难以察觉的边缘情境(corner cases)尤其有效。
Fuzz Testing 的原理与限制Fuzzer 的主要作用是持续尝试各种随机输入来检测智能合约是否能满足定义的Invariant(不可变条件)。开发者可以利用这种方法进行黑箱测试,模拟合约的实际使用情境,并验证其逻辑是否能抵抗各种异常操作。
尽管Fuzz Testing 是捕捉逻辑漏洞的有效工具,但找不到漏洞并不代表合约没有问题。 Fuzzer 的效果取决于定义的Invariant 是否完善,以及随机测试的覆盖范围。
相关范例以下是三个经典例子,说明如何使用黑箱的Fuzz Testing 方法来检测系统的正确性:
排序演算法测试:原始输入:未排序的数字阵列A。随机调整:对A 随机打乱(Shuffle)后再排序,结果应与原始输入排序结果相同。验证:比较两次排序的结果是否一致。最短路径演算法测试:原始输入:图G 和两个节点n1 与n2。随机调整:从图G 移除某条边后,n1 到n2 的最短路径应该变长或保持不变。验证:比较移除边前后的最短路径。编译器测试:原始输入:程式P。随机调整:在P 中加入Dead Code 后编译,结果执行的行为应与原始程式一致。验证:比较两次执行结果。使用Chimera 撰写Fuzz Test
以下介绍如何使用Chimera框架来整合多种Fuzzer 工具(如Echidna、Medusa 和Foundry)进行智能合约的Fuzz 测试。
案例分析:Vesting 合约漏洞以下是一个简化的Vesting智能合约范例,其目的是实现用户的积分分配与转移,完整程式码在solidity-fuzzing-comparison Repo 中的09-vesting 。然而,该合约存在一个漏洞:用户可以通过「自我转移」增加自己的积分,进而破坏总积分不变的Invariant。
Vesting.sol 合约部分代码:
// users entitled to an allocation can transfer their points to// another address if they haven’t claimedfunction transferPoints(address to, uint24 points) external { require(points != 0, “Zero points invalid”); AllocationData memory fromAllocation = allocations[msg.sender]; require(fromAllocation.points >= points, “Insufficient points”); require(!fromAllocation.claimed, “Already claimed”); AllocationData memory toAllocation = allocations[to]; require(!toAllocation. claimed, “Already claimed”); // enforce identical vesting periods if `to` has an active vesting period if(toAllocation.vestingWeeks != 0) { require(fromAllocation.vestingWeeks == toAllocation.vestingWeeks, “Vesting mismatch”); } allocations[msg.sender].points = fromAllocation.points – points; allocations[to].points = toAllocation.points + points; // if `to` had no active vesting period, copy from `from` if (toAllocation. vestingWeeks == 0) { allocations[to].vestingWeeks = fromAllocation.vestingWeeks; }}
用户可以将自己的积分转移给自己(self-transfer),导致总积分超出限制,破坏合约中「所有用户积分总和应等于总分数」的Invariant。然而就算我们不细看transferPoints的实作,也能透过对其黑箱的Fuzzing 来找到问题。
设计Invariant:思考不可变条件在测试此合约时,可以设计以下两个主要Invariant:
初始化阶段:所有用户的积分总和应等于TOTAL_POINTS。执行阶段:在任意操作后,所有用户的积分总和仍应保持不变。这些Invariant 可以被用于多个Fuzzer 的测试过程中。
使用Chimera 框架进行测试Chimera 是一个功能强大的多工具整合框架,允许开发者一次撰写测试代码,并同时在多个Fuzzer 工具上执行。以下是使用Chimera 的步骤:
1、安装Chimera:forge install Recon-Fuzz/chimera
2、设定测试环境:建立一个Setup.sol 文件来初始化测试合约,并追踪需要检查的状态。
// SPDX-License-Identifier: MITpragma solidity ^0.8.23;import { Vesting } from “./Vesting.sol”;import { BaseSetup } from “@chimera/BaseSetup.sol”;abstract contract Setup is BaseSetup { Vesting vesting; function setup() internal override { address; recipients[0] = address(0x1111); recipients[1] = address(0x2222); uint24; points[0] = 50_000; points[1] = 50_000; uint8; vestingWeeks [0] = 10; vestingWeeks[1] = 10; vesting = new Vesting(recipients, points, vestingWeeks); }}
3、实现Invariant:定义检查条件,例如所有用户的积分总和应等于总积分。
function property_users_points_sum_eq_total_points() public view returns(bool result) { uint24 totalPoints; // sum up all user points for(uint256 i; i bool) public hasVoted; uint256 public votesInFavor; uint256 public votesAgainst; uint256 public totalVotes; function vote(bool isInFavor) external { require (!hasVoted[msg.sender]); hasVoted[msg.sender] = true; totalVotes = 1; // BUG:每次投票后重置totalVotes if (isInFavor) { votesInFavor += 1; } else { votesAgainst += 1; } }}
步骤1:撰写规格
以下是一个简单的规格,检查totalVotes 是否在每次投票后递增:
rule voteIntegrity(env e) { uint256 votedBefore = totalVotes(); bool isInFavor; vote(e, isInFavor); assert ( totalVotes() > votedBefore, “totalVotes 应该在每次投票后递增” );}
步骤2:设定config
使用以下.conf 档案来设定验证细节,包括要验证的合约与规范档案。
{ “files”: [“src/VotingBug.sol:Voting”], “verify”: “Voting:certora/specs/VotingBug.spec”, “msg”: “验证totalVotes 递增”, “server”: “production”}
步骤3:执行验证
在专案根目录执行以下指令:
export CERTORAKEY=xxxcertoraRun certora/confs/VotingBug.conf
如果还没有API Key,可以在官方网站注册取得。输出中会有一个Certora Prover 结果的连结,点进去即可看到Prover 找到了一个错误,并提供详细的输入参数
步骤4:修复问题
修改合约逻辑以修复问题:
function vote(bool isInFavor) external { require(!hasVoted[msg.sender]); hasVoted[msg.sender] = true;
totalVotes += 1; // FIXED: 正确地累加totalVotes if (isInFavor) { votesInFavor += 1; } else { votesAgainst += 1; }}
步骤5:重新验证
再次执行验证,确认所有规范均已通过,代表此智能合约的正确性可被数学证明。
进阶功能:验证不变性(Inductive Invariants)Certora 也支援定义不变量规则(Invariant Rules),确保合约在所有状态下的逻辑一致性。例如:
invariant totalVotesIsSumInvariant() votesInFavor() + votesAgainst() == to_mathint(totalVotes());
此规则验证totalVotes 永远等于赞成与反对票数的总和。
Part 7: Maximal Extractable Value (MEV)在文章的前半部分中,我们已提到Intent Centric Design,其中介绍了CoW Swap 如何透过设计应用层的逻辑来简化跨链交易并提升用户体验。在这一部分,我将深入探讨CoW Swap 如何解决Maximal Extractable Value (MEV) 问题,以及其主张MEV 应在应用层解决的理念。同时,我们也会介绍Unichain 如何通过可信执行环境(TEE)在基础设施层解决MEV 问题,呈现两种截然不同但互补的解决方式。
CoW Swap 的MEV 解决方案CoW Swap 的核心主张是,MEV 问题的根源在应用层。目前约99% 的MEV 问题来自交易排序的竞争,而应用层(例如去中心化交易所DEX)的设计是导致这些问题的主因。因此,MEV 问题应该在设计应用时一并考虑,而非依赖基础设施层的迂回解决方案。
Coincidence of Wants(需求的巧合)CoW Swap 引入需求巧合的概念,通过将多笔交易的需求聚合在一起,使交易者直接匹配需求,避免了流动性池的中间操作,从而减少MEV 攻击的可能性。
案例:假设Alice 想用100 USDC 换取1 ETH,而Bob 刚好想用1 ETH 换取100 USDC。在传统DEX 中,这些交易需要分别通过流动性池进行,可能会被套利者利用滑点进行MEV 攻击。而在CoW Swap 中,这两笔交易可以直接匹配,无需经过流动性池,消除了滑点和MEV 攻击。
Batch Auction(批次拍卖)CoW Swap 的批次拍卖机制是其解决MEV 问题的核心手段:
收集交易意图:在链下收集并聚合用户的交易意图。批次处理:将在特定时间段内收集的交易意图组合成一个批次,这些批次通常每隔几秒钟产生一次。竞价解决方案:通过竞标机制选择最佳的解决方案提供者(solver),这些提供者竞争以提供最优交易执行方案,为用户带来最大的价格盈余。统一清算价格:所有涉及相同资产的交易都以统一的清算价格结算,使交易顺序变得无关紧要,从而减少MEV 攻击。
批次拍卖的优势:
MEV 保护:批次拍卖透过统一清算价格,使交易顺序的影响被弱化,显著削减MEV 攻击的空间。资产匹配:直接点对点交换,无需触及链上流动性。最佳价格保证:确保用户交易的价格不低于在AMM 上直接获得的价格。实际案例:
假设有三位用户的交易意图:
用户A 希望以100 DAI 购买ETH。用户B 希望以200 DAI 购买ETH。用户C 希望出售1 ETH,目标获得300 DAI。这三笔订单在批次拍卖中被组合在一起。由于A 和B 的购买需求总和(300 DAI)恰好匹配C 的出售需求(1 ETH),因此可以直接在用户之间进行点对点交换,无需触及链上流动性。这不仅提高了交易效率,还降低了交易成本,并消除了MEV 攻击的风险。
Unichain 的MEV 解决方案与CoW Swap 将MEV 处理集中在应用层的设计不同,Unichain 选择在基础设施层通过可信执行环境(TEE)来解决MEV 问题。 Unichain 是基于OP Stack 的Optimistic Rollup,其核心创新在于加密交易与TEE 排序,保证交易排序的透明与公平。
Unichain 解决MEV 的关键流程:加密交易:使用者在发送交易时,首先使用TEE 的公钥加密交易内容。因此,在mempool 中,所有节点看到的交易都是加密的,无法直接得知交易的细节,自然也就无法通过交易排序提取MEV。TEE 排序:只有在TEE 环境内才能解密交易并进行排序。 TEE 会根据预设的规则排序交易并构建区块,最终生成的排序结果带有TEE 的签章,保证排序过程的透明度。返还MEV 收益:对于普通用户,Unichain 提供接近零成本的Gas 费,同时完全避免了被抢跑(front-run)的风险。而对于MEV Searcher,他们需要支付更高的Gas 费来竞争区块的前位。这些额外的收益会被Unichain 用于回馈给验证者,形成公平的经济激励。
Part 8: Zero Knowledge Proof (ZKP)Zero Knowledge Proof (ZKP) 技术的应用展示了如何透过密码学方法,实现隐私保护与效能的平衡。以下将介绍几个令我印象深刻的ZK 应用。
ZKPassportZKPassport结合了国际电子护照(ePassport)的晶片技术与ZKP,为用户提供一种既安全又隐私的身份验证方式。透过手机感应护照的NFC,用户可以取得护照晶片中由政府签署的资料,例如基本资讯和照片。由于这基于全球标准(IC AO Biometric Passport),超过100 个国家的护照均可支援。基于此签章即可生成护照资料有效性的零知识证明。
技术特点隐私保护:用户可选择只验证护照资料的部分条件,例如「年龄是否大于18 岁」或「国籍是否为美国」,而不需要公开完整的护照资讯。效能佳:ZK 电路使用Noir 编写,在手机上生成证明仅需约5 秒钟
应用场景Sybil Resistance:可用于防止多重身份诈·骗,例如确保一个人只能领取一次空投。ZK KYC (Know Your Customer):在不透露完整身份的情况下,证明用户来自合法的国家或符合其他特定条件。ZK Email
ZK Email是一个基于零知识证明的Email 验证应用,允许用户选择性地验证邮件内容。例如,证明Email 的发信人是否为特定组织、Email 内文是否有特定文字,而无需公开整封邮件的内容。关键是采用每个Email 都会由Mail Server 签署的DKIM Signature,产生一封信是由该域名发出的零知识证明,且无法被伪造。
技术特点将可信的Email 资料带到链上验证,串连Web2 资料与Web3新推出的ZK Email Registry:提供可共享的Email template Registry,开发者可快速使用。如有人收到Devcon 的拒绝信后,写了一个让任何人证明自己有收到拒绝信的template。更方便的SDK:开发者仅需撰写JSON 设定,而不需了解如何实作ZK 电路,并隐藏具体的ZK 电路实作,如Circom, Noir
应用场景ZKP2P:透过点对点转帐的确认信,打造法币与虚拟货币兑换的平台,且完全去中心化Email Wallet Guardian: Email 可作为智能合约钱包的备援手段。例如,用户寄出一封Email 即可恢复钱包的控制权。此功能也能兼容ERC-7579 的模组化Smart Account 架构。Whistleblowing:在保护个人身份隐私的前提下,以特定组织的身份揭发秘密
技术挑战DKIM public key 的正确性:在智能合约中需验证DKIM Signature 对应的Public Key 是否真正属于该域名,而这目前只能透过Oracle 提供资料。需要透过像Re-staking 的机制来确保该资料足够去中心化,避免单点故障在处理较长的邮件时,ZKP 的计算效能面临挑战。团队正在研究递回证明(recursive proof)以支援更高效的body hash 验证。未来可能支援Email 附件(例如PDF)内容的证明,进一步拓展应用场景,如证明银行的转帐纪录手机用户体验:由于手机端无法像桌面端下载原始邮件,ZK Email 目前仅能透过OAuth 授权读取邮件。虽然这引发一定的隐私顾虑,但ZK Email 的开源性确保了这些操作仅限于客户端,不会回传Email 资料到服务器。
ZKP2PZKP2P是一个基于零知识证明技术的域名交易市场,旨在提供快速、安全、去中心化的域名交易体验。该平台支持利用零知识证明验证域名所有权,并使用ETH 进行域名交易。目前ZKP2P 已支援使用者交易Namecheap 上的域名。
域名交易的核心机制域名所有权验证:平台使用一种基于密码学的Web 认证协议来验证域名的所有权。卖家需使用ZKP2P 提供的浏览器Extension,从Namecheap 网站生成不可篡改的域名所有权证明,并提交到智能合约中。交易过程中的隐私保护:买家在提交购买申请时,需提供Namecheap 用户名,该资讯会加密处理,仅卖家可见。资金锁定:买家的ETH 会先被锁定在智能合约的托管中,直到卖家完成域名转让并提供相关的零知识证明后,资金才会释放。零知识证明的使用:卖家转移域名后会收到Namecheap 的确认信,因此ZKP2P 使用ZK Email 产生这封信的零知识证明,确保域名已转移给买方。
技术特点与优势隐私与安全性:ZKP2P 通过加密用户敏感资讯(例如Namecheap 用户名)来保护隐私,确保只有域名卖方能看到买方的用户名。去中心化与透明性:平台所有的交易验证过程均在智能合约中执行,减少对第三方的依赖,并提高整体透明度。降低交易成本:每笔交易仅收取2.5% 的交易费用,远低于其他域名交易市场(一般超过10%),让买卖双方都能享受更低的交易成本。
Polygon ZisKPolygon 正在开发新一代的ZKVM 证明系统ZisK,目标是实现即时证明整个EVM 区块中所有交易的计算。 ZisK 的设计核心在于其通用性(Generic ZKVM)和极致的证明生成速度优化,旨在提升零知识证明在区块链应用中的性能。
ZisK 的设计架构ZisK 的架构受到嵌入式系统(Embedded System)的启发,采用了模组化的设计,主要组件包括:
ROM(只读存储器):储存ZKVM 的程序逻辑和静态数据。ZisK Processor(处理器):负责执行电路的核心计算逻辑。RAM(随机存取存储器):用于储存临时数据和中间结果,支援高效的数据访问。Bus(总线):负责连接ZisK 系统内部的各模组,协调讯息交换。目前,ZisK 还处于非常早期的开发阶段,可参考其开发文件。
Reclaim ProtocolReclaim Protocol 是一个将TLS Proxy 技术与零知识证明(Zero-Knowledge Proof, ZKP)相结合的隐私保护协议,旨在让用户能够在不泄露敏感资讯的前提下,验证HTTPS 通讯内容的真实性。该协议为资料验证与互操作性提供了安全的解决方案,尤其适用于Web2 和Web3 场景的整合。
TLS Proxy 机制Reclaim Protocol 的核心依赖于TLS Proxy 作为信任中介。过程中HTTPS 请求和回应会经过TLS Proxy,并由Proxy 签署该流量的加密内容,从而为后续的证明生成提供基础。 TLS Proxy 的角色仅限于签署加密流量,无法解密任何资料,这也减少了隐私风险。
TLS Proxy 的一个重要功能是处理使用者和伺服器之间的HTTPS 流量,并保证这些流量来自正确的伺服器。例如,在证明某银行网站的余额资讯时,TLS Proxy 签署的加密流量可以确保数据未被篡改,并提供可信的资料来源。
然而尽管TLS Proxy 提供了关键的信任保障,在极端网路条件下(例如BGP Hijack 攻击),可能会出现Proxy 认证的流量被路由到错误伺服器的风险。这种攻击需要在TLS Handshake 后精准篡改流量,实现难度极高,但这仍是协议中需要特别关注的安全边界。
zkTLS 技术细节Reclaim Protocol 结合了ZKP 技术,允许用户在不泄露完整TLS 明文的前提下验证其真实性,其ZK 电路的设计旨在处理解密与部分揭露的功能。
协议中的ZK 电路能够解密特定的TLS 流量,并仅揭露其中需要验证的部分资讯。例如,用户可以提供AES 解密金钥作为Private Input,在电路中解密TLS 流量,并公开指定区域的明文资讯。这些操作基于gnark 框架进行,确保了高效的证明生成。
值得注意的是,Reclaim Protocol 提供了透过Regular Expression 或是HTML template 匹配TLS 流量的功能,而这一匹配逻辑被设计为在电路外实作,以避免电路过度复杂。因此客户端需首先自行透过Template 定位哪些AES Block 中有包含所需的明文,再生成ZK 证明来证实匹配结果。这样导致的资安风险是,如果TLS Payload 中在其他部分也出现了类似的字串,客户端则有机会伪造证明。
应用场景Reclaim Protocol 目前将重点放在Web2 场景的资料互操作性上,解决不同平台间的数据共享问题。例如:
电商优惠:用户可以从A 电商生成消费记录的ZKTLS 证明,并将其提供给B 电商以获取专属优惠,精准吸引新用户。在这一过程中,协议可确保B 电商只能知道消费总金额,而不会接触完整的消费明细。身份验证:用户可使用协议生成ZKTLS 证明,证明其在特定平台的活动,如在某论坛的参与情况,或在某开发者平台的贡献数据。
技术与信任的挑战信任TLS Proxy:协议需要用户信任TLS Proxy,因为Proxy 会签署HTTPS 流量,成为证明可信来源的基础。ZK 证明的链上应用:由于目前ZK 证明的链上验证成本较高,Reclaim Protocol 将应用重点放在Web2 场景,尚未在链上进行完整的ZK 验证。网路攻击风险:极端情况下,如BGP Hijack,可能导致TLS Proxy 无法正常运作,但这类攻击需要精确的时间和网路控制,实现难度极高。
vLayerVlayer是一家专注于开发「可验证资料基础设施」的加密初创公司,称之为「Solidity 2.0」。其目标是使开发者能够将真实世界的资料验证后整合至以太坊智能合约中。具体而言,Vlayer 为Solidity 语言引入了四个新功能:
Time Travel:允许智能合约使用历史链上资料。Teleport:使合约能在多个EVM 兼容的网络上运行。Web Proofs(zkTLS):验证并整合网页内容,包括API 和网站。Email Proofs(ZK Email):存取并验证电子邮件内容。这些功能旨在扩展

主题测试文章,只做测试使用。发布者:币安赵长鹏,转转请注明出处:https://www.binancememe.com/6480.html

(0)
币安赵长鹏的头像币安赵长鹏
上一篇 6天前
下一篇 6天前

相关推荐

  • BitcoinSwift是什么?比特币与 BitcoinSwift有哪些不同?

    如今,加密货币重塑了全球金融格局,比特币引领潮流,成为最受认可的数字资产,随着技术的进步和新项目的涌现,旨在改进比特币的原始设计,其中之一便是官方白皮书中介绍的BitcoinSwift,下文将为大家详细介绍

    币安资讯 2024年8月1日
    00
  • 区块链社区是干什么的?_链技术

    区块链是一种分布式的数字账本,它通过密码学和共识机制,保证了数据的不可篡改和去中心化。区块链最初是为了支持比特币等加密货币的交易而设计的,但是它的应用已经超越了金融领域,涉及到食品、摄影、疫苗、专利等多个行业。 区块链社区是指一群对区块链感兴趣或者参与的人,他们通过不同的平台和方式,进行区块链的学习、交流、创造和贡献。

    币安资讯 2025年1月8日
    00
  • BASE区块链初学者入门_链技术

    BASE 区块链是先进的第 2 层 (L2) 网络,战略性地建立在以太坊的坚实基础上。它旨在通过显著提高交易速度和成本效益来彻底改变区块链格局。该层在以太坊之上无缝运行,利用其底层安全措施,同时将可扩展性和用户体验推向新的高度。BASE 区块链专注于互操作性和效率,有望成为区块链技术发展的关键参与者,为广泛的应用提供更

    币安资讯 2025年12月27日
    00
  • 什么是去中心化科学(Desci)?DeSci如何增强科学实践?_链技术

    去中心化科学(DeSci)是一种利用区块链技术实现更加开放、激励和社区驱动的科学研究的概念。DeSci 致力于解决传统科学中缺乏资金、数据共享、出版和协作等挑战。 通过利用区块链技术,DeSci 致力于确保科学记录的完整性和不变性,同时消除进入壁垒。 什么是去中心化科学(DeSci)? 去中心化科学,或称 DeSci,

    币安资讯 2025年4月16日
    00
  • 区块链智能合约漏洞又是怎么回事?如何解决智能合约漏洞

    智能合约本质是一段运行在区块链网络中的代码,它完成用户所赋予的业务逻辑。以以太坊体系的代币为例,其业务逻辑是代币发币和交易。以太坊在设计之初,将智能合约设计成了一旦部署就不能修改的模式。这种设计有可能是为了

    币安资讯 2025年2月15日
    00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
联系客服-完成入住-返佣奖励-领取空投
体验全球最大的加密货币交易平台