AMA Session with Dan and Piers

Since most of us can’t answer all the technical questions, if you’re interested in technical issues like me, I recommend you watching the AMA sessions with Dan (founder) and Piers (CEO) on YouTube.

This is the new one: Radix Technical AMA #11 - YouTube.

Personally, I really appreciate the great efforts of the team to openly discuss technical issue they are/may face along the roadmap with everyone of us really interested in the project. The AMA sessions focus on these technical questions and some of our questions might even have already been answered there.


Good initiate!

I say let’s be more detailed and list all AMAs with timestamps. Please edit my two reply in one, because this is too long. :slight_smile:

Part #1

All Radix AMAs can be found here.

AMA #1:

  • 1:06 Other projects like Near , Elgorand are taking cautious steps about their sharding deployments on their mainnet. Eg: Near currently is single sharded and they plan to enable 4 shards in the coming days before proceeding further. Though radix doesn’t follow dynamic adaptive state sharding, do you anticipate that there will be a minor milestone release before Xian which followsstrong text a similar approach that was followed by other projects?

  • 5:03 Lots of discussion recently about what defines atomic composability. It could be argued that asynchronous cross-shard approaches like Elrond could be defined as atomic as they are still 'all or nothing. Is Radix able to achieve fully synchronous cross-shard composability, and if it is not, what is the biggest differentiator Radix has with regard to composability? Part 2 On state provisioning vs state yanking Is Cerberus state provisioning like state yanking? Is the crucial difference that it is part of the same consensus operation instead of spread over multiple ones?

  • 30:40 Cassandra is being used to prove/demonstrate Dan’s research work, but that will have a very different codebase to what we have on mainnet right now. Does Dan oversee mainnet development to ensure implementation decisions made now won’t impede his vision of where he wants the network to be 5years+ down the line?

  • 37:20 On the spectrum of centralized vs decentralized: development of the network protocol How do you see the development of the network protocol progress? Currently, it is centralized with Radix DLT ltd. being the sole protocol manufacturer. This is fine to in the early phase of a protocol. But will that change over time? Will it become more a community effort, not solely in the hands of a single team? I know it’s open-source and can be forked but will the team at some point open the door for external contributions?

  • 44:25 I have a further question on the subject of royalties. Are all royalties recorded? Are they available publicly, partially public or not at all? That is entirely private? If they are available publicly how fast and efficiently is this metric updated?

  • 48:09 Are there plans to introduce time constraint component invocations/executions without writing client-side code for timeouts? ( Eg: let’s say define a timeout behavior on execution of component at runtime to either commit / revert / timeout tx based on dynamic nature of parameters by dapp)

  • 54:55 the current iteration of mainnet requires, as i understand it, validators with a total of 67% of delegated stake to agree in order to reach consensus. Is there some quorum of actual individual nodes that is required? If, for example, 5 nodes had 67% of stake, could they reach consensus even if no other nodes were online?

AMA #2:

  • 00:00 - Intro

  • 00:53 What are each of the stages in the Radix roadmap.

  • 03:10 Background on Dans #Cassandra research and why it’s important to the Radix roadmap.

  • 08:50 How Cassandra came about.

  • 11:00 Discussion on liveness, safety, finality, and probabilistic consensus.

  • 27:50 Starting from the ground up with Cassandra and defining what’s possible.

  • 29:10 What Cassandra does. (Hybrid consensus)

  • 39:30 Piers summarises in layman’s terms.

  • 41:10 Adjusting validator sets in case of a liveness issue.

  • 47:35 The consensus optimization level Dan is trying to get to.

  • 52:50 Closing comments on #Cassandra and Twitter demo

