本文介绍了Quin Selector这一设计模式,它允许使用信号作为信号数组的索引。文章通过代码示例,展示了如何在Circom中实现Quin Selector,并讨论了优化方法。同时,文章还提到了Circomlib库中的multiplexer组件,它可以实现类似的功能,并提供了一个使用示例。最后,文章提到了该算法的历史渊源。
本文介绍了如何在零知识电路中证明选择排序算法的正确执行过程。由于ZK电路中信号的不可变性,每次交换都需要创建一个新的列表快照。为此,文章详细展示了如何通过多个中间状态的转换来证明排序的正确性,包括查找子列表中最小值的索引、交换列表中的两个元素等关键步骤, 并提供相应的代码模版。
简化 Solana 代币增发步骤,轻松提升流动性与社群激励
本文延续了Stefan Schiller发现的Node.js文件写入漏洞,并详细阐述了利用该漏洞的过程,尤其是如何构建ROP链以实现代码执行。文章通过具体示例和代码展示了相关技术细节,包括如何找到可利用的gadget,构造有效的payload,以及如何在Node.js应用中成功执行命令。
链表倒数K节点怎么删?Python/Go/Rust实战链表操作是算法学习和编程面试中的核心挑战,尤其是删除倒数第K个节点这一经典问题,常让开发者头疼。你是否在LeetCode上卡壳,或对如何高效实现感到困惑?本文通过Python、Go、Rust三种语言的实战代码,带你一步步破解链
本文介绍了在零知识证明友好的哈希函数,重点介绍了Minimal Multiplicative Complexity (MiMC) 和 Poseidon 这两个流行的 ZK 友好哈希函数的工作原理和性能, 并对比了他们的优劣. 此外还提及了基于椭圆曲线的Pedersen哈希,并指出了以太坊基金会悬赏征集MiMC哈希碰撞,以及对Poseidon安全性的研究。
本文介绍了零知识虚拟机(ZKVM)的概念,它能创建零知识证明来验证机器指令的正确执行。文章通过一个简化的栈式ZKVM示例,展示了如何使用Circom实现基本的算术运算,并探讨了提高ZKVM效率的现代方法,如查找表和递归证明。 ZKVM在零知识Layer2区块链中至关重要,并可用于验证机器学习算法的正确执行。
以太坊代理模式可以使我们的代码耦合度更低,但因为普通的代理模式必须一对一强绑定,不够灵活。所以引出了一对多和多对一的代理模式,分别是钻石代理和最小代理。分别可以让我们合程序模块化及减少部署gas 费:https://learnblockchain.cn/shawn_shaw
智能合约中,ABI 编码是合约直之间数据交互的桥梁,承载了数据以及接口。而函数选择器则为调用的函数的标识,因其只有 4 个字节,故容易出现函数选择器的冲突。在合约升级中,我们有三种方式去实现升级的逻逻辑,并解决函数选择器冲突:https://learnblockchain.cn/shawn_shaw
本文档介绍了使用排列参数证明两个列表包含相同的元素,但顺序可能不同的证明。
本文由Paradigm发布,旨在为美国证券交易委员会(SEC)提供关于以太坊MEV的背景知识,MEV是以太坊去中心化架构的原生功能,支持高效的区块空间分配和市场稳定。文章分析了MEV的类型、市场影响,并从法律角度论证了MEV活动本身并不构成证券欺诈或内幕交易,建议监管机构采取技术中立和灵活的方法,避免过度干预这一仍在成熟但具有自我纠正机制的市场。
性能困境:从“病秧子”到“逆袭之战”家人们!今天必须跟你们唠唠这段燃到炸裂的Rust服务性能攻坚史!整整一周,我像着了魔一样泡在代码里,终于完成了一次堪称“奇迹”的性能飞跃!起初,这个Rust服务就像个“病秧子”,每秒只能写入56条数据,这性能简直让人抓狂!但我偏
本文介绍了 Visual Studio Code 的 Recon 扩展,它简化了不变性测试套件的设置和运行。该扩展提供了一系列工具,包括自动生成测试框架、快速创建处理器、自动生成模拟合约、生成 Echidna/Medusa 报告、生成精简的覆盖率报告,以及生成用于调试的单元测试。
Go开发必备:解锁Viper配置管理的正确姿势你是否为Go应用的配置管理头疼过?JSON、YAML、环境变量、命令行参数……各种配置方式让人眼花缭乱!别慌,Viper来了!作为Go生态中的配置管理神器,Viper不仅支持多种配置格式,还能实时监控变更、优雅处理嵌套键,让你的代码更
扫一扫 - 使用登链小程序
382 篇文章,766 学分
117 篇文章,507 学分
113 篇文章,486 学分
67 篇文章,478 学分
229 篇文章,333 学分