FeelTouch Labs
这个作者很懒,什么都没留下…
展开
-
以太坊的可扩展性危机:探索执行层的瓶颈
以太坊执行层承担着交易处理、智能合约执行以及保持一致和安全状态的维护等工作。Fuel Labs 撰文解析了以太坊执行层的工作原理,及其在可扩展性方面的发展瓶颈和影响。当全节点更新其账本副本以反映新的代币转移、智能合约代码更新和数据存储更改时,就会发生状态更改。执行层的主要功能包括:交易处理、智能合约执行以及状态管理。这可能是比单纯优化智能合约更大的障碍。:吞吐量直接指的是网络在给定时间内高效处理和管理大量交易的能力。:延迟是从提交交易到交易被确认并包含在区块链中所经过的时间。原创 2024-07-23 13:13:49 · 339 阅读 · 0 评论 -
白话解读 ZK 与 TEE:共存而非竞争
ZK 与 TEE:共存而非竞争原创 2024-07-23 13:11:41 · 86 阅读 · 0 评论 -
技术视角看Metis未来发展潜力
所以,现在一个令人非常担心的问题就是排序器的高度中心化,先不论他们是不是会作恶,从实际的角度来说,中心化排序器如果出现故障或者受到攻击,很容易对整条layer2造成威胁。Metis 的去中心化的Pos排序器现在已经在Holesky测试网上运行,具体可以分为三轮,包括在模拟真实节点的行为,增加节点数量,质押测试等等。Builder挖矿奖励,Metis对生态系统发展有着长期的支持,Metis生态中的所有建设者都会根据他们给网络带来的交易量获得Builder挖矿奖励,交易越多,奖励越高,即 生态与建设者双赢。原创 2024-01-18 11:55:16 · 102 阅读 · 0 评论 -
StackUp Erc4337 账户抽象实现分析
定位处理任何带有赞助交易的UserOperation,实现验证、支付、添加、质押、解质押、币币价值兑换功能等。定位实现合约账户的初始化、业务执行、验证、存款、提现等;定位ERC4337的UserOperation的发起方,实现对用户调用的监听、接受、初步验证、支付费用、向entrypoint发起调用等功能。定位全局可信任的区块链单例,实现executer调用的入口点、支付executer资金、调用生成、验证账户、出纳员等等功能。定位对不同的用户UserOperation的进行批量的进行聚合签名、验证。原创 2023-10-23 19:08:23 · 268 阅读 · 0 评论 -
区块链黑暗森林自救手册
本手册开局这张图:)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EcKQczxr-1684926761739)(res/web3_hacking_map.jpg)]你注意到了吗?我特意把图中的人标红了,是想反复提醒:人是万物基础(宇宙学领域称之“人择原理”)。无论是人性安全,还是安全驾驭能力,最终都取决于你。是的,当你足够强时,没人可以轻易欺负你。我顺着图开始展开,从创建钱包到备份钱包再到使用钱包这三大过程讲解了许多安全要点。转载 2023-05-24 19:34:55 · 1638 阅读 · 0 评论 -
Web3 项目安全实践要求
现今针对 Web3 项目的攻击手法层出不穷,且项目之间的交互也越发复杂,在各个项目之间的交互经常会引入新的安全问题,而大部分 Web3 项目研发团队普遍缺少的一线的安全攻防经验,并且在进行 Web3 项目研发的时候重点关注的是项目整体的商业论证以及业务功能的实现,而没有更多的精力完成安全体系的建设,因此在缺失安全体系的情况下很难保证 Web3 项目在整个生命周期的安全性。转载 2023-05-24 19:10:17 · 239 阅读 · 0 评论 -
钓鱼网站Permit 离线签名之实战案例和原理讲解
5 月 11 日,0x9f4a15.....56e8f8因误点钓鱼网站()导致钱包被盗,损失两个ARB元。具体etherscan的tx如下:进一步追踪危险合约的tx记录如下:合约的交互特征非常明显,Permit和Transfer From 交互进行,其中 Transfer From是我门熟悉的token传输方法,关键的是Permit方法很危险。原创 2023-05-21 17:26:56 · 1140 阅读 · 1 评论 -
Web3 Wallet潜在需求和产品改进方案
随着近年区块链技术发展和Web3不断破圈,Web3 Wallet的产品也日渐成熟完善,不过看似成熟的Web3 Wallet产品,更多的是大同小异的功能,能真正在细节上做的很好,真正能够满足用户需求的Wallet仍是凤毛麟角。接下来,分析下一些潜在的仍然被满足,而且依然非常重要的需求,希望能够Wallet项目方提供一些很好的思路。让更多的用户登陆Web3,就需要接近甚至超越Web2的综合体验,Wallet做为登陆Web3的入口,持续改进和完善产品是项目方的必经之路,总之。原创 2023-05-14 15:13:03 · 623 阅读 · 0 评论 -
Shamir Secret Sharing Scheme
Shamir Secret Sharing Scheme (SSSS) 可以轻松创建(t, n) 方案,也能够引入新的份额并进行私钥刷新。第一方知道f(1),第二方知道f(2),……当各方想要生成签名时,他们中的任何t+1 人都可以提供他们的份额来重建多项式,从而重建私钥,产生签名。例子:更新f(x) = 2x + 2 生成f(1)=4, f(2)=6, f(3)=8 分发给各方。对于上面的示例,取f(3) = 5、f(4) = 6,依此类推。第一方获得f(1) = 3,第二方获得f(2) = 4。原创 2023-03-19 13:55:30 · 489 阅读 · 0 评论 -
MPC 101:安全多方计算与多方签名
安全多方计算(Secure Multi-Party Computation)的研究主要是针对在无可信第三方的情况下,如何安全地计算一个约定函数的问题。安全多方计算是电子投票、门限签名以及网上拍卖等诸多应用得以实践、落地的密码学基础。安全多方计算通常缩写为SMPC或者MPC。关于安全多方计算的安全性:一个安全多方计算协议,如果对于拥有无限计算能力攻击者而言是安全的,则称作是信息论安全的或无条件安全的;如果对于拥有多项式计算能力的攻击者是安全的,则称为是密码学安全的或条件安全的。原创 2023-03-19 14:01:43 · 453 阅读 · 0 评论 -
Hashicorp Vault(金库)
HashiCorp Vault 是一个基于身份的秘密和加密管理系统。机密是您想要严格控制访问的任何内容,例如 API 加密密钥、密码和证书。Vault 提供由身份验证和授权方法门控的加密服务。使用 Vault 的 UI、CLI 或 HTTP API,可以安全地存储和管理、严格控制(限制)和审计对机密和其他敏感数据的访问。现代系统需要访问大量机密,包括数据库凭据、外部服务的 API 密钥、面向服务的架构通信的凭据等。可能很难了解谁在访问哪些机密,尤其是因为这可能是平台-具体的。原创 2023-04-12 23:09:50 · 845 阅读 · 0 评论 -
ZenGo Mpc备份恢复原理分析
ZenGo使命是提供卓越的用户体验,使用户能够简单、安全地管理加密Asset,而无需承担与私钥管理和帐户恢复相关的典型风险。这些风险包括个人Wallet(硬件/软件/移动)私钥被盗或丢失、破坏性黑客攻击和/或托管服务(如交易所)的严重故障。ZenGo Wallet是非托管的(意味着无法访问或控制您的Asset)且无密钥。使用阈值签名,用两个独立创建的“数学秘密共享”取代了传统的私钥,这些共享永远不会彼此相遇。一份存储在客户的移动设备上,另一份存储在 ZenGo 服务器上。原创 2023-04-07 22:26:11 · 535 阅读 · 0 评论 -
长文理解以太坊虚拟机
从一个简单的合约看起用solc这串数字就是EVM实际运行的字节码。刨析代码a = 1代表这个赋值的字节码是。EVM本质上就是一个循环,从上到下的执行每一条命令。让我们用相应的字节码来注释汇编代码(缩进到标签tag_2注意0x1在汇编代码中实际上是push(0x1)的速记。这条指令将数值1压入栈中。原创 2023-04-06 22:06:13 · 424 阅读 · 0 评论 -
MPC Multiparty Threshold ECDSA (GG18实现原理)
本文讨论多个参与者如何共同完成 ECDSA 门限签名,主要讨论 2018 年 Rosario Gennaro 和 Steven Goldfeder 在论文中提出的方案,简称 GG18 方案。原创 2023-04-05 17:11:19 · 971 阅读 · 0 评论 -
MPC 潜在安全隐患分析
dApp 授权连接时可以绕过硬件钱包(冷钱包)对私钥的安全防护,理论上无需在硬件钱包中完成授权,即可获取 dApp 的核心操作权限。使用 MPC 构建的自托管钱包平台,原则上无法控制用户资产,仅在用户授权同意参与 MPC 计算时才可以转移用户资产。但是使用 MPC 钱包连接特定的 dApp 时,可以打破自托管钱包平台无法控制用户资产的原则,平台方可以未经用户授权,掌握用户 dApp 中资金的控制权限;而且对于客户而言,可能会绕过预设交易策略,或者员工离开该组织后依然有权限操作 dApp。原创 2023-04-02 19:02:50 · 213 阅读 · 0 评论 -
相对RFC6979来说,MPC存在的缺点
MPC 无私钥钱包基本原则是 keyless,不能在 MPC 的 keygen / sign 过程中出现完整私钥。基于这一基本原则,无法使用 RFC6979 定义的从私钥和消息中派生出 k,需要采用其他方式去派生确定的 k。原创 2023-04-02 17:43:12 · 573 阅读 · 0 评论 -
EVM 操作码(Opcode)与 字节码(Bytecode)
以太坊虚拟机(EVM)是一种基于栈的、准图灵完备(quasi-Turing complete)的虚拟机。EVM是智能合约的执行时环境,它是完全孤立的沙盒:运行在EVM中的代码无法访问网络、文件系统或其他进程。evm的交易可以看作是从一个帐户发送到另一个帐户的消息。它能包含一个二进制数据(合约payload)和以太币。如果目标账户含有代码,此代码会被执行,并以 payload 作为入参。如果目标账户是零账户(账户地址为0),此交易将创建一个。原创 2023-03-30 01:36:20 · 1966 阅读 · 0 评论 -
Threshold ECDSA 、 Multiparty-ECDSA、DKG for Mpc & Tss
另一方面,在多重签名方案中,可以实现相同的分布式签名,但签名本身看起来不同,非标准,泄露了签名者的身份。阈值 ECDSA 是一组两个协议:一个用于以分布式方式生成密钥,另一个用于使用密钥共享进行 ECDSA 签名,而无需将它们组合在一个地方。分布式签名:一种多方算法,采用 DKG 秘密共享和其他公共数据,为 DKG 公钥(区块链交易)的给定消息生成有效签名。确定性子地址推导:一种多方算法,用于确定性地推导来自公钥和秘密共享的新公钥和秘密共享。秘密共享恢复:恢复秘密共享的协议。原创 2023-03-19 14:27:58 · 693 阅读 · 0 评论 -
门限签名(Threshold Signatures Scheme, TSS)
阈值签名方案 (TSS) 是一种用于分布式密钥生成和签名的加密原语。在区块链客户端中使用 TSS 是一种新范例,可以提供许多好处,尤其是在安全性方面。从广义上讲,TSS 可以影响密钥管理系统(例如crypto wallets)的设计,并引领 DeFi 用例的原生支持。话虽如此,TSS仍然是一项新技术,因此也应该考虑其风险和局限性。在本文中,我们将介绍什么是 TSS,它为区块链空间带来的潜在优势是什么,它如何在区块链客户端中实现,它与 Shamir 秘密共享和 Multisig 的比较,有哪些不同的方式来实现原创 2023-03-16 00:01:19 · 1408 阅读 · 1 评论 -
以太坊BIP39助记词到公钥地址的原理与细节
在以太坊中,用keccak哈希算法来计算公钥的256位哈希,再截取这256位哈希的后160位哈希作为地址值。原创 2022-04-30 08:00:00 · 5275 阅读 · 1 评论 -
深度帐户抽象(Account Abstraction)第 4 部分:聚合签名(Aggregate Signatures)
恰好,我们看到并非捆绑包中的所有用户操作都可以将其签名聚合在一起。请记住,钱包被允许使用任何它想要的任意逻辑来验证它所提供的签名,因此同一个包中可能存在各种签名方案。由于我们可能无法聚合来自不同方案的签名,因此我们的包将以操作组结束,每组使用不同的聚合方案或根本没有聚合方案。由于我们需要在链上表示各种聚合方案,每个聚合方案都有自己的逻辑,因此我们将每个聚合方案都由我们称为聚合器的合约表示。聚合器合约将来自多个用户的操作组合成一个具有单个签名的组。// ...原创 2023-03-06 17:08:31 · 465 阅读 · 0 评论 -
深度账户抽象(Account Abstraction)第 3 部分:Wallet创建
这是很多人没有意识到的一个有趣的花絮:当你部署一个合约时,你提交的代码与最终出现在你的合约中的代码不同。如果用户使用工具来部署他们的合约,那么如果该工具是恶意的或被黑客入侵,它可以提交初始化代码,将后门安装到已部署的合约中,而这种诡计不容易被发现。与 paymasters 一样,如果工厂的部署方法仅访问其正在部署的钱包的关联存储,而不访问工厂自己的关联存储,则工厂无需质押。我们让工厂返回新创建的合约的地址,以便用户可以模拟此方法以在部署之前找出他们的合约将拥有的地址,这也是我们最初的目标之一。原创 2023-03-06 16:30:40 · 611 阅读 · 1 评论 -
深度账户抽象(Account Abstraction)第 2 部分:使用出纳员发起交易
在本系列的第一部分中,我们完全复制了 EOA 的功能,并通过允许用户选择他们自己的自定义验证逻辑进行了改进。但就目前而言,钱包仍然需要支付 gas 费用,这意味着钱包所有者需要找到一种方法来获得一些 ETH,然后才能在链上执行任何操作。如果我们希望钱包所有者以外的人可以代替支付gas怎么办?有一些很好的理由想要这个:如果钱包所有者是区块链新手,那么在执行链上操作之前需要获取 ETH 是一个巨大的绊脚石dapp 可能愿意为其方法支付 gas 费用,这样 gas 费用就不会吓跑潜在用户。原创 2023-03-06 14:38:02 · 149 阅读 · 0 评论 -
深度帐户抽象(Account Abstraction):第 1 部分
为了使第三个要点起作用,我们实际上需要入口点来保存 gas 支付的 ETH 而不是Wallet Account本身,因为正如我们在上一节中看到的那样,我们无法确定我们是否能够取出 ETH的Wallet Account。虽然这个 EOA 不会像Wallet Account合约那样拥有双重签名保护,但它只需要持有足够的 ETH 来支付运行我Wallet Account的 gas,而更安全的Wallet Account合约可以容纳我所有的贵重物品。执行者想要的是在授予某些保证的上下文中运行这些不受信任的操作。原创 2023-03-05 23:57:44 · 261 阅读 · 0 评论 -
MEV原理和PBS架构深度分析
2007年,加拿大皇家银行的交易员胜山发现了一件令他感到困惑的事情,当他在交易终端按下买入键的一瞬间,所有的订单消失了。而在区块链的世界里也发生了一件相似的事情。2022年6月, Scott Bigelow在以太坊主网上面部署了一个加密合约并往里存入了0.035个以太币,只有他一个人知道取出合约内存款的密码。而就在他往合约发送密码信息的一瞬间,合约里的以太币消失了。毫无疑问的是,他们都遇到了抢跑者。原创 2023-02-01 22:11:24 · 137 阅读 · 0 评论 -
BitKeep Wallet v7.2.9 被盗之APK URL劫持读取深度分析
今日的盗币事件主要为针对7.2.9 APK的黑客劫持,如您使用的是 7.2.9 APK版本,极有可能并不是官方发布的版本,请尽快将**转移至 BitKeep Chrome插件Wallet,或者官方商店下载的app,并新创建地址使用。此外,建议使用新创建的Wallet地址,您通过apk 创建的地址或有可能泄漏给了黑客。尊敬的BitKeep用户您好,经过团队初步排查,疑似部分APK包下载被黑客劫持,安装了被黑客植入代码的包,如您的**出现被盗情况,您下载或者更新的应用或许是被劫持的不明版本(非官方发布版本)。原创 2022-12-27 15:23:30 · 1272 阅读 · 0 评论 -
用零知识证明连接多链宇宙
Bridges是一种通信协议,有助于在区块链之间传输消息、资金或其他数据等信息。虽然有用,但搭建Bridges是一项有风险的业务。区块链历史上一些最昂贵的黑客攻击仅针对Bridges。截至 2022 年,估计过去一年损失的资金中有 69% 是由于对Bridges的袭击,造成的损失高达数十亿美元。在本文中,我们重点关注使用零知识证明 (ZKP) 的桥梁建设的具体实施。虽然一些黑客无法仅仅因为使用 ZKP 就可以预防,但 ZKP 的稳健性将区块链共识协议的安全性扩展到了桥接器。原创 2022-12-26 01:52:18 · 2267 阅读 · 2 评论 -
Scroll L2 rollup提交到L1的全流程解析
虽然Precommitted的块还不是Scroll L2规范链的一部分,因为它们还没有被发布到Scroll L1上,但信任Sequencer的用户可以认为该块已经初步完成。3.finished:表示通过在Scroll L1上验证链上的有效性证明,该块中的事务已经正确执行。d.经过一段时间后,Coordinator将从不同的Rollers收集证明,并将它们发送给一个新的Rollers聚合证明。e.聚合完成后,Coordinator将此简洁的证明发送给L1 rollup contract进行验证。原创 2022-12-01 00:37:00 · 758 阅读 · 0 评论 -
MPC Multisig TSS TEE
目录MPC出现MPC与私钥阈值数字签名(TSS)多签 vs MPCMPC (安全多方计算)和 TEE (可信计算)1、分布式私钥分片2、链下多签3、TEE 硬件 + MPC 密码学4、Safeheron 核心技术分析 Safeheron、Fireblock VS Gnosis Safe自80年代以来,它一直是密码学的一个大主题(由Andrew Yao首创),最近又应用于数字资产。该协议主要停留在学术和理论领域,直到2000年代计算能力和算法的改进使其有可能付诸实践。顾名思义,MPC的目标是允许多方共享原创 2022-11-28 16:32:48 · 329 阅读 · 0 评论 -
Scroll zkEvm技术设计全面思考
Scroll相信 zk-Rollup 是圣杯——一种非常便宜和安全的第 2 层扩展解决方案。然而,现有的 zk-Rollups 是特定于应用程序的,这使得在 zk-Rollup 中构建通用的可组合 DApps 和迁移现有应用程序变得困难。Scroll引入了 zkEVM,它可以为一般的 EVM 验证生成 zk 证明。这使能够构建一个完全兼容 EVM 的 zk-Rollup,任何现有的以太坊应用程序都可以轻松迁移到它。在本文中,分析了 zkEVM 的设计挑战以及为什么它现在成为可能。原创 2022-11-25 13:19:52 · 1549 阅读 · 0 评论 -
zKSync 2.0的合约和事务
要部署合约,用户调用 ContractDeployer 的 create 函数并提供要发布的合约的哈希值以及构造函数参数。合约字节码本身在 EIP712 交易的 factory_deps 字段中提供。如果合约是工厂(即它可以部署其他合约),这些合约的字节码也应该包含在 factory_deps 中。原创 2022-11-20 22:58:49 · 771 阅读 · 0 评论 -
zkSync2.0一个 L2 块和一个 L1 汇总块深入分析
一个 L1 汇总块,我们称为“批次”,是一组连续 (L2) 块,它包含所有事务,并且以相同的顺序,从批次中的第一个块到批次中的最后一个块。例如,eth_blockNumber 返回最新的 L2 块的编号,而 eth_getBlockByNumber 给定一个块号,返回请求块的信息。有这些不同概念的主要原因是一个块可以包含最少数量的交易,因此可以快速处理,而在一个批次中我们希望包含许多交易,以使与 L1 交互的成本分散在许多交易中.提交交易后,用户可以按照此处的说明检查他们的交易在流程中的哪个位置。原创 2022-11-20 22:03:35 · 1377 阅读 · 0 评论 -
zKSync 2.0 新特征解析
受到 EIP-4337(由 Vitalik 解释)的极大启发,我们的 paymasters 版本为开发人员提供了一个工具集,用于构建处理费用支付的新机制。运营商根据 gas 价格计算费用,zkSync 2.0 上的同一笔交易可能会根据以太坊上的活跃程度而产生不同的费用。从技术角度来看,zkSync 2.0 中的一个块是由我们称为“引导加载程序”的单个程序组成的。这意味着交易费用是根据两个值计算的:(1) 处理交易并为其生成证明所需的计算量, (2) 完成交易所需的 L1 气体量。原创 2022-11-20 21:41:55 · 1709 阅读 · 0 评论 -
如何实现广义的元交易(Meta Transaction)
元交易是一个普通的以太坊交易,它包含另一个交易,即实际交易。实际交易由用户签署,然后发送给运营商(或类似的操作者),用户不需要Gas和区块链交互。而是由运营商支付费用签署交易,提交给区块链。合约确保在实际交易上有一个有效的签名,然后执行它。如果我们想在合约中支持广义的元交易,可以通过几个简单的步骤完成。第1步:验证元交易的签名。按照EIP-712标准和ecrecover第2步:一旦得到验证,我们就可以提取实际的交易数据。通过对当前的合约地址使用,执行一个函数(而不做新的合约调用)。原创 2022-11-20 01:04:42 · 2243 阅读 · 0 评论 -
Safe Head机制技术实践分析
Safe Head 算法还没落地,虽然目前 PoS 运作都正常。但是Dapp项目方有必要做更多。原创 2022-11-19 16:12:01 · 2016 阅读 · 0 评论 -
Safe Head机制技术理论分析
在 PoW 中,如果没有指定你要哪个区块的状态,节点预设就会回传给你 latest 区块的状态,也就是最新的状态。但是进到 PoS 后,PoS 的区块比 PoW 区块更不可靠,因为 PoS 产生区块不需要任何「work」,而是只要是被指派的 proposer 都可以产生一个合法区块。原创 2022-11-19 15:44:51 · 1488 阅读 · 0 评论 -
如何在不同链部署地址完全相同的合约
在以太坊中,合约是一种特殊的账户,它没有私钥,只有代码。而合约的地址通常是由部署者的地址与nonce共同做keccak哈希生成的。对于那些需要在多个链部署的项目来说,如果保证部署者的地址相同,nonce相同,则可以部署出相同地址的合约。例如,Uniswap的在Ethereum的主网、Ropsten、Rinkeby等均有相同的地址。但是这种部署方式要求每个网的部署顺序要完全一致,以确保nonce相同。有没有办法能更好地部署不同链得到相同的地址呢?答案是使用CREATE2指令。CREATE2只要保证。原创 2022-11-15 16:12:09 · 1843 阅读 · 0 评论 -
三大零知识(ZK)证明系统全面深度分析:STARKs SNARKs Bulletproof
ZK学术定义:使用密码学允许某人(证明者)向其他人(验证者)证明事实是百分百真实的,但除了特定真实性的陈述之外,不会透露任何额外信息。即能保守秘密,又能让人相信你。ZK通俗定义:ZK证明本质上是让某人证明他们知道或拥有某些东西,而不会泄露他们知道或拥有什么的任何信息。原创 2022-11-15 13:32:12 · 2024 阅读 · 0 评论 -
一文读懂区块链隐私技术系列之佩德森承诺(Pedersen Commitment)以及应用
佩德森承诺是一种密码算法,它允许验证者在不暴露或无法更改某个值的情况下提交该值。原创 2022-11-14 20:03:09 · 3766 阅读 · 0 评论 -
一文读懂区块链隐私技术系列之环签名
在匿名币中隐私保护方案中,使用到的密码学技术有环签名Ring Signature)、同态加密、零知识证明、其他签名等等技术。原创 2022-11-14 19:33:44 · 2626 阅读 · 0 评论