Transcript: Mainnet planning meeting
On Monday, 26 September, the Tari community held a meeting to discuss the idea of an βearlyβ mainnet launch; i.e. one that does not have a fully-fledged DAN in place.
The transcript of that discussion is below.
CjS πππ - Today at 11:00 AM
Welcome to the first online dev chat weβve had in a while. And the first one on Discord This meeting is relayed to IRC and the transcript will be posted on our blog
tari-bot - Today at 11:01 AM
[irc] /jedusor/ Receiving
CjS πππ - Today at 11:01 AM
π Great Ok, a rough agenda is as follows:
- As per the blog post Friday, we want to decide if launching mainnet without a fully-fledged DAN is the right decision.
- If the decision is βlaunchβ, then
- 2a. Which features are included in mainnet
- 2b. What other things need to be done ahead of a mainnet launch Based on this, the core devs can go and put together a provisional timeline based on the outcomes Quick role call? Just make a noise to indicate your presence please
stringhandler - Today at 11:04 AM
Present
jorge_antonio - Today at 11:04 AM
Present !
tari-bot - Today at 11:04 AM
[irc] /jedusor/ π
Cifko - Today at 11:05 AM
here
Blackwolfsa - Today at 11:06 AM
π
CjS πππ - Today at 11:07 AM
Ok, onto topic 1. The vibe I have from the community is that thereβs a large majority that would support an early mainnet launch and continue to build the DAN with a live mainnet. So my assumption is that this motion is going to pass unless thereβs a lot of opposition now.
tari-bot - Today at 11:07 AM
[irc] /jedusor/ Quick question
[irc] /jedusor/ Does anyone not work for Tari Labs?
willyrgf - Today at 11:07 AM
Present!
CjS πππ - Today at 11:08 AM
You mean in this meeting? So far, the majority do work for TL. But not everyone
pluto - Today at 11:09 AM
Present (Tari Labs)
stringhandler - Today at 11:09 AM
also tari labs
CjS πππ - Today at 11:09 AM
In the broader community, esp telegram, Iβd guess <50% are TL
jorge_antonio - Today at 11:10 AM
TL here
willyrgf - Today at 11:10 AM
Iβm not in TL
pluto - Today at 11:11 AM
I like the early mainnet launch theme, especially if it can have the basic hooks to support the DAN later on.
tari-bot - Today at 11:13 AM
[mattermost] /leet/ π
CjS πππ - Today at 11:13 AM
For those who havenβt been following t home, our current Esme testnet has the following features:
- Mimblewimble core
- Tariscript
- Covenants
- One-sided payments (i.e. non-interactive MW payments)
- Burn transactions
So we already have a pretty rich set of features that expands beyond vanilla MW; so the thinking is that there is a solid justification for launching with this set as we continue to work on the DAN.
Blackwolfsa - Today at 11:15 AM
It should be noted we have removed the ability to do cut-through of transactions in the mempool
CjS πππ - Today at 11:15 AM
The proposed switch from side-chains to Cerberus is also a consideration.
Blackwolfsa - Today at 11:15 AM
Thats something thats in MW core, we had to remove to enable support for TariScript
stringhandler - Today at 11:16 AM
The pros of launching now would be that we get an established base of miners and other developers can start building on it, the cons may be that we donβt offer enough of a difference from Beam, Grin and other MW coins to be relevant
pluto - Today at 11:16 AM
Another Esme testnet feature worth mentioning:
- Stealth addresses for one-sided payments
CjS πππ - Today at 11:16 AM
+1. Stealth addresses. Thanks @pluto
tari-bot - Today at 11:17 AM
[irc] /jedusor/ I thought there was no point to launching mainnet without the DAN ready?
stringhandler - Today at 11:17 AM
I said it at the time, but cut through only really comes into effect if there is zero conf spends
CjS πππ - Today at 11:17 AM
Weβre rethinking that point Jeduser
Hence this discussion
stringhandler - Today at 11:19 AM
so from an audit point of view, it makes sense IMO to separate the base layer and dan layer
CjS πππ - Today at 11:19 AM
The #1 comment in the community is βwen mainnet?β. Are we being silly in holding out, maybe for another 2 years, while the DAN gets fully built out?
stringhandler - Today at 11:20 AM
itβs also less risky to release smaller pieces
pluto - Today at 11:23 AM
The Esme testnet already offers features that will enable some types of smart contracts basically out of the box, for example atomic swaps with Bitcoin and multi-party m-of-n spending scripts, also not mentioning what covenants can be used for.
CjS πππ - Today at 11:23 AM
MY main objection to launching early has been the need to lug legacy code around for all time if there are ever big changes in philosophy; but Iβm now reasonably comfortable that the interfaces to the DAN (like node registration transactions etc) are fairly stable, so even something like a switch from SCs to Cerberus doesnβt affect the base layer much at all.
willyrgf - Today at 11:24 AM
So, if launch without the DAN, itβll be add in some point of the future, right? If yes, will happen a migration to the DAN? How it will work?
CjS πππ - Today at 11:24 AM
The DAN is a 2nd layer.
But yes, Tariβs main selling point is the DAN - so thatβs the main focus post mainnet
willyrgf - Today at 11:28 AM
Thinking about the devs that can start to create something on it (in a βearly launchβ) , they will need to rewrite stuffs to be compatible with a 2nd layer, I imagine. I think it can be a friction point with the community.
CjS πππ - Today at 11:28 AM
Can you elaborate?
willyrgf - Today at 11:33 AM
Imaging that happen a launch without the DAN, in the future when it be launched, the dev community that are developing stuffs arounds the Tari base layer probably will start to migrate to the new 2nd layer. At this moment, I imagine that some things developed will need to be rewritten to run in the 2nd layer using all those new features. If itβs right, I think it can be a frustrating point to some devs that build things around Tari. Of course if the launch happens directly with a 2nd layer, probably the devs will not need to rewrite apps in the future, avoid some βfrictionβ with the community.
stringhandler - Today at 11:35 AM
I argue that putting a peg in the ground (i.e. the base layer) makes it more stable for developers but I hear you
CjS πππ - Today at 11:35 AM
just cross-posting a comment from @bibimbap on Telegram:
βActually I just read the article and itβs pretty cool
I was worried the merge mining with monero was going away but this is only for the second layer
βThe broad consensus among the core developers is that we should launch the base layer without a fully functional DAN, and bring the DAN online in a smooth and orderly fashion.β This is also good
also leaves a big catalyst for the futureβ
deniskolodin - Today at 11:38 AM
DAN upgrade doesnβt require a hardfork, correct?
CjS πππ - Today at 11:39 AM
Ok, I understand your point now, thanks.
So the core devs (and anyone else) publish RFCs regularly explaining the thinking around the DAN development. So on one hand, anyone in the community can see the general dev direction and plan and/or comment accordingly.
Secondly, the L1 smart contract capabilities are limited compared to what the DAN will offer. That said, itβs already comparable to (and because of covenants even superioir to in some cases) what you could do on Bitcoin.
But these features donβt change. So if you went and built something on L1, it would still work post-DAN, but it would be like still trying to navigate your horse and buggy on a highway full of Porsches
stringhandler - Today at 11:41 AM
Diving into some technical details here, but the interaction between the base layer and DAN layer would require the following:
- The base layer is a registry of VNs
- Tari can be pegged into the second layer via the burn mechanic
- Epochs and rules are managed via the base layer stringhandler β Today at 11:41 AM it would require a hard fork to enforce some rules, but hard forks are part of adding anything to the network there will always be hardfork
CjS πππ - Today at 11:43 AM
It will; but maybe not for the reason your question alludes to. Because Tari is not afraid of hardforks (similar to Monero), there hasnβt been much effort in putting a soft-fork upgrade mechanism in place.
tari-bot - Today at 11:43 AM
[mattermost] /pluto/ π
stringhandler - Today at 11:44 AM
I am happy with these features, however I would suggest maybe restricting the op_codes for TariScript and Covenants initially and maybe hardfork to enable them on a regular (maybe 4 or 8 weeks) schedule
CjS πππ - Today at 11:44 AM
So letβs move onto topic 2. There have been some very good questions around the topic of an early launch, but not any vehement opposition.
stringhandler - Today at 11:44 AM
i.e. progressively allow more op_codes
CjS πππ - Today at 11:46 AM
So letβs say we go ahead with an early launch. To decide on how early that might be, we need to draw up a TODO list of things that must happen before we could safely launch
Iβve gone ahead and prepped a list in anticipation of this call, but I might have missed a few things. So hereβs my provisional list:
- One-sided payments code is stable
- Burns are stable
- Validator node registration code is stable
- Emission curve is finalised and ratified
-
Stagenet code freeze.
- Audits
- Identify code to be audited
- Identify Audit partner
- Book, fund, and perform audits
- Resolve all findings from audits
stringhandler - Today at 11:51 AM
VN reg is the only point there Iβm a little hesitant on
CjS πππ - Today at 11:51 AM
There are also a bunch of nice-to-haves:
- RFCs up to date
- Aurora prepped for mainnet
- Launchpad ready for aminnet
- tari.com refresh
- TLU refresh
stringhandler - Today at 11:51 AM
the others are stable and unlikely to change
CjS πππ - Today at 11:52 AM
We could have VN reg behind a feature flag, or remove as a requirement ###stringhandler
β Today at 11:52 AM
happy with that
jorge_antonio - Today at 11:53 AM
How will it work ? If we allow that feature, users can register a VN before DAN and would this allow them to βreserveβ VNs in anticipation to the DAN ?
CjS πππ - Today at 11:54 AM
Good question π It depends
stringhandler - Today at 11:55 AM
For the audit items, I think some areas that need audits specifically are:
- TariScript and the balance checks
- Covenants
- The proof of work (specifically merge mining) implementations
CjS πππ - Today at 11:55 AM
Thereβs no value in registering before the DAN is close to being live
stringhandler - Today at 11:55 AM
for stagenet code freeze, what stops us from doing that now?
brianp - Today at 11:55 AM
VN registration happens multiple times so you could register one but you would need to continue paying to re-register it. Which seems like a wasteful endeavour. So I think the answer is yes you could, but like⦠why?
CjS πππ - Today at 11:56 AM
Freezing β audit results notwithstanding?
stringhandler - Today at 11:56 AM
I think weβll need to tag a commit for the audits itβll depend on the audit firmβs methodology
CjS πππ - Today at 11:57 AM
I think what Iβm trying to guage here is more βis this the list of things we need to doβ vs the specifics of those things
stringhandler - Today at 11:57 AM
so what have we decided so far?
jorge_antonio - Today at 11:58 AM
Definitely, it is a wasteful endeavour. I think if we launch this feature right away we should be explicit that there is no point in using it, so that users are not mislead
CjS πππ. - Today at 12:01 PM
Features to include:
- Tariscript - YES
- Covenants - YES
- Stealth addresses - YES
- One-sided payments - YES
- Burns* - YES
- DAN interfaces (template and VN registration) - MAYBE
Audits: YES!
*Burns are also a DAN interface From a base-layer mainnet perspective, is this a complete list?
base-layer NODE perspective, I should say
stringhandler - Today at 12:02 PM
Pruned mode and archival mode
CjS πππ - Today at 12:03 PM
Thereβs also console wallet, aurora, tari.com, TLU, RFCs that are important but not related to the immutable genesis block directly But weβd def include the core wallet code in the audit process anyway
stringhandler - Today at 12:04 PM
I am happy with that list
with DAN interfaces being - NOT AT THIS TIME
CjS πππ - Today at 12:05 PM
Ok, letβs conclude the meeting there.
The next step would be to take this list and map out realistic timelines for when these might be complete
Since Tari Labs will be paying for the audits, weβll leave it to them to map out that process
Thank you everybody that attended