How hard would it be to develop a 'crypto currency only' close-group-consensus network based on SAFE network code?

Only if it were very secure & reliable, with sufficient fail safes in place.

I have a suspicion that it could be easier to secure data on a network with a tiny load & relatively low performance requirements, compared to a network with a heavy load and high performance requirements, but could be wrong.

This may be the case. But even if nodes could handle lousy amounts of data compared to what the SAFE network will enable, it may still enable very high performance compared to blockchains for a token and crypto currency platform.

Perhaps even a crippled close-group-consensus network could greatly outshine blockchains for some purposes?

Thanks for the opinion. My question is what energy would be required? If it’s a big amount, it may not be worth the bother… if it’s a few weeks of quick & dirty hacks by some clever devs produce a positive result, it may be worth the bother.

hmhmmm - to be honest i can’t really estimate that … i think the replication count is just a number somewhere … but how do we introduce a rate limit? where can we do it and where would it cause instabilities? only coin storage? where do those coin come from? if not only coin storage (e.g. for the wallet app) how do we ensure it’s only this wallet app and nobody can bloat the network? we need account creation limitaion because otherwise the network would get filled with accounts again (like in the last open test network) … so many things to consider …

i’m pretty sure it would be easier than the real safe network … but maidsafe is a lot of manpower and they know the code … hard to believe we could pull off something like that in a short time …

… as does a centralized server … and we would probably need to whitelist vaults + clients … so people could again argue that we are not at all delivering anything of what we promise …

(and if you allow other token like the project decorum coin then there is again the question how to secure the network agains spam because you can’t discriminate that from just spam data)

…not really having a clue here … but I personally would expect it to be a very big amount of work because you would first need to dig into the code to understand what is done where; think of all attack scenarios … and try & adjust the code so that your network survives those attacks … and you would need to consider that your attacker could run a different vault software as well (e.g. the unmodified standard software) … so you’d be again at the point where you need to protect against additional attacks scenarios …

3 Likes

Yes, yes, and yes.

IMHO all that energy could be better put to use by helping with development of the actual safe network.

3 Likes

That’s included in the Alpha network code, though I can’t be sure it’ll do what I’m thinking it will (constrain the demand each node puts on the network to keep load on the network low).

From some kind of initial distribution, plus ongoing proof of stake based distribution, similar to any proof-of-stake crypto. (the proof of stake mechanism would need to be developed).

Nobody would have any ability to upload anything to the network other than account details. Wallet providers would have pre-assigned space and the keys to it so they can update. There will be no general data uploading on this network, and anything that uses resources (transactions, updates) will require a fee, so won’t be spammed.

Was the open test network spammed only by accounts, or by data that those accounts uploaded? If it’s just accounts, then yes, mechanisms would be needed to prevent abuse that affects the network stability. Rate limiting may be one of these.

May be right, hence I’m looking for opinions on what would be required and how difficult it would be, so thanks for your contributions to this discussion.

This would be a decentralised network, so not comparable to a centralised server.

Why would you the network need to whitelist vaults and clients if they can’t spam the network due to inability to create a large load on the network, plus fees for anything that uses network resources?

You don’t need to discriminate anything - just charge for everything and it won’t be spammed unless someone wants to somehow acquire an awful lot of a scarce asset (needed to pay for all transactions) to create the spam… but then it’s just paying nodes for their service.

There certainly would be a lot to think through. Whether significantly easier solutions for each problem are possible with a smaller, more restricted, and slower network is the key question here.

It would be great to hear your technical reasons for why it wouldn’t be possible to create a ‘lite’ close-group-consensus network stable well ahead of finishing the full SAFE network.

What issues that led to the test networks failing couldn’t have been solved by greatly limiting the load on the network?

yupp the attacker just created millions or billions of accounts

in that case we wouldn’t - but yeah - i completely forgot your goal here … the currency … if there’s no farming and you charge … what do you charge? should the coin be divisible? if no how much do you ask for for each action? do you work with some kind of ‘action balance’ like the put balance …? how is this stored? i guess as data on the network … so … there’s the first non-coin-data being stored on the network …
would ‘charge’ mean destroy or ownerchange to network? the proof of stake algorithm would be kind of a farming attempt … so … as you already said that would need to be developed too …

