Michael Sutton

3.6K posts

Michael Sutton banner
Michael Sutton

Michael Sutton

@michaelsuttonil

Computer science, graph theory, parallelism, consensus; taking Kaspa to the next level

Katılım Şubat 2021
121 Takip Edilen26.1K Takipçiler
Sabitlenmiş Tweet
Michael Sutton
Michael Sutton@michaelsuttonil·
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: @michaelsuttonil/kaspa-covenants-toccata-hard-fork-outlook-a4d81a40900c" target="_blank" rel="nofollow noopener">medium.com/@michaelsutton
English
52
307
904
135.5K
IzioDev
IzioDev@IzioDev·
my first Argent application: a name service and it was incredibly simple to build. users can mint a transferable UTXO representing a unique name (~=NFT). they can transfer it, or co-spend it with another covenant-based application to prove ownership of that name: it's composable later. uniqueness is enforced through a compressed sparse merkle tree, preventing the same name from being minted twice while keeping computation low. the tree implementation is useful beyond this showcase, which is another reason why i wanted to share it. a worst-case sparse-tree insertion may require rebuilding up to 256 levels. @michaelsuttonil suggested exposing two registration paths: a bounded fast path for compressed proofs, and a general fallback. this reduces script size and compute budget hence network fees, in the common case. reminder that kcc-02 (and soon kcc-03) are still being discussed and so the ownership and authentication model should not be treated as final, as is, it will not be inter-operable across wallet ecosystem, which should be an imminent focus. this is a proof of concept rather than a full-featured reference name service. the goal is also to give developers and LLMs a concrete Argent example of these techniques.
English
18
68
206
15K
Michael Sutton
Michael Sutton@michaelsuttonil·
@kaspabitcon @KaspaNative silverscript is the contract-level foundation, argent should become the devx frontend for most usages. still contemplating and discussing whether to unite then into a single monorepo with different layers. both options have pros and cons
Michael Sutton tweet media
English
1
0
6
280
Kaspa Native
Kaspa Native@KaspaNative·
Kaspa Native is live! A new X account and YouTube channel for native Kaspa development. Starting with an Argent live coding session, building a simple multi-actor ticketing app from start to finish >
English
40
218
576
39.4K
Michael Sutton
Michael Sutton@michaelsuttonil·
@IzioDev I’d add that fast vs slow paths are enabled by a multi-actor (=multi-contract) delegation technique, where state carrying is separated from the varying validator
English
0
8
46
1.3K
Michael Sutton
Michael Sutton@michaelsuttonil·
@KaspaHolderOG very interesting. would love to hear more details about the architecture, challenges, etc
English
1
0
14
376
moxypixy-𐤊
moxypixy-𐤊@moxypixy15683·
@michaelsuttonil Any chance you can leave this and future tutorials on, e.g the kaspa site? had to go back and re-watch a few times, but apparently X doesn't allow to pause a video and continue. So the video started over when I paused
English
1
1
6
320
Michael Sutton
Michael Sutton@michaelsuttonil·
@Themooseisloos5 I’m giving you a 2 day ultimatum (bcs otherwise the queue will keep filling from the other side...)
English
1
0
16
863
Michael Sutton
Michael Sutton@michaelsuttonil·
@Kaspamama @ScapeSquad I promise you this is orders of magnitude more significant than the “maim” account posting (notwithstanding that it should post)
English
3
11
63
1.9K
m.ax
m.ax@bytebarian·
@michaelsuttonil @realvijayk this actor model is brilliant for covenants. now I understand why michael built argent. wow
English
1
0
10
648
Michael Sutton
Michael Sutton@michaelsuttonil·
@hashdag at last, a kaspa native coding episode...^^ (turns out another compiler had to be written for making the vid < 1h 🤷‍♂️)
English
1
5
96
2K
Manyfest
Manyfest@manyfest_·
I let Clau/dex vibe a UI on top of my Argent rock/paper/scissors game. The reason I’ve invested (too much) time into this is that I wanted to experience the UX Kaspa has to offer. Specifically, speed and parallelism. Speed is already familiar to those of us who have interacted with Kaspa before. Parallelism is a bit harder to actually feel when you only use KAS through wallets. To make it feel real, the game lets you, as a player, open, join, act in, and settle an unlimited number of duels simultaneously. The UI does have a limit of up to four open games, though (try to get there). The game is built around two covenant groups: The game, with League, Player, and Duel actors. There is one League that anyone can use to register a new Player. A Player can open a new Duel, and any other Player can join it. The token, which is a KCC20 token with an extended move type state: rock, paper, or scissors. When a player reveals their move, they spend a token of that specific type to the Duel. Give it a go!
Manyfest@manyfest_

@michaelsuttonil 's Argent is a beautiful experiment. Argent extends SilverScript with higher-level concepts, which makes it easy to develop entire covenant applications that express complex relations with each other ones (aka "composability"). In the image, you can see the definition of a League actor which is one of the covenants of a Rock/Paper/Scissors tournament game. League defines a Register entrypoint which emits a new player, and mints them R/P/S tokens with which they can duel. Those few lines of code express a very complex TX shape which includes two applications and 4 different actors(seen in this shitty ai-gened-img) From Kaspa's prespective, applications are nothing but scripts, and scripts can be written in many ways. For us to be able to create applications that can work with each other, we must agree and develop conventions which applications must implement. The new "kccs" github repo is the place where those conventions will be finalized after discussing them on Kas-Smiths.

English
8
35
82
4.4K
Patrick Peace
Patrick Peace@patrickpeaceful·
@michaelsuttonil @KaspaMobile @IOHK_Charles If we assume no presence of a UTXO in the past L2 state, it will still be unverifiable until a postimage is released. Any actor that is under contract for the postimage will then gain verifiable presence. This allows one to bypass the p2sh spks altogether.
GIF
English
1
0
0
111
Michael Sutton
Michael Sutton@michaelsuttonil·
A few developer-facing Kaspa updates: - sources tell me Silverscript’s audit, and hence its first release, is nearing completion - Argent has a new home: github.com/orgs/argent-la… - Argent has grown up significantly since my last report: - route planning and related graph algos - cross-app linking - compiler-model consolidation - a unified, simple and intuitive runtime tx-construction API - and many, many more improvements and fixes - demo apps now range from the most elementary counter-state example, through a full DEX demo, to chess Chess was fully ported from the manual-routing implementation that originally inspired Argent to an equivalent automatically generated routing system, completely hidden from the dev/user. Each move is verified through L1 scripts with bounded onchain script cost (<5 KB). I’m also preparing the first short video episode, showcasing live end-to-end coding of a simple multi-actor Argent app.
English
23
219
642
28.5K
Michael Sutton
Michael Sutton@michaelsuttonil·
if we assume the presence of a UTXO in the current L1 state is easily verifiable, then yes: every covenant state, including its launch details, is easily verifiable solely from info committed by the UTXO itself: - its attached covenant id, whose preimage proves the launch - its spk, whose p2sh commits to the owning contract/actor together with its current state
English
3
26
102
1.8K