Abhinabphy

94 posts

Abhinabphy banner
Abhinabphy

Abhinabphy

@blockphy

Web3 Security Researcher | 3x Hackathon Winner | Studying at IIT Guwahati | Passionate about DeFi, audits & protocol exploits

In a Audit Se unió Şubat 2024
487 Siguiendo44 Seguidores
Abhinabphy
Abhinabphy@blockphy·
Great work tbh
tervelix@tervelix

I don't want hyperliquid people to lose in the long term, so I'm going to explain what @Lighter_xyz actually enables. "Ok it uses ZK proofs so what?" When we hear "ZK proofs" we should question: What is actually being proved? Please bear with me. 👇 Standard ZK-Rollups/Validiums usually prove only the settlement. EG: >> Alice had 10 ETH, Bob had 0. Alice sent 1 ETH to Bob. Now Alice has 9, Bob has 1. The signatures are valid. << That's it. They DON'T prove what happened during the exchange. --> How the trade happened? --> Did the exchange match Alice with the best price? --> Did they let a bot jump in front of her? --> Did protocol counter traded her? You have to trust the exchange's matching engine for this, which almost always runs off-chain like a black box. However Lighter's ZK Circuit is designed to prove entire execution logic. Circuit proves that the matching engine followed the exact rules of the order book. Proof says: --> Alice's buy order arrived at xx:xx. --> The best sell order was Bob's at $000. -->The engine matched them correctly. --> No other order existed that could have given Alice a better price. If the Lighter sequencer tries to skip your order or give you a bad price, it becomes mathematically impossible to generate the proof. On the other side: - Hyperliquid's 24 validators have absolute power over the protocol. EG: >> They literally forced a market rollback on the JELLY pair to save the insurance fund (I find it as a wise move btw). That is how "trusted setup" works. - Because Hyperliquid is on its own chain, there is no "higher court" to appeal. If the Hyperliquid validators agree to censor a user or halt the chain, the user cannot escape to Ethereum because the assets are locked on the Hyperliquid chain itself, or the bridge which operated by same stack. Lighter's "single sequencer" cannot steal funds or fake trades because Ethereum L1 verifies the ZK proof. I liked this court explanation so i am gonna stick with it. Ethereum doesn't run the exchange nor exchange is running on the Ethereum. It just acts as the Supreme Court Judge. - Lighter executes thousands of trades (or cancelletion) off-chain, on their own fast servers, to give you instant speed. This is similar to other exchanges. - Lighter's servers run this ZK math - circuit that basically summarizes all those trades into a tiny cryptographic receipt, the ZK proof. Let's call it just proof. - Lighter sends this proof to a smart contract on Ethereum. - This contract has a specific function which runs a mathematical check. - It just can passes or fails. It's bianary, no abstain outcome or other outcome can come. Pure math. 2+2=4, yes or no? - If the proof is valid, which is the happy scenario, Ethereum updates the balances which are written on the smart contract. EG: >> Tervelix has 1234 $ABC - If the proof is invalid (e.g., the sequencer tried to cheat you), which is the sad scenario, Ethereum rejects the transaction entirely. - The Ethereum smart contract calculates 2+2=5 -> FALSE. The transaction is rejected entirely. The state of the exchange on Ethereum does not update. The hacker/sequencer cannot move the funds because the judge refused to sign off on the new balance. The chain effectively halts rather than accepting a lie. What if the sequencer just stops processing your withdrawal or shuts down the website? - Since the Lighter smart contracts live on Ethereum L1, you don't need the Lighter website.ü - You can call a function directly on the Ethereum contract (Force Withdrawal). - If the sequencer ignores this request for a set time (e.g., 24 hours), the contract enters "Exodus Mode." - This allows users to withdraw their funds directly from the Ethereum bridge contract using the proof, which you can generate yourself because the data is public, directly on Ethereum, not any other DA layer. You don't trust the Lighter team to be honest. You trust the code, which you can read, and Ethereum, which is the worlds most secure network. Feel free to verify on @l2beat