AMA #3:

  • 00:00 - Intro

  • 02:54 Many-to-one transactions. Suppose you run a popular global coffee shop. Suppose it does 10 thousand sales per hour to 10 thousand different people buying coffee. Suppose you want to run your transactions through a single coffee shop wallet on the Radix network. These transactions are related because of the central wallet and coming in sequentially so it looks like Cerberus won’t process them in parallel. But if they have to be done one-by-one, then a finality of ~10 seconds (~360 transactions/hour for related transactions) will not be enough… How would you be able to get 10 thousand sequentially related transactions through a central wallet in Radix? In a blockchain transactions would be accumulated into block and then processed as a batch. Could something this be done by a to-be-build blueprint/component in the catalog that does some accumulating and batching for intense-throughput wallets?

  • 13:07 One-to-many transactions. For instance on a DEX (Decentralized Exchange): suppose I set a limit buy order for buying 100 thousand XRD at USD 1.0$. My order may hit multiple sell orders, but perhaps there are not enough sell orders in there to completely fill the limit buy order. Or perhaps one of the sell orders is canceled while processing the transaction so that there is not a complete match. In such cases, I would like a partial fill of the buy order, rather than no fill at all. But since Cerberus is aiming for all-or-none (atomicity) will this mean that the limit buy-order will be filled entirely or not at all? If so how can this be solved in a smooth way by the DEX developer?

  • 16:56 Taking this on a more general level: can you think of some other use cases where atomicity might be a burden for practical purposes?

  • 27:09 It has been stated that Scrypto compiles down to Finite State Machines. Is the road open for developers and auditors to eventually be able to generate diagrams that visualize the behaviour of code and are expressed as possible states and valid state transitions between them for Radix components? Predictability of code behaviour would be boosted by its visibility. PS. Question is inspired by a lecture recommended by @ITProfligate about the computer scientist ‘Edsger Dijkstra’.

  • 28:55 Whats your take on the modular vs monolithic chains debate? (See for example…). Is it just a change of narrative/perception (L2s were being braodly considered patches that broke composability and now are the “ultimate solution”)?

  • 36:46 I am curious to hear about the ways bad actors might compromise or exploit the network or other users, and how the radix has been designed to prevent or disincentivize that

AMA #4:

  • 00:00 - Intro

  • 00:35 Q by phwaa: Hey dan hughes. I’ve come across a project called cell that’s looking to solve the challenges presented by the shift to quantum computing. Is this something that’s on the teams radar? And if so, what amount of work would be involved to update the radix network to support these new cryptography methods?

  • 16:18 Q by Don Logan: Is Radix based on Chainspace? What % of Cerberus code, if any, is from Chainspace?

  • 18:35 Q by Chris: Have smart contracts on a sharded cerberus been demonstrated or is it still purely theoretical?

  • 21:50 Q by AS: The Quadrilemma has been solved. Dezentralized Twitter has been presented. What is left that takes so long for Xi’an or even Babylon to be released? I understand that Scrypto is one big point, but it will be released EOY. So, what’s the (technical) problem with releasing Xi’an in let’s say 06/2022? Or is it more a strategic than a technical challenge?

  • 35:41 Q by Blind5ight: On-demand scaling ~ economics Node incentives are decoupled as far as I can see from network traffic since tx fees are not used to reward node runners How will the network incentivize additional nodes?

  • 39:31 Q by charrrrrlie: Regarding finality - are there any ways that it can be reduced to ~1 second levels? For “financial” applications i think 10s is fine. But on the morning commute i just don’t know if it is fast enough. Waiting 10 seconds for a payment for a coffee is a decently long time, same for buying a packet of crisps. For tapping into public transport it’s completely inadequate. Though, for public transport, dedicated cards can be used, but being forced to use them feels like a step backwards. Some musings on the topic: I know consensus is deterministic, but is there any probabilistic portion of a transaction (eg within 2s you know that the transaction is almost certainly going to go through)? Layer 2s have also crossed my mind, as i think the transactions you want very fast finality for you generally don’t really care about AC.

  • 54:09 Q by Mr_TMA: Can the royalties be adjusted along way to then, to adapt to demand? And if so: it would be quite annoying if royalties can be adjusted upwards, since there are probably high switching costs / big lock-in effect. How will this work?

  • 55:44 Q by ahsimon: Could you explain the execution model for Xi’an. Suppose there is a DEX on Xi’an, and 100 different users “simultaneously” invoke the DEX to perform a Scrypto transaction that has the intent “swap 10 of my XRD for some USDC”. It is my understanding that, just before execution by Cerberus, a specific 10 XRD will be assigned for each of the 100 user requests. For maximum execution parallelism, I expect that a single shard will perform the transaction execution for each user and that the single shard used will be pseudo-randomly chosen from the 2^256 shards, so that the execution of each user request occurs on a different shard. (1) Is this correct, and if not, why? (2) What happens if 100 is enough of these simultaneous user requests so that the DEX’s liquidity pool of USDC is completely consumed. This is admittedly an edge case. Can I assume that Cerberus fails safely? That is, some random (dependent on message latencies) subset of the 100 users will get their USDC, and the others will get a failed transaction and keep their XRD. (3) The creator of such a DEX might want to make sure that a user can specify such things as “fail the transaction if the amount of USDC received is less than a minimal amount or price the user specifies”. Can I assume such rules can be expressed in the DEX’s Scrypto code?

