computer science, graph theory, parallelism, consensus | taking Kaspa beyond the next level | argent-lang

wrote an outlook for the upcoming “Toccata” hard fork -- native L1 covenants, based zk apps, why the activation window moved, and what the road from feature freeze to mainnet looks like: medium.com/@michaelsuttonil/…
52
312
908
145,793
don’t let this fly under the radar refer to my pinned post → dual programibility landscape → second pillar: based zk apps this is becoming real now
Tic-tac-toe is live on Kaspa testnet: the first vprog, a verifiable program with real execution and real settlement, running since yesterday. You can play it here: vprogs-tt.izio.fr/ (Requires private key and some testnet funds) We still need to review and merge a stack of PRs, however this is already a working POC. UI/UX was never a priority; the frontend can be enhanced or built separately I'm gonna work on mdBook covering the parts of the system I consider meaningful and a workshop on vprogs and building apps on top For Devs: this is the invitation. Play the game, read the code, build your own vprog. Game code: github.com/biryukovmaxim/vpr… vprogs framework: github.com/kaspanet/vprogs/t…
21
173
558
17,350
i used to think real-time execution was the one thing that couldn’t be faked on bitcoin L1. i stand corrected.
52
112
565
22,615
huge honor but I’m also nervous ngl
35
102
565
19,270
A version worth upgrading to:)
Kaspa v2.1.0 is out [Link in the reply] All node, mining, and infrastructure operators across mainnet and testnets are strongly encouraged to upgrade. This release introduces P2P Protocol Version 11, extracts a standalone ZK SDK, and reflects an ongoing focus on proactive defense-in-depth across the node architecture. Key Highlights: • P2P Protocol Version 11 & Chunked IBD: Large Initial Block Download (IBD) payloads (including Pruning Point Proofs, headers, and trusted data) are now streamed in 20 MiB chunks. This eliminates message- framing bottlenecks and timeouts during node sync, backed by overall safety limits and transfer timeouts, while maintaining full backwards compatibility with Protocol 10 peers. • Standalone ZK SDK: Zero-Knowledge proof and script-generation tooling has been extracted into a dedicated crate (kaspa-txscript-zk-sdk). It adds support for RISC Zero Groth16 and STARK verifier generation with dynamic or static image IDs, bounds control proofs against oversized inputs, and resolves cross-platform build issues. • General Hardening: Comprehensive defense-in-depth upgrades across the node, including stricter P2P message and block limits to guard against DoS vectors, a workspace-wide arithmetic safety audit to eliminate overflow risks, enhanced stratum bridge stability, and tighter consensus validation. These structural safeguards significantly strengthen node resilience and provide higher confidence in overall network security.
4
86
390
10,481
Michael Sutton retweeted
this KIP-12 is superseded by KCC-12. goal: dApp doesn't need to integrate browser wallet 1 by 1. If you own a dApp (/want to), or you own a browser wallet, please read the proposal and add your thoughts (not LLM thoughts, we can do that on our own)
KIP-12 = a draft standard for how Kaspa browser wallets talk to web apps: • one kaspaProvider.request() API • discovery via kaspa:requestProvider / kaspa:provider • ready for KRC-20 & future protocols PoC wallet + dapp demo in this video below Have a good day!
11
53
182
7,784
just a gentle reminder that krc20 is not kaspa L1, it only travels over L1 txs as data carriers, but the interpretation of krc20 state is done purely offchain just like any other non-zk based solution. this is why covenants were developed for kaspa L1 with kcc20 built on top of them for native assets (note: kcc20 spec is still in draft)
36
266
819
49,386
I should be more careful with my wording re kcc20 for future record: a properly written kcc20 covenant will enjoy L1-grade security (bcs L1 will enforce those properly written rules), but kcc20 is inherently just a spec/convention. a specific kcc20 covenant instance might still have implementation bugs or even compiler toolchain exploits, just like any other programmable system (eg just like vulnerabilities found in specific eth smart contracts). that is to say that not all kcc20 covenants will be equal, and a future problem in one of them does not necessarily reflect on the others or on the underlying L1 script engine
11
75
320
11,096
cf here
a few points that come to mind this evening, in no particular order: - Kaspa pre-zk is a sequencing and data-carrying service; there’s no conceptual difference between txn payloads carrying EVM calldata, KRC20 inscriptions or Kasia chat msgs in that regard - in particular, the above means there’s no settlement on L1; there are no validity proofs or fraud proofs verified. It’s a one-way route: L2s listen to L1 and the data it makes available; L1 has no idea what interpretation L2s give to this data - hence an L1<>L2 KAS bridge (in this pre-zk era) cannot be fully trustless, no matter the cleverness of its designers - this does not mean all L2 funds require trust (you can have tokens that live only on the L2; think of it as any other standalone EVM, eg Eth L1) - in order for this normal L2 operation to be decentralized (other than KAS bridging which must hold some form of trust as mentioned), its codebase must be open-source and independent validators must be able to run it as they wish. I can respect a decision not to immediately open source something you worked on and holds significant IP, but the tradeoff is clear: until the L2 is fully open-source, there is a degree of centralization/trust in anything it executes, and users should be fully aware. - (btw iirc some Eth rollups were partially closed-source at their respective mainnet launch, though the case is a bit different since they had L1 settlement support) - I admire Kasplex’s efforts to bring smart contracts to Kaspa asap. If I’m allowed to be somewhat cynical I think tomorrow's launch is a win-win situation. If the launch succeeds it showcases Kaspa’s speed, responsiveness and immense throughput. If it somewhat stutters or has initial problems, they are not inherent to Kaspa and indicate nothing about the core technology and will be fixed in following iterations (or perfected by other entities). I’m not naive and I’m aware that not everyone understands the differentiation between layers, but it’s the simple truth and will eventually rise. other r&d updates in short: - dk: being worked on by some dkoders, initial implementation is already taking shape - vprogs: not only a yellow paper, a rust prototype is wip
2
6
55
4,946
Michael Sutton retweeted
1/12 Introducing dotk 🥳, a name service built different - unique, trustless, decentralized - enforced by covenants. Names are a binding of name (supertypo.k) to an address (kaspa:...). dotk names are cheap, and I have a whole page dedicated to the *why* it exists. Highlights 👇
39
89
245
36,290
Michael Sutton retweeted
i’ve spent the last few months bringing native Kaspa payments to x402. tldr: x402 is an open, chain agnostic payment protocol built around the long existing HTTP 402 code. kaspa-x402 intends to bring native KAS into that shared standard. i keep seeing people use “x402” to mean anything built around the HTTP 402 response code. HTTP 402 has existed for decades, and anyone can hang their own payment flow off it. x402 refers to a specific open protocol built on top of that code. it standardises how a server requests payment, how a client authorises it, and how the payment is verified and settled. it can be used for paid APIs, AI agents buying data or tools, and MCP servers charging per call. kaspa-x402 adds native KAS to the existing x402 v2 flow. there are two payment paths: - exact for a normal one off KAS payment, with an optional KIP10 additive mode - batch-settlement for small or repeated payments, where the client funds a SilverScript covenant once and signs a fixed charge voucher for each request the longer term goal is to contribute the Kaspa support upstream into the wider x402 project, so Kaspa works within the same standard being adopted elsewhere. i’m looking for humans and agents to go through it deeply before the final v1 release. read the code, build against it, test the assumptions and try to break it. if you find something, pls let me know. code: github.com/elldeeone/kaspa-x… upstream x402: github.com/x402-foundation/x… docs: kaspa-x402.org TN gateway: demo.kaspa-x402.org discussion: kas-smiths.org/t/kaspa-x402-…
17
152
500
35,920
I’d love to hear genuine thoughts about this question (the first part of the text). My working hypothesis is that global DeFi is not sequential in nature. Reality worldwide happens in parallel. Economic events happen concurrently, information spreads locally and asynchronously, and the global picture forms through aggregation and iterative convergence. There is no single sequence through which the world updates. That does not make global order in consensus systems any less important. The relative order within sub-series of related events is critical (a double spend being the most minimal/local example). But that should not lead to system designs where ~all state mutations have to go through a constant number of sequential bottlenecks
so it’s also about shared state bottlenecks, but in that regard i actually believe systems should push app designers into partitioned/parallel/replicated state designs and not vice versa (ie forcing the sys design towards shared state). hence i think that the point of computational scalability is the more fundamental point. here too there is a ladder. based zk systems force every event to have L1 DA (at the benefit of L1-degree censorship resistance), while non-based systems allow more scalability but less L1-grade security. obv a lot more to say on this topic.
12
77
375
18,922
Michael Sutton retweeted
Hey guys, It's been a while since my last post, and I feel almost bad for not posting anything for such a long time 🙈 Unfortunately, I caught a really nasty infection on my way home from the KAS meetup and have been stuck in bed with a high fever and brain fog for the last few weeks. I'm still not completely back to normal, but since I'm finally starting to have a bit more energy, I wanted to use the opportunity to share some thoughts about the meetup, because I think it will turn out to have been extremely influential for the future of Kaspa. For anybody who doesn't know what I'm talking about: about 3.5 weeks ago, KAS organized an internal meetup between core contributors (and some additional community developers) at an undisclosed location in Europe. When I first learned about the plans for this meetup, I didn't really know what to expect. I've been to developer meetups before, but those were traditionally very narrow and task-focused. E.g. you got a team together to work on a specific problem that was difficult enough to deserve the shared attention of everyone involved. In the case of Kaspa, however, we have relatively small and independent teams working on a number of different topics in parallel, such as vprogs, covenants, SilverScript, Argent, etc. There are, of course, interfaces between these topics, but they all have their own independent designs and problem spaces. This independence of developers is one of Kaspa's biggest strengths, but it also creates a situation where not everybody is always fully up to speed with what is happening elsewhere in the project. For me personally, this is probably the biggest obstacle to becoming an effective communicator. To feel confident discussing things publicly, I need to develop a deeper understanding and intuition for the subject. And that requires knowing not only the final design or code, but also the roads that weren't taken and the mountains that had to be climbed along the way. What Kaspa really needed, wasn't a narrow, task-focused meetup, but a broad, vision-building one: something that connected the dots and allowed the different teams to develop a deeper understanding of each other's work, and ultimately see how all of it fits together as a coherent whole. And the reason I'm telling you all of this is that this is exactly what the meetup turned into. A week of open sessions and discussions covering the different development efforts, giving everyone the opportunity to build that deeper shared understanding. I think it was a huge success! I'll write a little more over the coming days about specific topics like Argent (which I really like), but I also have quite a lot to catch up on after being sick for so long. @Max143672 did a really good job working through a lot of the open tasks around vprogs, and I now have a lot of code to review :'P
59
198
807
28,559
Things I didn’t expect to be doing in cryptocurrency r&d: formally analyzing the semantic rules of a multi-contract compiler github.com/argent-lang/argen… (of course if you spot any soundness issues, pls share them)
7
89
351
7,624
am i still doing it right @ewalkercrypto ?
1
20
2,908
After endless audits, reviews and refinement cycles, it’s finally here, ladies and gentlemen: silverscript 🩶📜
Finally, Silverscript v1 is out [Link in the reply]. This completes the journey we started eight months ago with Toccata — it's finally possible to write human- (and AI-) readable smart contracts on Kaspa. This language started simply as "CashScript with loops", but eventually grew into a full-fledged smart contract language capable of expressing complex, stateful contracts. It's always fun to look back at the first token mechanism @IzioDev and I worked on using raw opcodes, which took thousands of lines of code, and see the same thing implemented in just 60 easy-to-read lines of Silverscript. I'm excited to explore the possibilities of UTXO programmability together with the Kaspa community, and this is only the beginning - Silverscript will evolve, Argent will add higher layers of abstractions, and I'm sure more people will find their own way of extending this new ecosystem.
74
439
1,256
39,293
ok this is seriously cool
Argent (.ag) → SilverScript (.sil) → Bytecode → Local VM Testing Inspired by @manyfest_’s video and the examples provided by @michaelsuttonil, I built an editor for Argent and SilverScript. The idea: make code and its relationships visible and easier to understand. • Synchronized code and structure views • Visualization of actors, states, and dependencies • Autocompletion and integrated compilation • Local VM tests with targeted correction hints Thank you for the insights and foundations this project builds on. Argent source code and examples: github.com/argent-lang/argen… kaspa:native
8
135
543
15,671
Michael Sutton retweeted
🚨 NEW Episode w @OriNewman "How Kaspa Wins Over FIAT" 00:00 Why kaspa:native needed covenants 06:34 Why SilverScript 13:47 sCrypt, CashScript and OP_CAT 16:00 #Bitcoin's accidental covenant 22:16 KIP-17: state inside a UTXO 30:54 KCC20, CAT20 and the lineage attack 37:37 CovenantID, and If Toccata affects your wallet 46:03 Thousands of lines to 60 with @IzioDev 53:39 Posts by @hashdag and @michaelsuttonil 59:28 Competing with bitcoin:native -------- DISCLAIMER This video is for educational and informational purposes only and is NOT financial or investment advice. We do not recommend you to buy or sell any assets. Opinions of guests are their own and do not constitute endorsements. Cryptocurrency and blockchain investments are highly risky and can result in total loss of capital. Do your own research and consult licensed professionals. The channel and its hosts are not liable for any investment decisions or losses.
10
118
315
34,780
Michael Sutton retweeted
nitter.net/i/broadcasts/1AKEmvDBA… Argent & KCC20 dev session is starting, join in!
15
115
259
18,114
we should eventually turn the product of this session into an audited kcc20-reference implementation
On Saturday I’ll stream a live technical session around Argent and KCC20. My intention is to share the process we’ve through designing the spec, while also making it real using Argent. See you here on X or in Discord!
13
82
330
14,156
Michael Sutton retweeted
On Saturday I’ll stream a live technical session around Argent and KCC20. My intention is to share the process we’ve through designing the spec, while also making it real using Argent. See you here on X or in Discord!
9
77
253
28,477