ZeroCoinOrganization / Zerocoin-wallet

1 stars 0 forks source link

Genesis block (500m ZNC generated) #4

Closed danimesq closed 2 years ago

danimesq commented 5 years ago
d14na commented 5 years ago

Without fees anyone can just take a non-zero amount of coins, split them to fractions accross hundreds of addresses and transfer them back-and-forth 24/7. That generates enough valid garbage to make the blockchain huge in a week.

@DaniellMesquita this is referred to as a Sybil attack; and it will quickly destroy ANY blockchain. This is the reason why EVERY blockchain has some FEE (no matter how small) for EVERY modification made to the blockchain.

I don't think so, ZeroNet can really be scalable without need to pay even a little fraction of cent.

I respectfully disagree.

I've been in this field for about 6 years now, and any project that's ever claimed to be fee-less has failed. Many, many, many have tried, but they all make promises they can't keep. Again, I'd strongly recommend you consider my Stellar recommendation, as they are one of the cheapest blockchains (or ledger if you want to be technical); and unless you're planning on doing a lot of smart contracts, probably the most mature for your purposes (primarily as a currency). Even if you don't build on top of their tech, you may consider just forking it and making it your own.

The OTHER problem, is that you CANNOT control the VALUE of your coin once its on the open market (ie trading on an exchange). So the cost per transaction will fluctuate and potentially become too expensive for the average user or someone with heavy engagement with the blockchain.

The bottom line is that these are problems that NO ONE has really solved yet. A LOT of people are trying though and there are HUGE rewards for the team that makes it happen. My bet is heavily weighted on Ethereum to eventually do it.

danimesq commented 5 years ago

@mkg20001

