ommore.eth
982 posts

ommore.eth
@devommore
🚀 Web3 dev @octav3_music 🖼️ Golanging and minting my friends on NFTs 🍊 Community hero @gitpod 🧩 Developer Dao https://t.co/m2LCSUbmBB

Reminder that WalletConnect can easily track and link all the dapps you visit and who you are WalletConnect relays can know that some wallet with some website domain used by some device with some IP address, is connected to some dapp with some website domain used by some device with some IP address Let's say you connect from MetaMask on your iPhone at home, to Uniswap on your computer at home but under VPN WalletConnect will know for sure that: - wallet is MetaMask (got from MetaMask's project ID) - wallet used this IP address and thus some relatively precise location - wallet is on a phone (if we suppose lack of HTTP headers with means it's a native app which means it's probably on a phone) - dapp is Uniswap (got from HTTP origin header or by Uniswap's project ID) - dapp used this IP address which is a VPN and thus can link your home address to your VPN address as both are connected together - dapp used these language settings (got from HTTP language header) - dapp used Chrome/Firefox/whatever (got from HTTP user-agent headers) So they know all the dapps you used with MetaMask on your phone, as well as your IP addresses and other funny metadata Even worse, WalletConnect has a cookie-like thing named "client_id" that can track you even if you change your IP address, so they can know all the previous IP addresses of some user So if you use VPNs thinking it would break the link, it actually reinforces it by linking your VPN address to whatever previous IP adresses you used, unless you actually clear all caches But now I will release some tools to fix it all so like and subscribe ☀️



When we released the ZK Book over a year ago, we took the ZK education space a huge step forward. Our book pioneered the approach of "just enough math" to learn ZK. Today we do it again with a new addition to the ZK Book. "Circom and Constraint Design Patterns" This new section focuses on how to design, create, and audit non-trivial ZK circuits. You've probably seen a lot of tutorials about how to prove you know the evaluation of a polynomial using Circom. But how do you go from there to designing a ZKVM or proving you know the primage of a traditional hash function (like MD5 or Keccak256)? The new part of our ZK Book takes you on a journey from multiplying to numbers together to: - building a ZKVM from scratch - coding constraints for the MD5 hash function - learn the recurring design patterns in constraint design The last part was interesting because some of the established "design patterns" don't even have names for them. We had to invent some terminology! As usual, we are extremely thoughtful about how we introduce the reader to new ideas to avoid overwhelming someone new. We are careful to ensure we teach the prerequisites in a sensible order and with a lot of examples. Each chapter shows how to build a circuit for an increasingly complex application. With each chapter, you both review what you learned previously and learn a new design pattern. Once you build up a collection of these design patterns, you can compose them together to build more complex applications, like the ZKVM or a non-trivial hash function. We put a huge effort into making sure that the material is both easy to understand and correct without any important omissions. We'd like to thank @ChainLight_io, @VeridiseInc, @PrivacyScaling, and @zksecurityXYZ for allocating time to review this work and provide suggestions. We are particularly grateful to @marcobesier from @zksecurityXYZ for working through several revisions to really get the chapters into a polished state. Special shoutout to @cal_nix for coauthoring the first seven chapters in this new part of the book! The topics we cover here are extremely fundamental. If you don't understand the materials here, learning the internals of more modern ZKVM or ZK L2 client will be quite challenging. Up until now, the absence of newcomer-oriented explanations for such foundational concepts has held the ZK space back. This new body of work isn't simply a "better explanation" of existing materials, but the first explanation at all -- outside of academic papers. We use Circom as the language of instruction since we consider it the most beginner-friendly. However, what you learn here generalizes to other frameworks like Plonky3, Halo2, o1js, and Gnark. The new articles now make the ZK Book over 38,000 words longer. You do not have to know how a ZK-SNARK works to read this section of the book, but there are a few prerequisites. These are listed in the "Introduction to Circom" chapter. As usual, the material is completely free with no login required.

Instagram CEO Adam Mosseri says using social media for 16 hours a day is not an addiction.
























