Pre-Dev-Update Thread! Yay! :D

Does this mean a section currently has exactly 7 elders and between 7 and 14 adults?

3 Likes

7 Elders + 7 Adults at least. To split it needs 28 nodes min, circa 30 nodes for split tho as nodes are not 100% balanced in address space.

12 Likes

In previous testnets we used only at2 but don’t have measurements. It is likely that it would be approx 50% of that with the network doing additional wallet updates, some/mostly remote. What’s nice here is the client has the Dbc, so no wallet needs agreed/updated and at the same time no wallet transaction records, which is a bit leaky.

12 Likes

Fantastic achievement at 19,000 tps. Your vision is starting to become a reality I feel. Again, perseverance prevails.

Question - would 50,000 tps truely satisfy scalability in your eyes? Or are you thinking you can go way beyond this?

2 Likes

I am sure it is. Other projects seem happy with 7tps but I am not sure that’s close to enough. For humanity to store lots of data, post lots of comments and trade in tiny amounts (for less well off countries this is important) with no tx fees then I feel we have to be this fast and light. All good news for humanity I say. Soon folk will know much more of Safe and I think it will open many eyes, but more importantly we can get to folk other projects cannot.

A lot of background work in UX happening in parallel and just as important.

28 Likes

Moving 19000 coins from one wallet to another is 1 transaction or 19000? Any batch fix?

Whichever way you want. The test is 1 → 100 transactions. We will add more tests for lots of different transaction types (many in → many out, 1<->1 etc.).

With Dbc the amounts transferred make no difference, so move 1,000,000 SNT to 1000 different wallets for instance is likely sub second for the network. To be clear the slow thing is validating and aggregating sigs, but for us that is all client side and not network side. So the client might see a few seconds delay, but likely imperceptible really.

22 Likes

I maybe mix things up with the data problem. With data every MB has to be signed, until possible fix, is it similar with coins or is moving example 19000 coins at once, one transaction and one signing round?

1 Like

Would love more info on this :slight_smile:

4 Likes

Balance is now a number held in the wallet (or is it still token balance)

The transfer just specifies the amount.

2 Likes

Or have a contract attached showing the payment was made for that chunk. So instead of section sig there we have clients pay a storage cost. They apply that to the chunk and send to network for storage. We keep the “contract” with the data as it’s proof it was paid for. So no more need for client pay, sign at data section and sign again at store section and distribute funds. What I am keen on is an additional mint rule. so the contract to store is basically 1st closest, 2nd closest to data name. If you are such a node you collect these up and re-issue to yourself. So the min recognises, "oh you are X closest, so here is your payment.

That is much slicker and means client don’t need to query wallet addresses to pay etc. It’s all part of the contract.

Simpler UX “steps”

  1. Encrypting data
  2. Paying for storage
  3. Sending data + payment (contract) to store on network

That was we can see the steps and it’s nice and clean.

16 Likes

A typical day at MAIDSAFE: “Did you know we are building freedom and security for everyone, and a brand new internet?”

Me: Yes, I’m very excited about this…

MAIDSAFE: “oh, and just a side note, we’re also offering scalable micro-transactions at over 50000 tps, which means we’re going to save the planet on an economic level; including all the poor countries that everyone else ignores, and make any other crypto project feel like they should take their ball, and go home.

Me: :exploding_head:

Thanks for blowing my mind once again, when I least expected it.

23 Likes

Can you start the upload a huge file, of say many terabytes, prepay and finish the upload for that price, even if the network’s price for data changes numerous times while you upload?

10 Likes

Yes you can and that’s safe as you have a contract to store that. So the network says, it’s paid and cool, we will store that if we ever see it. This also allows data republish nice and simply as well.

19 Likes

For my reference, David. Is the cost of each byte of data being put on the network being calculated depending on file size? I can imagine that for example 1 GB could be $1 to store, but 10 GB could be $11 at the same time. I’m aware these numbers are probably nowhere near accurate, but lets say there will be a time where putting data on the network is cheap. You wouldn’t want people to reserve 500 TB worth of data storage all at the current cheap price, right?

4 Likes

Yes, that’s true, however you cannot do that. The contract for that data has it’s name in it. That means you can only store the exact bit of data you paid for. As name == content hash then there is no way to game the system.

For mutable data we still need to work out details, but again I am keen those are all 32 byte fields and you pay per field. That keeps cost even and also allows the contract to state which field you are paying for. So again no gaming there either.

13 Likes

So contract is per PUT, though you can in effect pay for all the chunks (every PUT) in a large file before the file itself is being delivered to the storage nodes along with payment?

So it is a limited kind of prepayment, but only for a known set of chunks rather than arbitrary storage for chunk that are not yet known. Neat!

14 Likes

Yes that’s it. The contract is a Dbc really but on with a reason field. We can expand on reasons and then different reasons will take a different flow when minting. So this could be quite powerful. For data it’s really simple.

Some will call it smart contract but we are keeping it simple for now. However later when it’s up and running I imagine a lot of different reason fields for many purposes:

  • Buy some cpu power
  • Enclose or label an NFT type digital asset (so a receipt)
  • Different currencies
  • OMNI → SNT (this one is quite easy)
  • Erc20 → SNT (ditto)
  • Allow re-issue (mint) only when X happens (x must be measurable)

And so on, it’s quite flexible.

35 Likes

Simple Safe Contracts are better than “Smart” Contracts.
You guys really hit gold with this with regard to the new payment method and all it entails. It’s what we’ve all been hoping for.

24 Likes

Below are quotes from a while back that made sense to me.

7 Likes