Brecht Devos
@Brechtpd
Followers
2K
Following
616
Media
10
Statuses
298
@gwyneth_taiko and @taikoxyz, prev @loopringorg
Joined July 2017
@sendmoodz Using assembly, and likely still contains some mistakes, but ~80% gas improvement, still some small improvements left probably:
2
3
71
Wrote an explanation of the overall design of @gwyneth_taiko:. Read the thread below for a summary.
2
18
66
I made a @metamask_io plugin that can be used to sign zkRollup transactions for exchanges built on @loopringorg in the same way (or even better than) Ethereum transactions are signed. We're eagerly awaiting the release of MetaMask's awesome plugin system so we can start using it!
2
9
62
L1CALL is great. It allows the execution of L1 smart contracts directly from L2 (without persisting any of the state changes of course). L1DELEGATECALL could also be helpful to help connect L1 and L2s and make it look more like a single parallelized execution environment.
An easy way for L2 smart contracts to read the latest L1 data (or L2 data from an L3) in a way that is also easy to prove for L2s that are EVM equivalent and use the same state tree format (like type 1 ZK-EVMs):.
5
19
55
Just in time for interop day. A sketch of how to extend @gwyneth_taiko's synchronous composability to non-gwyneth rollups. High level and hastily written. More to come (or not if it's a bad idea, then we all simply ignore this ever happened okay).
10
5
48
@jbrukh @hagaetc @loopringorg Loopring is a zkRollup, ALL the data is available on Layer 1! It depends on the layer 2 project how this data needs to be decoded, but that's also publicly available. It's just a bit harder to read compared to layer 1. You can check our Dune how to do this (with source code!).
0
4
16
A trick to check in a contract if you're in the 1st tx of a block. Set the tx gas limit to the block gas limit, check:. block.gaslimit - gasleft() - intrinsic_gas_cost < 21000. In @gwyneth_taiko, this gives execution preconfs with latest L1 state using the prev block's state root.
1
2
17
Great/simple DevEx touted as one of the key goals for interop between chains. On @gwyneth_taiko, doing cross chain calls (to L1 or L2):. EVM.xExecuteOn(targetChainId);.uint result = inputs);. Just set the target chain before your normal call. That's it.
4
0
12
@toghrulmaharram - I’m shilling L2 AND L1 sync composability. I’m not conveniently omitting anything though. Higher requirements than Solana for builders is optional. - Nobody is saying anything about having to do it. Instead, it’s about wanting to do it. Why would you not want to do it?.
The more chains are accessed in a single tx, the bigger the block builder will have to be, and so the inclusion of the tx may require additional fees. Parallelization of the block building depends on how many chains are accessed.
2
1
12
@VitalikButerin @PingChenTW @loopringorg On the protocol level we just need to add the verifications keys of our transfer circuits to our block verifier contract and we're set (it was part of our trusted setup). The only thing stopping us from exposing this on @loopringorg exchanges is some frontend/backend work.
0
2
9
I just made the contribution #310 to @TornadoCash Trusted Setup Ceremony! 🚀 Let's make it more secure and trustless #TornadoCashCeremony
0
0
8
@MihailoBjelic @dankrad I don't think his statement is wrong because he just reiterated what the current definition of an L2 is. However, you can think that none of the scaling solutions currently on Ethereum achieve that definition without any caveats, which may be true (contract upgradeability,. ).
2
0
8
This is mostly just a continuation, and perhaps one of the logical conclusions, of this dapp parallelization idea I posted earlier, explaining L1CALL/L1DELETATECALL:.
L1CALL is great. It allows the execution of L1 smart contracts directly from L2 (without persisting any of the state changes of course). L1DELEGATECALL could also be helpful to help connect L1 and L2s and make it look more like a single parallelized execution environment.
3
0
7
@MMJahanara @arixoneth L2 <> L2 and L1 <> L2 reads/writes will be possible. An approach that allowed L1 state writes was given here: ( but I think there are better ways to do it now. It's still pretty new though, will share when things are more finalized.
1
0
8
@MihailoBjelic @Quiveringsphinx @dankrad @loopringorg Agreed that trusted setup can be an additional trust assumption, but only a single participant (which can be the user itself) needs to be honest. Centralized operator not important for security of user funds though, censorship resistance is handled by L1 for that so is as strong.
1
0
7
This is of course quite similar to other ZK coprocessors, like zkUniswap and @axiom_xyz, except in those cases some specific functionality is handled offchain. In booster rollups, the same L1 environment is maintained no matter where a transaction is executed.
1
0
7
@Tetranode An L1 tx for creating an account isn't required anymore on Loopring today! This was true in v1 when the article was written, but that was quite some time ago and we released a v2 5 months ago with lots of improvements.
1
0
6
@AngelBlockVC @DexWars @0xProject @KyberNetwork @UniswapExchange @tokenlon @oasisdex @idexio @loopringorg @DexWars What do you need to include @loopringorg? We'd very much like that. By being a zkRollup things will be a bit more complicated than fully onchain DEXs. We will likely track volume on @DuneAnalytics shortly, but already have a JS parser lib:
0
0
5
@toghrulmaharram I mean yeah, this is why real time proving is important. Does away with interdependencies. If it makes sense depends on if you think this overhead (which could be small) is worth it. For me it’s a yes: simplicity, capital efficiency, and single chain UX between ALL L2s and L1.
0
0
6
@zengjiajun_eth @umedeyay @gwyneth_taiko Currently just focusing on L1 + Gwyneth L2s, I'm still thinking about how best to get other L2s involved as well.
0
0
5
@ConnextNetwork @humansarealrig1 @pedrouid @loopringorg Can you point us to an implementation of such a smart contract? Would be very helpful to try and figure out what kind of logic we'd need to support and when we'd need to run it.
1
0
4
@jon_charb Q2 is the answer to Q1. Just shows that people choosing to build based rollups can do it for the wrong reasons. You can be right but still wrong. People building based rollups is just a group of people, listening to one may not be satisfactory. (yes that includes me).
0
0
5
@loopringorg The stats that are shown are from the first phase of testing done by @WeDEX_io. Their next phase of testing will start soon, which you'll be able to see in these Dune stats!. Our upcoming DEX browser will be able to show more details about the transactions in the blocks.
0
0
5
@ChainLinkGod @loopringorg Important to note here is that the internal trusted setup is only temporarily until we're sure everything is running correctly and the code is final. In a couple of weeks we're certainly going to open up the trusted setup for the public again just like we did last year!.
2
0
5
@ayyyeandy Why would it not make it based though? Nobody expects the L1 proposer to be able to make blocks for all based rollups by itself. Relying on 3rd parties that are either picked by the L1 proposer or can contribute permissionlessly is what is expected for based rollups.
2
0
4
@aliatiia_ @VitalikButerin @taikoxyz Not sure I understand, this cheaper type of proof should be identical to having a full ZK-EVM proof for the withdrawal tx. The bridge would unlock/mint tokens on the destination chain only if the proof is valid for the source chain (whatever that proof is).
1
0
3
@MMJahanara @arixoneth But I think the term liquidity fragmentation is mostly used for L2 <> L2, the booster rollups we were going to make always allowed for synchronous composability between the L2s themselves (with the shared "bridge" being the app itself on L1, so tokens can move freely between L2s).
0
0
4
@thegaram33 @Junger0x For @gwyneth_taiko, the answers are in the technical design: For the general case for any rollup, I'm currently working on GLUE. A first sketch for GLUE I wrote about earlier, but will have a more in depth design on this very soon:
Just in time for interop day. A sketch of how to extend @gwyneth_taiko's synchronous composability to non-gwyneth rollups. High level and hastily written. More to come (or not if it's a bad idea, then we all simply ignore this ever happened okay).
1
0
4
@donnoh_eth @Junger0x @taikoxyz Current implementation is only to support the upcoming preconfirmation testnet! Won't be on mainnet soon (well, one may hope not too long though). We definitely need to be very careful how we handle limitations on block proposing.
1
0
4
@crypto_fruit @loopringorg That's correct! We've already made a MetaMask plugin that would be nicer than our current password system, but we need to wait on MetaMask to release a new version of their extension before we can start using it:.
I made a @metamask_io plugin that can be used to sign zkRollup transactions for exchanges built on @loopringorg in the same way (or even better than) Ethereum transactions are signed. We're eagerly awaiting the release of MetaMask's awesome plugin system so we can start using it!
0
0
4
@ChainLinkGod @loopringorg @VitalikButerin @StarkWareLtd Brecht from Loopring here. We should be fully production ready in February. To achieve our maximum throughput we first need to improve the relayer. We recently released an update with some more details on this:
1
1
4