Safe Network Dev Update - November 5, 2020

I absolutely agree with this.

How much information would be exposed? Only the unblinded transaction? Is so I don’t see a big problem, people can express the terms in which they want to transact.

4 Likes

Thank you for the heavy work team MaidSafe! Be brave for all humanity!

I add the translation into Bulgarian in the first post :dragon:

10 Likes

Thinking more through the DBC alternative:

  1. Offloading the money keeping responsibility from the network onto the client, and thus reducing the incentive for a bad actor to attack the network: the network still has to keep track of the serial numbers of spent DBCs. If an attacker can delete those spent serial numbers (or hashes) from elders, then it can double spent a previously spent DBC. Therefore, the incentive to attack the network appears to still be present with DBC.

  2. Anonymity: there was a suggestion (at think by @oetyng) when AT2 was first being implemented that anonymity could be achieved by sweeping received funds to a different address within the same wallet. Yes, there’s still a risk of elders having some view of that information but between the relocation feature and a great enough number of sections, the risk of them getting a complete picture appears low, especially if the sweeping is done client side. Was this avenue explored and maybe found to be severely lacking? It seems it could be good enough at least for a start.

  3. Performance: looking at Astro (https://arxiv.org/pdf/2004.13184.pdf) the implementation of AT2 by the authors, a throughput of 55K payments per second is achieved at 4 replicas (i.e., 4 elders in Safe’s system); see Figure 3, Astro II. At 10 replicas (elders), the throughput is close to 30K. So I’m guessing the 7 replicas in Safe would be a throughput between those numbers. This is per shard (section in Safe) and scales linearly. The 10K throughput per shard reported in the abstract is with 52 replicas. Meanwhile, DBC’s performance was reported in scriptcash to be a “few thousand” per second. Doesn’t seem to be any better than with AT2 and might in fact be worse?

8 Likes

re. the 85% network tokens

I’ve never really thought about this but there will be a single wallet with about 4 billion safe in it right?
Assuming that is correct, and the price goes even to $1 that is a huge honey pot, how secure will it be.

2 Likes

Doesn’t each section have its own wallet?

3 Likes

@Dimitar

Reducing the wallet bounty to only 571,428,571 SafeCoin or $68MM at current price. :slight_smile:

2 Likes

Do you mean the network wallet keeps getting split into more and more wallets as sections are added?
Idk, not as far as I know.

3 Likes

It does. Each split then also splits that wallet :+1:

12 Likes

doh! so we can’t just print money :smiley:
They’ve thought of everything!

4 Likes

@dirvine

Would it be beneficial to factor section wallet market value in to splitting, to balance crack bounty incentive? (risk) I recognize that would require an oracle of some form, however if Safe facilitates SafeCoin purchases directly it could be correctly ascertained.

1 Like

Ok cool, so assuming the network has 3 billion coins that has not been paid out and it has 20 sections, does each section hold an equal share and that constantly gets adjusted to maintain balance?

My initial concern though was in the very early days with only a few sections and a few wallets possibly holding vast amounts of value, is there substantial risk, especially because the network is so small?

3 Likes

That can be addressed through a controlled launch where all of the early nodes until a number of sections n are controlled by Maidsafe. They’ll likely have to do that anyway to get the initial 15% of coins owed ico and early investors.

Yes more or less, some sections will pay out more or less, but all circa around 1/20th each in a perfect world.

Me too, but it can hold them or be able to create them. Both might be just as dangerous. I am looking at this in the background right now, so we can provably payout (so network wallet is transparent) or similar such thing, such as agreement on payouts from that wallet from more than one section and so on. There are a lot of options, I am just delighted we have some head space now to attack these smallish issues (all eminently solvable).

10 Likes

Why must all coins exist in some form from the beginning? Using “loose” numbers here: why can’t the Network launch with say 700 M coins, 452 M of which are reserved for 1:1 exchange with MAID, the remainder contained in section wallets. The remaining ~3.3 B coins would be minted over time as needed, reducing the need for wallets to store massive amounts.

For example, if the Network knows how many coins are in each section wallet, could the Network automatically decide to mint x more coins such that aggregate wallet supply = y and max supply always remains <=4 B?

EDIT: looks like @dirvine answered this while I was typing, haha:

10 Likes

A function that allows for sections to create tokens sounds like a recipe for disaster.

1 Like

As the SN tokens are recycled, a “function” that recreate tokens burned seems, in any case, necessary.

1 Like

Is this how it works? That tokens are burnt when used and created when earned?

The tokens could be transferred to a section wallet when spent and redistributed from there. This way the network wouldn’t actually need the ability to create tokens, it could just start with a set amount of tokens and transact them around.

Anyone know if how this works has been decided?

1 Like

I think we need a DBC tutorial with pictures. This is getting a bit complicated.

4 Likes

Functions that ‘create’ or ‘burn’ tokens represent an inherently flawed way of managing tokens. The initial 2^32 token balance can be hardcoded to exist at genesis. A ‘move’ or ‘transfer’ function is all that is needed from that point forward.

Unknown. There have been many proposals.

3 Likes

Functions that ‘create’ or ‘burn’ tokens represent an inherently flawed way of managing tokens

Hear hear, think we’ve all seen enough shenanigans and wild exploits there. Much attack surface if some random section can create coins. Just a vocabulary adjustment, burn = send to section, create = pay out = send from section. Split = divide coins into the new sections.

1 Like