Here is an extended AI exchange that started with a summary of the responses to Piers’s question in TG Main, 4 June 2024. Telegram: Contact @radix_dlt
“Hey ya’ll interested to know what kind of things you guys are enjoying in DeFi at the moment? What is your favourite DeFi protocol and why (doesn’t have to be on Radix)?
What kind of things would you want to see funded by the Grants program?”
Let’s get serious about this.
I have said that I think the complexity of the type and category landscape can be reduced to further manageable abstractions using Category Theory and that there is a reason to do this.
The point of abstraction is to find generally applicable terms so that where those terms can be applied is not restricted to one set of circumstances.
There are two further reasons to map Scrypto into Category Theory.
- Pragmatically, it forms the basis for proof of a program’s soundness.
- Mathematics is known and accepted in a way that a specialised programming language is not, so this is political, as it broadens access and appeal, as well as, again, pragmatic by inviting a wider knowledgable audience to pay attention to what is being worked on.
Here is a not fully worked example.
Let’s identify the high-level Category Theoretic concepts in the Scrypto codebase, rephrased in terms of category theory.
1. Composition
Composition in Category Theory refers to the ability to combine two morphisms (arrows) to form a third. In Rust, this can often be seen in function chaining or method calls.
Example: In component.rs
, the Blueprint
struct provides methods like call_function
and call_function_raw
which chain multiple operations together to interact with the Scrypto virtual machine.
We can see that this could be modelled mathematically or, in maths near equivalent, in Haskell.
Haskell is mentioned because much of this work has already been done in that language.
Let me be clear: this is not about rewriting code or preferring another programming language.
It is about providing well-known high-level terms that can be extended in their own right and worked into proofs, as well as mapping both ways into Scrypto.
I would expect this modelling to allow exploring extreme scenarios through simulation.
Being able to do so would also add to Radix’s credibility.
For example, if I find a use case where success would mean low-cost, high-frequency transactions, modelling the various outcomes allowing for price movement and the expense of market penetration would be invaluable.
Radix may gain traction in other ways, such as becoming essential to aspects of people’s lives and providing security.
This would require a lot of market knowledge, but it could be projects that Universities would take up.
For instance there is a problem with Blue Badge theft in London. Amazon sell Badge Protect, but is that the only or best approach?
There must be other examples, but solid investigation takes time.
Now, honing down to social media, it is possible to envisage a mechanism installed on the mobile phone, a very restricted form of the wallet, which would monitor the user’s activity so that they cannot purchase knives online or send photos to random people eliciting them. Here, of course, I’m talking about the security parents are entitled to give their children.
These are just ideas; they could be thought through and applied elsewhere.
The point is that these sorts of ideas would give Radix a good reputation.