Parallel execution of transactions is cool, but what if the workloads are sequential? At
@AptosLabs
, we came up with a solution that allows parallel execution of smart contracts even in presence of read-write conflicts. Make sure to check out this post!
- Static parallelism vs Dynamic parallelism
The biggest divergence to me is that aptos believes dynamic parallelism can scale while sui doesn’t . Too early to say which direction is right but hope everyone agrees requiring dependency annotation is a worse dev experience.
Sui’s
- Toxic marketing driven vs engineering driven culture
This is probably obvious, all the hostile/toxic even childish tweets are observed by everyone. Not to mention the absurd redefinition of what a transaction is to inflate numbers. I have high respect for a few former
You can only get "atomicity" OR "parallelism" but not both with static parallelism.
Not expert on CLOB, what I understand is typically the order book is represented as balanced tree where each node can be an object and common operations are add/remove from the tree.
With static
- Fast path vs Fast consensus
We at aptos focus on making consensus lighting fast and will keep pushing until theoretic limit, with recent work shoal and more coming soon. Any honest engineer/researcher would question if the complexity introduced by the
Happy to share that our soon-to-be-deployed consensus, Shoal (our latest word after Bullshaek), was accepted to appear at FC 24.
Come to Curacao to meet the team and hear our plans to slash consensus latency on
@Aptos_Network
.
- Obsession on global atomic state vs Scale atomic state but open to interoperable multi states
Read from multiple tech threads that Sui views global atomic state as something they would never trade off. Even though we believe we can scale single atomic state better than anyone
Congrats! glad to see more blockchains adopting and validating the pipeline design we have at Aptos, transaction dissemination (Quorum Store), decoupled execution and parallel execution are key to scalability. Kudos to nonce-less transactions too, we've discussed it but haven't
I was excited for a second, it's probably our bad not specifying what exactly 1M limited collections in 90s we can do on aptos, probably you didn't even imagine it's possible.
There's no sharding of 2000 supply managers needed, it's a single atomic increment counter with strict
In the world of blockchain technology, where predictability rules, Aptos Foundation invites you to the first-ever online Aptos RaNd0M Hack. It's time to...
Roll the dice 🎲
Spin the wheel 🌀
...and embrace the unexpected with tamper-proof randomness with Aptos' on-chain
Another thing to add is that static parallelism is the WORST form of pessimistic concurrency.
Typically we try to minimize the lock scope (critical section) as much as possible with pessimistic mode. Contrast to that, static parallelism needs to lock EVERYTHING it possibly touch
@wgrieskamp
@wgrieskamp
I would add that another form of disadvantageous overhead introduced by static parallelism (pessimistic concurrency) is the inefficiency of redundant write-locks during non-deterministic scenarios:
In an optimistically concurrent executor like BlockSTM, an address
@0xd34th
@EmanAbio
Lol, not impressed.
On Aptos you can mint 1M limited NFT collection in 90 seconds. Can anyone match this on Sui?
I will make the bounty 100k.
Good luck with their static parallelism😅
Someone mentioned that Sui supports regulated coin (with a shared DenyList) with fast path (owned objects only), I'm really curious how that works and took a look.
From what I understand, the trick is that validators use their local view (can be split) of the shared DenyList to
📢 Redefining consensus. What happens when the team gets together for 10 days? 40-80% reduction in latency. Get ready next week for a deep dive into the innovation only possible with the team at Aptos Labs.
After we published BlockSTM, parallel execution is not a magic anymore. Now we push it even further, we parallelize fully sequential workload! More details will come Q1 2024.
1M sequential numbered and limited supply NFT minted in 90s on previewnet, only possible on Aptos!
It is so rewarding to see all the research and engineering work we are doing at
@AptosLabs
translating into revolutionary numbers:
🗻30k peak TPS
🚀25k sustainable TPS
🏆Billion txns in 24 hours
🤯Million limited collection NFT minting in 90 seconds
👇
AptosRock? AptosRoll🎲🎲🎲
Huge effort involving developing cutting-edge cryptography and world-class engineering.
Possible only at
@AptosLabs
.
The first and only truly secure PoS on-chain randomness🏆
Embrace your crazy ideas on
@Aptos_Network
🤯
That's perfectly true. No language can entirely prevent logical bugs. Let's take an example using other programming languages like C and Rust. Is Rust safer than C? Well, yes because it prevents thread- and memory-related problems. 1/
Abandoning HotStuff and switching to Joltean should reduce your latency by 33% without any throughout trade offs.
Next step is to implement Narwhal to decuple data dissemination from oredering to boost throughout 😉
@samlafer
@SashaSpiegelman
@dubbel06
@0xMert_
simple rationale to explain -
- we all care about developer experience
- forcing developer/users to annotate/declare what the txn needs statically is bad experience
- you must trade the bad user experience for something easier/simpler, not harder
@dubbel06
@samlafer
@SashaSpiegelman
@0xMert_
static information can help scheduling and block-stm is designed to work well with extra info.
we at aptos care about dev experience so we don’t want to put the burden on devs, instead we’re focusing on “inferring” it like any modern languages do for types.
@wgrieskamp
for more
🧵 How do we provide instant on-chain randomness on
@Aptos_Network
?
One key ingredient is a fast Lagrange interpolation algorithm from our 2020 work (& my PhD thesis) with
@bennypinkas
,
@ittaia
et al ()
So, if you're doing threshold BLS, read below...👇
@SashaSpiegelman
@aniketpkate
we start with a lower timeout value and increase it gradually upon every round of timeout and drop the value back once progress being made. typically we set some realistic upper limit too
@b1ackd0g
@wgrieskamp
the point is to access other data from winner’s address like nft or coins instead of the address alone, not sure how sui supports it. it’s what we discussed as secondary index back in the diem days. imo this provides composability between programs naturally
Aptos Roll, the very first secure and instant on-chain randomness API for PoS blockchains, only at
@Aptos_Network
.
Curious about the technical details behind the scenes?
We have a blogpost for you!
Here is my take on the design:
@secparam
@SashaSpiegelman
@dahlia_malkhi
@ittaia
@stonecoldpat0
Simplicity is often under-rated but crucial, it's directly related to observability and reliability etc. I still appreciate the simplicity of hotstuff, though we do see leader as a bottleneck and that's where narwhal comes in.
@BL0CKRUNNER
Thanks for taking time to respond and sharing your thoughts.
for the upfront declaration, are you saying that it's strictly better than not have to declare anything? the burden of managing fragmented data has to be somewhere either in the wallets or the users or indexers. but
@wgrieskamp
@aeyakovenko
@AveryChing
@BabaOnChain
exactly this ^ if there’s an ongoing auction and my program depends on the current auction winner’s balance or other resources, it’s impossible to declare this dependency upfront since this can be “any” account
@aeyakovenko
@SashaSpiegelman
@7LayerMagik
@Aptos_Network
i get the point of execution correctness and agree that fullnodes are good to observe any violations of that but disagree on disregarding consensus safety, imo it’s very much a safety issue not liveness to the whole system to have forks
@life_of_degen
@EmanAbio
i’m not close to business side, so can’t really comment about it from inside.
from an outsider and a gamer perspective, it seems common to see microsoft/sony/nintendo all gets their exclusive games on their platforms without all the dramas. does Nintendo punch down sony because
@aeyakovenko
@SashaSpiegelman
@Aptos_Network
100% of faulty stake weighted nodes can double spend (creating forks) as much USDC as they want or rewrite history easily. that’s not considered safety but liveness?
@aeyakovenko
@SashaSpiegelman
@7LayerMagik
@Aptos_Network
the assumption is that Circle would only run a single fullnode? if they run multiple fullnodes it’d have conflicting views easily. as far as i understand most financial institutions require redundancy.
@wlaw_
did you look at this? it might be helpful, we have implemented it e2e fully, there's a lot nuances in it
also we're gonna publishing more details soon
@BL0CKRUNNER
well I just checked the explorer, I'm pretty sure the "TPS" is still the scam version definition (as guessed). If you divide the "transaction blocks" per epoch (1.3m) by the epoch length (1 day), the average txns per sec is just ~15 while they show 100+.
@samlafer
This is a big topic to cover. Any horizontal scalable systems involve sharding on some layers. In my view there's 3 layers of sharding - consensus, execution and storage.
probably everyone agrees that storage sharding is required to scale.
global atomic state vs interoperable
@BL0CKRUNNER
thanks for clarifying, very glad to see that the community built explorer disagrees with their official stands, that's the essence of web3!
@kopeboy
If you're familiar with status quo, they are asynchronous - need to send a txn to request a randomness first then after a period of time another txn to fulfill the request. Huge pain to use, not only more with Aptos, as simple as `randomness:u64_integer()`