AMA #5:

  • 00:00 - Intro

  • 02:20 - Why if every transaction is multi-shared would you not end up with a increased finality due to increased numbers of shards groups?

  • 19:34 - Why does the shard space not need defragmenting?

AMA #6:

  • 00:00 - Intro

  • 1:00 - 6:23 by Will Is radix going to support a decentralized DNS like the for eth?

  • 6:25 - 16:20 by SelectivePrime Hello Radix Team. I ask myself how ‘elastic’ Cerberus actually is. Elasticity means a sudden increase in throughput (TPS) need. As an analogy imagine eBay, during an auction most concurrent bids happen at the last 3 seconds, but many at the same time. So my Q is: can Cerberus deal with spikes like that. If yes, what are the limits?

  • 16:24 - 25:50 BLind5ight Sushiswap case and what it learns about DeFi DeFi = finance code ran on top of decentralized infrastructure:… But what if that code is in rather “centralized” control? Is it still DeFi? What’s your take on the type of control that’s necessary over these protocols? Inspired by the Sushiswap drama:…

  • 26:00 - 34:10 Q by n00bomb Can we get an AMA on distributed crypto-safe random number generator? there are a whole class of applications that requires such functionality – games for example and technically, this won’t ever be safe from off-chain or from a smart contract and must be done on chain. Is radix going to have an on chain random number generator?

  • 24:24 - 38:33 Y. Q by Maximum Is it possible a heavily targeted spam attack (pointing at 1 address) could potentially cause problems? Target validator set tps is around 1000tps iirc, which would need $10/second to spam into submission. Not unfeasible if enough is at stake.

AMA #7:

  • 0:00 Intro

  • 02:36 - 8:40 From Sourena (Two Questions) So as the Cerberus infographics reads ‘the membership of each validator set shuffles periodically…called an “epoch”.’ Considering that in the future huge amount of data will be stored in each shard, and that data is not shared between different shards, does it mean that after each epoch all of that data in the network has to be reshuffled?

  • 8:43 - 14:02 -Which algorithm takes care of the minimum number of nodes per each shard, so enough data redundancy and decentralisation will always be guaranteed?

  • 14:04 - 19:21 If I hold 10 percent stake thereabouts and have lots of validators and simply wait until I get grouped into a shard with a few of them where I have control; it’s not targeted per se I just wait until I control a majority vote in one shard group by simple sorting; say there are 10,000 shard groups and I have 10 percent stake; I would expect to be in control of the shard group at least once in a reasonable amount of time. Is there a concept of challenging, e.g. fishermen or hidden validators, or is there another guarantee that I wouldn’t be able to do a lot of damage, or is my assumption incorrect, that I couldn’t control a shard group?

  • 19:45 - 29:57 Dan expands on theoretical long-range attacks.

  • 30:06 - 35:57 From Mojito Finance Is the team prepared for regulations similar to the ones in Estonia that seem to ban non-custodial wallets?

  • 36:08 - 41:31 Any thoughts on the feds Open CBDC pilot that claims 1.7 million transactions per second? 42:32 Conclusion