Then there need to be strict rules to prevent people from just filling up everyones hard drives with garbage. Because if everyone can write an unlimited amount this is going to get abused. (And - unless accounts are somehow verified - anyone can create an unlimited number of accounts so per-account limits are somewhat useless in that case

This is one of the greatest flaw of ZeroNet.

http://127.0.0.1:43110/zeromedium.bit/?/15hL2gR4oCSgKBbndn3MxY8Hc5xoy1vqCe/part-2-how-do-i-envision-zeronet-to-be-ready-for-mass-of-users

I proposed a verification system, but a user called it "nazi" and suggested users to pay on signup. Well, I'm not too against it, but, we can think in a better approach, such as proof-of-work or any other algorithm to verify it.

And even if the only thing that can be written into the blockchain are transcation: Without fees anyone can just take a non-zero amount of coins, split them to fractions accross hundreds of addresses and transfer them back-and-forth 24/7. That generates enough valid garbage to make the blockchain huge in a week.

Fees are a form to prevent a huge blockchain? And a maximum kb per transaction. Also, after some development, we need to implement something like segwit/sharding.

ghost commented 5 years ago

You can't fill up a person's hard drive (without explicitly allowing it) with ZeroNet zites and data files because both zites and users have space limits.

anoadragon453 commented 5 years ago

Do be aware that ZeroNet already has a Sybil mitigation system built in, where you have to manually approve large growth of a site's files.

On a blockchain this is a different story, however I doubt we talking about storing site contents on a blockchain.

A ZeroNet coin could only be used for domain registration and you'd already have a sleek blockchain with a very useful purpose.

danimesq commented 5 years ago

@d14na

and any project that's ever claimed to be fee-less has failed.

I'm not against fees on Zerocoin, but on ZeroNet.

I'd strongly recommend you consider my Stellar recommendation, as they are one of the cheapest blockchains (or ledger if you want to be technical); and unless you're planning on doing a lot of smart contracts, probably the most mature for your purposes (primarily as a currency).

What will be the function of Stellar?

The OTHER problem, is that you CANNOT control the VALUE of your coin once its on the open market (ie trading on an exchange). So the cost per transaction will fluctuate and potentially become too expensive for the average user or someone with heavy engagement with the blockchain.

We can't change the value of coin, but we need to change the needed fee to not make it expensive.

danimesq commented 5 years ago

@krixano

You can't fill up a person's hard drive with ZeroNet because both zites and users have space limits.

But think about a spam that makes a site grow from 20MB to 1GB. Users will need to be clicking the increase button?

ghost commented 5 years ago

Yeah, that's the protection against filling up HDD space for ZeroNet Zites and data files. I'm not recommending you do this for blockchain. I'm just pointing out that ZeroNet already has this protection, contrary to what you said ("This is one of the greatest flaw of ZeroNet.").

Additionally, zite owners can control the amount of space used by users and if someone goes over, the zite owner has to explicitly allow that.

danimesq commented 5 years ago

@anoadragon453

Do be aware that ZeroNet already has a Sybil mitigation system built in, where you have to manually approve large growth of a site's files.

Only time and growth usage can show if this is enough.

On a blockchain this is a different story, however I doubt we talking about storing site contents on a blockchain.

No need. But we can create a git archiving plugin, like Web Archive/Wayback Machine.

A ZeroNet coin could only be used for domain registration and you'd already have a sleek blockchain with a very useful purpose.

I think you didn't readed about the purpose of Zerocoin.

danimesq commented 5 years ago

@krixano

ZeroNet already has this protection, contrary to what you said ("This is one of the greatest flaw of ZeroNet.")

I said it because:

But think about a spam that makes a site grow from 20MB to 1GB. Users will need to be clicking the increase button?

danimesq commented 5 years ago

List of needed things on ZeroNet: https://github.com/HelloZeroNet/ZeroNet/issues/1621

mkg20001 commented 5 years ago

And even if the only thing that can be written into the blockchain are transcation: Without fees anyone can just take a non-zero amount of coins, split them to fractions accross hundreds of addresses and transfer them back-and-forth 24/7. That generates enough valid garbage to make the blockchain huge in a week.

Something that just came to my mind which might migtate this somewhat (aside from fees which also should be implemented): Implementing an algorithm that somehow calculates a number of blocks that an amount of funds can't be transferred. (Note that this is a different idea than waiting N blocks to be mined after the transaction in order for it to be valid)

That algorithm would then do things like:

Note: With "amount" I mean total transaction value (but it should be possible to write the algorithm in such a way that it applies a different freeze time to every tx output) and with transaction I usually mean a complete transaction with multiple inputs/outputs

Edit: After writing this I realized that this (similar to fees) would suffer from changes in the coin's value. This might require a centralized "source of truth" or some algorithm that "estimates" the coins value based on chain activity (but this could also go more than horribly wrong and could be abused pretty easily with a bit of funds)

purplesyringa commented 5 years ago

Bitcoin doesn't directly funds ZeroNet.

I guess you didn't understand what I meant. I said that sentence and then proved that it's wrong by giving Etherium as an example.

danimesq commented 5 years ago

@imachug

What are the first things on the development? I mean, in what you will begin?

d14na commented 5 years ago

What well be the function of Stellar?

Stellar is very similar to Bitcoin (serves a currency), but its more centralized and can be "controlled/managed" a lot better/easier. It's extremely mature (currently being supported by large enterprises like IBM among others) and it could potentially be used as the platform for your cryptocurrency. Not saying that you have to use Stellar's platform, but you could fork it and make it your own if that's what you prefer.

@DaniellMesquita OMG, its been a tough week for me, handling a lot of personal/family stuff, also, trying to get a new Zeronet client demo out asap; but I want to try my best to support your project as well 👍, really believe crypto needs to be more integrated with Zeronet.

Anyway, another thought that I've considered, in addition to my blockchain ideas, its creating a Zeronet Web of Trust (aka a reputation system). Might be similar to what @mkg20001 mentioned a few days back. This wouldn't require cost, but what it would require is the community's time in terms of rating each other. Simply put, you could then UP VOTE good actors and DOWN VOTE bad actors. This definitely falls under "easier said than done", but I think its worth an effort, as it would help to mitigate Sybil attacks, while also maintaining a fee-less structure.

danimesq commented 5 years ago

@d14na

Anyway, another thought that I've considered, in addition to my blockchain ideas, its creating a Zeronet Web of Trust (aka a reputation system). Might be similar to what @mkg20001 mentioned a few days back. This wouldn't require cost, but what it would require is the community's time in terms of rating each other. Simply put, you could then UP VOTE good actors and DOWN VOTE bad actors. This definitely falls under "easier said than done", but I think its worth an effort, as it would help to mitigate Sybil attacks, while also maintaining a fee-less structure.

I'll create a repo for this. A reputation system with invites, votes, and user optionally can pay a small verification fee to build a greater trust.

@imachug

What are the first things on the development? I mean, in what you will begin?

purplesyringa commented 5 years ago

@DaniellMesquita

First, we want to make a site for wallet so we need a site. I see there's https://github.com/ZeroCoinOrganization/Zerocoin-wallet, and it's empty. So I think I can put webpack there, as I'd want to use ES2017 features, like import of my local files and NPM packages.

I'd like to hear whether you agree with this.

danimesq commented 5 years ago

A reputation system with invites, votes, and user optionally can pay a small verification fee to build a greater trust.

https://github.com/ZeroCoinOrganization/ZeroTrust

@imachug

First, we want to make a site for wallet so we need a site. I see there's https://github.com/ZeroCoinOrganization/Zerocoin-wallet, and it's empty. So I think I can put webpack there, as I'd want to use ES2017 features, like import of my local files and NPM packages.

I'd like to hear whether you agree with this.

I agree. As said, you can create the skeleton, then I create the design with VueJS.

purplesyringa commented 5 years ago

Okay, I'll start adding the skeleton then.

d14na commented 5 years ago

just setup a Peepeth account and I see they're using ETH signatures to batch txs (instead of having to write every update to the blockchain). here is a link to a Medium article explaining how it works https://medium.com/@abcoathup/evolution-of-decentralised-social-media-dfe567d23e54

My thoughts are that this would be a major improvement on the UX when interacting with a blockchain-version of a system like ZeroMe or ZeroTalk. In the case of Peepeth, you only have to write to the blockchain once every 15 actions. How it all works under-the-hood is still a bit of a mystery to me, but I'll do some research soonish' and let you know my thoughts.

danimesq commented 5 years ago

@imachug I don't think we need to base on something other than Bitcoin/Ripple for now, but what are your thoughts?

purplesyringa commented 5 years ago

We'll create our blockchain on JavaScript/Python mixture (in case we support BackgroundProcessing plugin).

We can use Bitcoin/WhateverCoin docs, or Etherium contacts as example, but we'll write the code ourselves, so we don't rely on other projects and we can license it.

danimesq commented 5 years ago

@imachug Really it will need BackgroundProcessing, or the blockchain will be slow with the publication limit per seconds. Yes, use Bitcoin/Ripple as inspiration for now, but Ethereum is more advanced, then let smart-contracts for when we rebrand it as Zerum.

danimesq commented 5 years ago

@imachug

Really it will need BackgroundProcessing, or the blockchain will be slow with the publication limit per seconds.

It is wrong. The 30 second publish limit is individual, not for all users, then it is good to prevent spam and will not make the network slow.

danimesq commented 5 years ago

@imachug Thanks for the replies

danimesq commented 5 years ago

As said on a chat:

Funding of open-Internet projects (ZeroNet, ShadowSocks, etc), being programmed in visual event sheets that even newbie users can audit and contribute, great TPS like EOS, having all current Bitcoin balances in a block (acting like a fork but not being one, making Bitcoin users to want to hold Zerocoin), anonymization and support to mining on browsers and support of smart contracts