i did write some crappy apps for the network in the past and that didn’t take me more than a couple of days (or even less) … but what you want here is a proof for everyone to see that the network will be super-awesome and superior to all those blockchains … thats not some crappy thing that sometimes runs and sometimes not and only devs will get up and running (and that consumes up to 50% of processing power just to power a chat xD ) … thats real developers work … i’m sure you saw what @shane did the last weeks … he is an awesome developer and the result of his work is super amazing …
…but just compare in your mind the tasks you ask for here with the task of creating a CMS … thats a mammoth task you are suggesting …

ps: i tend to underestimate the amount of work for tasks most of the time … but in this case i would say it’s way more development time necessary to make it happen than you expect … especially because it wouldn’t be people who already are familiar with the codebase who would need to do it …

3 Likes

they didn’t fail but they were not bullet-proof … and the current alpha network isn’t either

1 Like

That would need to be made impossible then. Rate limiting may do that to some degree, or perhaps forcing nodes to be online for some time before they’re able to sign up.

The network would have a native currency equivalent to Safecoin, so yes, this would need to be implemented, which I have the impression isn’t a big task - it’s getting the network secured that’s the tough bit (plus all of the extra features like proof of stake, ‘farming’ transactions). Ideally it’d be divisible, but yeah, and equivalent to ‘put balance’ could be used. There would be a number of non-coin data on the network, mainly just wallets though - ‘put balance’ would be considered a token / coin.

‘Charge’ would probably mean owner change to network, and this would either go into the ‘proof of stake’ pool along with the allocation, or possibly into another pool to enable new nodes to earn a balance without staking by handling transactions (each transaction could act like a farming attempt in this case).

Indeed the requirement is high, but given the huge amount already available in the Safe network code, I’m trying to gauge how much additional work would be required.

If it could be done with 5 or 6 devs in 2-4 months, it, might be worthwhile… if it’s more like 15 devs for 18 months, then there’s no point, as the SAFE network may well be up and running!

I’m guessing you think it’d be more toward the latter?

It probably wouldn’t be people familiar with the codebase, unless MAIDSAFE felt they wanted to create a valuable proof of concept ahead of the full network to boost interest and demonstrate progress… but given their focus and determination, that would very much surprise me :smiley:

1 Like

my intention would be yes - solely because of the diversity of tasks involved here 5/6 people wouldn’t get something impressive finished (or anything doing parts of what the idea here is) within 4 months of time i would assume … and you have to factor in unexpected difficulties too … together with the hardening agains attacks we’re probably way closer to the 2nd one … (we might have test coin implemented in the alpha networks before this project gets ready…)

…but i’m nowhere like an experienced developer/project manager … just a little programmer that plays around with different languages EDIT: (okay maybe i should say that i played around with html,php,js,assembler,pascal,basic,ruby,java,VHDL,AHDL,ruby,c++ (and 3-4 more that are less interesting…) and i work with a pascal like language and python most of the time at work … so i’m not too experienced in the majority of them but i’ve already looked into the basics of quite some languages … and i worked as sever administrator while studying and managed the company network there and do have some experience when it comes to that networking stuff … so my knowledge is not too deep but pretty broad … and i don’t claim to be competent … but i think i’m not completely incompetent either :wink: )

would surprise me a lot too xD

2 Likes

It’s a valuable perspective; I’ve never developed any software, and given the complexities, you may well be right.

If (big if!) the network could be made stable relatively easily by limiting resource requirement & applying small tweaks / hacks / constraints, there would be other significant developments needed, including;

  • Coding the main currency (let’s call it CGC coin,for close group consensus), proof-of-stake, and possibly ‘farming’ mechanism to reward those processing transactions, even if not staking (this is all big; no Safecoin code exists yet to modify as far as I’m aware, so this may be the biggest task, even if the coin its self is just MDs)
  • Recovery / receipt / ledger mechanim of some kind (I don’t know how this could be achieved, so is an unknown… could be easy, could be impossible - probably vies with the above point as biggest task)
  • Coding the wallet software, with transaction fee features (some existing examples are available, probably not a huge task)
  • Coding node software that is like a limited Safe Browser, possibly with some additional ‘hard coded’ elements, or ‘pre-loaded’ MDs etc that nodes automatically host as soon as they join the network (wallet software, help files etc)

There may be more, so it might be more than a few months work for a few devs… but if any ambitious / creative devs with good understanding of the network think it sounds possible, do let me know :slight_smile:

1 Like