AMA #8:

  • 00:00 Intro

  • 01:52 Q by cryptocactus 1) What are your thoughts on using the Radix way of sharding in the non-crypto space for regular centralized databases? Might the design of many small shards with unique shard-ids provided by the SHA256 hash function have usecases there?

  • 11:52 2) How crucial is the near-uniquess property of the SHA256 hash function for the Radix ledger? Is it a necessity to make the combination of shardiång + consensus work, or is it there because it gives good performance (e.g. in parallellization)? Would it be possible to use a simpler hash-function that maps substates into buckets, or would that break the whole design?

  • 15:59 Q by FR05T8YTE On Xi’an will there be a minimum stake? If no, how will the network resist a sybil like attack where the network is flooded with malicious validators? If yes, how will the minimum be set so it is high enough that a sybil like attack would not work, but low enough that enough validators can join to provide scalability? Could a dynamic minimum stake based on average TPS be used? On Xi’an, if low stake validators are grouped with other low stake validators and high stake validators grouped with other high stake validators, would this not lead to the value of stake to network security being diluted? If this is a problem, would it be possible to split validators into multiple equally sized virtual validators which would have the side effect of forcing larger stakers to provide more scalability?

  • 25:40 Q by Che.Stuart I am ultimately wondering if Radix would allow individual clients, such as a smartphone, to interact with the blockchain as a node itself, but obviously I don’t understand enough to know how that affects staking. Nevertheless, if Radix’s approach to POS (again, assuming I have understood all these terms well enough) balances the ratio of clients/servers, I think I would be permanently sold.

  • 28:48 Q by Che.Stuart Writing a novel but I have a second question, much more general? Is there something about Radix that makes it specifically oriented to DeFi? If not, why market as the ultimate DeFi solution? Why not just market as the ultimate blockchain solution?

  • 42:08 Q by Ciprian 1. What happens with substates when Alice transfers 25 XRD to BOB. Will Bob’s new substate be linked to both Alice and his previous substate, or is this a single link (like a chain)? In this line of thought, getting the history of all the transaction made by Alice for example you would first search for the active transaction made by her and then go backwards through all the shut down nodes since they are all connected through the logical clock mechanism? 2. How do you search for the active transaction inside a shard? Are the active transactions inside a hashmap so that you can search for them faster, on in a tree-like structure? 3. What is the maximum amount of data that can be contained in a ledger entry (substate)? 4. Is there a pruning mechanism so that shards don’t become too large? From what I understand shards only operate on active transactions (brought up), those that are “shut down” are only there for history. Are the old transactions somehow pruned from a shard so that it can operate faster on the active ones? 5. Based on what metric do you decide that a transaction should go to a different shard? 6. What happens if you want to move a transaction to a new shard but you don’t have enough nodes to validate it?

AMA #9:

  • 00:00 - Intro

  • 01:17 - 11:16 Dan talks about validator consensus mechanics

  • 11:24 - 18:44 Pierres asks why bandwidth is a problem

  • 18:46 - 32:46 Dan and Piers talk about BLS and the issues of signature aggregation

  • 32:47 - 37:30 Dan asks what the difference between subjective, weakly subjective, and objective mean in the context of signature validation

  • 37:33 - 50:19 Dan discusses transaction proposal ordering and transaction complexity

  • 50:20 - 52:54 Dan talks about how BLS can manage large vote proposal volumes

  • 52:55 - 54:40 Summarisation of talk

  • 54:41 - 55:29 Conclusion


Part #2

AMA #10:

  • 0:00 - 0:30 Intro

  • 0:31 - 11:02 AMA: What exactly is the difference between the block notion that is used in most crypto technologies and the states in radix?

  • 11:06 - 15:55 AMA: Cerberus seems to be referred as an additional layer over the radix engine, does this mean that emergent cerberus logic will run on a different node that braids the qc results obtained from the validator node leaders of each shard?

  • 16:07 - 20:08 AMA: Any ideas on if and how we would have to pick validators, say… 5 years into a future where we have (tens of) thousands of validators? No one’s going to look properly for validators then if they sometimes already resort to the easy top 10 now. Where would one even start?

  • 20:12 - 21:40 Piers and Dan talk about the existential implications of services that select validators for you vs doing the research yourself as it relates to how Radix might look in the future

  • 21:46 - 23:42 Dan talks about what goes into the decision of either choosing a validator or becoming a node runner

  • 23:45 - 26:21 Piers and Dan talk about their philosophical differences as it relates to validator selection

  • 26:22 - 27:43 Piers talks about a conversation he had in 2017 about running nodes on TVs.

  • 27:44 - 31:44 AMA: Does the team figure out the sweet spot that can satisfy nodes and still have unlimit tps and makes people whose stake XRD get enough reward? (the video missed a “Q by XYZ” tag used by the first couple questions)

  • 31:45 - 33:27 Piers expands upon the current fee model of Olympia

  • 33:33 - 34:45 Dan talks about additional considerations for validators

  • 34:46 - 37:03 Piers and Dan talk about ledger bloat prevention

  • 37:06 - 39:02 Piers and Dan discuss emergent behaviour of the network from an economic standpoint and optimal validator behaviour

  • 39:03 - 39:15 Piers mentions the question with regards to metrics will be saved for the next roundtable discussion.

  • 39:16 - 48:23 AMA: Chen and Eden, young couple with a child, both successful careers want to buy a house. They have some savings and want to use their jobs/wages as collateral for a mortgage. How will defi help them? (Also missed a question indicator tag)

  • 48:24 - 48:56 conclusion