English
0
0
2
47
Abhinabphy retuiteado
pashov
pashov@pashov·
please don’t make fun of children today on christmas for believing in santa i know fully-grown adults who believe autonomous AI agents will takeover the web3 security industry
English
45
27
370
21.8K
Fuel
Fuel@fuelxmeta·
Even if you have 20 follower, say Hi, that’s how connections start. It’s that simple ✍️✍️
English
1.7K
88
1.1K
89.9K
Abhinabphy
Abhinabphy@blockphy·
@bbl4de_xyz we got the memory layout as below 0x80(free memory ptr)=>orderData("0") 0x80+0x20(160)=>offset relative to free memory ptr where fees struct encoded in memory("192") 0x80+0x40(0xc0)(192)=>100(token0fee) and in next bucket toekn1 fee =200 ,so 192 is basically the offset of fees
English
0
0
0
22
bbl4de
bbl4de@bbl4de_xyz·
Turns out that a memory struct holds a pointer to the nested struct's values on it's element slot ( because structs are "reference types" ). To access nested struct's values, you need to double-mload (!), first to access the pointer stored at nested struct's element slot, then to access the values stored on that slot: Now, the result is correct: While Solidity docs explicitly describe this behavior, the examples are scattered and the concept might be very confusing - especially for those with less experience with low-level languages.
bbl4de tweet mediabbl4de tweet mediabbl4de tweet media
English
2
0
11
804
bbl4de
bbl4de@bbl4de_xyz·
If you think Solidity inline assembly can't surprise you, read this post 👇 Consider the following Order struct, with a nested FeePerToken: and the following fee values: Intuitively, to read the fees for token 0 and token 1 using Yul in a function that takes in the order as calldata, you might do the following: after all, bytes32 and uint256 both take up exactly one 32-byte word in memory... To your surprise, this would result in the following two return values for token0Fee and token1Fee:
bbl4de tweet mediabbl4de tweet mediabbl4de tweet mediabbl4de tweet media
English
2
6
112
5.8K
Abhinabphy
Abhinabphy@blockphy·
@_pawurb hey read about your blogpost on "How to Extract long-tail MEV Profit from Uniswap" , would like to connect to talk about it
English
0
0
1
22
Pawel Urbanek
Pawel Urbanek@_pawurb·
github.com/pawurb/mevlog-… new —sort mevlog search -b 1000:latest --sort "erc20Transfer|0x6982508145454ce325ddbe47a25d4ec3d2311933" --limit 1 --chain-id 1 --format json-pretty | head find mucho pepe
Pawel Urbanek tweet media
English
1
1
6
387
Om
Om@Om_Codes_·
Twitter is cool. But it’s 100x better when you connect with people who code daily If you’re into tech, AI, DSA, Web development, Web3 or programming, say hi
English
1.3K
60
2.3K
92.4K
Abhinabphy
Abhinabphy@blockphy·
@shafu0x No assembly is always preferred ? Like what if the usecase in uniswap routers (high frequency) (Still a learner btw)
English
0
0
1
92
shafu
shafu@shafu0x·
Learn how to write great Smart Contracts - security first - revert early - beautiful over ugly - use libraries - multi inheritance bad - get audited early - immutability is the goal - wasting gas is bad - no unbounded loops - simple better than complex - use custom errors - flat better than nested - emit events - no assembly - use shafu formatting - write complex tests - symmetry is beautiful - pin compiler version - readability counts
English
14
28
208
19.3K
Comet
Comet@cometwtf·
Explain your crypto portfolio in only 2 words
English
1.3K
21
670
109.3K
wavey
wavey@wavey0x·
... after three long days with claude code, i have this to share: → SlotScan.info a human readable web ui for evm storage visualization (supports Solidity + Vyper) → Blog post documenting my learnings: wavey.info/posts/2025/rev…
English
6
12
87
15.6K
wavey
wavey@wavey0x·
in the wake of a brutal few days analyzing the yeth hack, i realized how few tools exist to see human readable storage changes inside a transaction trace. so i started building one, both as a tool and as a deep research project for myself ...
wavey tweet mediawavey tweet media
English
27
22
218
20.5K
Jason Schwarz
Jason Schwarz@passandscore·
Claimed my Fast OG Pass for @fast_protocol. Ethereum without the pending hell, millisecond preconfirmations, and encrypted ingress security. Join the Fast community and claim your Fast points: discord.gg/fastprotocol
English
1
0
1
32
Abhinabphy retuiteado
storm
storm@notnotstorm·
found a pretty major data bug it turns out almost every major dashboard has been double-counting Polymarket volume (not related to wash trading) this is because Polymarket's onchain data contains redundant representations of each trade. receipts ⬇️⬇️
storm tweet mediastorm tweet media
English
160
83
1.1K
622.7K
Kshitij Anand
Kshitij Anand@kshitijandquant·
Can someone familiar with Hedge Funds confirm whether hedge funds still use index-rebalancing strategies, or has the opportunity become too dry to extract any juice? #Quant #Hedgefunds
Kshitij Anand tweet media
English
4
0
50
5.3K
Abhinabphy
Abhinabphy@blockphy·
If you know the context , I will follow you !!
Abhinabphy tweet media
English
0
0
1
28
Abhinabphy
Abhinabphy@blockphy·
You know what? I love MEV extraction
English
0
0
0
23
Abril
Abril@abrilzucchi·
I have some life news to share. Today is my last day at @AbstractChain. I joined this team because I believe in the future of consumer crypto and I wanted to be part of it. From day one I got the chance to help push mainnet forward, grow the dev ecosystem, bring AI teams onchain, and improve the developer experience. Now I decided to take a step back to rest for a bit and figure out what’s next for me in my career. I’m really grateful for my time at Abstract, for what we built, and for the insanely talented people I got to work with. And I want to especially thank @0xCygaar for being an incredible leader, mentor, and friend. This team shaped a huge part of my career. I’ll always be involved in the ecosystem and available if anyone ever wants to chat. 💚
English
143
3
626
366.2K
Abhinabphy
Abhinabphy@blockphy·
💯 correct , my home is in Kolkata and due to obsolete schedule of IITG ,couldn't attend IBW this year . A constant rotation of this event throughout the cities will help juniors like me to engage more to the ecosystem.
English
0
0
0
54
Kshitij Anand
Kshitij Anand@kshitijandquant·
Is Delta the probability of an option expiring in the money? [under the risk neutral measure ] Well, not exactly. If you follow the BSM construct, Delta = N(d1) P_ITM = N(d2) [ under the risk neutral measure ] If you plot them in a graph, delta can be approximated as the probability of option expiring in the money for ITM and OTM options, but they differ a lot for near ATM options. Here is a toy example.
Kshitij Anand tweet media
English
1
0
4
1K
Alen Abraham
Alen Abraham@Alxn787·
We’re hiring ! Backend (ts , rust ,solidity). Growth, content , distribution stuff . Onsite Bangalore ( cool office ). Backed by @naval and many more . Dm if you’re really good at these .
English
6
1
13
906