AMA #11:

  • 0:00 - 0:28 Intro

  • 0:29 - 24:20 Right now there are talks of Russia “shutting down the internet”, and erecting a great firewall of sorts. On a sharded Cerberus network, what would happen in this scenario? Could we see liveness breaks, or even loss of data from the network? I’d be interested in what it looks like on both sides of the wall.

  • 24:21 - 31:16 With the Xi’an release, what would be the maximum amount of validators running over the same internet connection without reducing network performance?

  • 31:17 - 37:47 Would it be possible to compose a transaction in xi’an that touches every shard/validator group and thus slow down the network? Whilst other unrelated transactions can still be processed, that transaction can be spammed to slow down the overall network. Is such a ddos style attack possible?

  • 37:48 - 38:38 Piers gives Dan a quick-fire of questions from r/Radix

  • 38:39 - 40:11 UTXO Based architecture, similar to cardano, currently this is unsharded and won’t be sharded in Xi’an in 2023. What are the potential issues in going from theory to actual engineering the system architecture?

  • 40:12 - 42:29 Radix boasts 1.4 M TPS in simulation using Tempo consensus; Radix’s website states that it’s currently 50 TPS, but a recent Jepsen report states that it is closer to around 16 TPS.

  • 42:30 - 44:34 Does Radix also look at throughput, not TPS, being a UTXO chain, does it allow multiple tokens being sent as a single transaction, and what is the size of this in kilobytes, what is the maximum size of this that can be sent, and is there an adjustable parameter?

  • 44:35 - 46:39 DEX being developed on Radix: Will they be able to handle order book style dexes as well as AMMs, and is there any [active] development?

  • 46:40 - 47:15 Does Radix have probabilistic finality currently at 20 seconds but 5 seconds in the future?

  • 47:16 - 50:15 What is Radix’s storage solution for archiving? How big is the current blockchain? I can’t seem to find current data on this; What is the long term plan for storage so the blockchain doesn’t become too bloated?

  • 50:16 - 51:28 Validators and nodes (I think I counted around 100 active nodes from this explorer website) - what is the current total number distribution of these based on stake; how decentralised is it compared to other chains?

  • 51:29 - 51:43 Conclusion

AMA #12:

  • 00:00 Intro 00:55 Can Dan do a GT Academy #AMA or stream? It’d be great to hear him talk about the team and the dream!

  • 07:20 What do Piers and Dan think of the current UST/Luna saga and what do they take from it in regards to the (potential) Radix stablecoin?

  • 23:16 Question about Ledger updating Radix App for Babylon.

  • 27:19 I was just reading about the reason for the unstaking delay for another member’s question and it came to my attention again (forgot) that the delay period may be temporary. My questions are: 1. When will the “more automated mechanisms become available and/or are they being worked on right now”? (please read… under unstaking to understand my question) 2. If there are no plans to change the delay period, what are the reasons for this? 3. After these mechanism have been implemented when will the community be able to vote on the unstaking delay length they deem acceptable? (This question is void if there is no plan to change the delay period)

  • 35:57 Vitalik once criticized Bitcoin for having fees as high as several cents. How do we know gas fees on Radix will remain low in the future?

  • 43:45 Are there any ideas on the instapass service for dApps already? Will there be identity NFTs, how is the timelines and will this service comply to other counties in the World/EU other than GB?

  • 45:54 Can we speed up private transactions? it seems a bigger request from businesses than anticipated, and therefore for adoption. I’d say it’s more important to have even with 50 TPS before Xi’An. We can’t build ecommerce for example with full transparency, not to mention more sensitive transactions for businesses that need to keep their flow of money private. Can we build faster some workarounds maybe on Babylon? like deposit pools to mix transactions? or use ZKSnarks? We were chatting in community about scrypto components that might do just this, private transactions.


@TamasH This is a brilliant idea and your efforts to post all of the AMA together is something crazy!

My suggestions:

  1. I think it will be useful to gradually update this thread everytime a new AMA episode is released.
  2. Opting for the clean structure of your AMA #2. Writing too many details (see AMA #3 or #4) could distract the reader attention, making it too difficult to find the topic he’s searching for.
  3. Clear structure: brief description + bold font to highlights the key words.

Something like this: