finwo / gunjs-currency

Initial repo for gunjs-based currency development
Other
0 stars 3 forks source link

Design #3

Open finwo opened 4 years ago

finwo commented 4 years ago

Excerpt from our discussion on gun's discord:


[2020-08-09] joshcarey:

@douglasjames I took a look at it and I like the anonymity of it. I think all cryptos seem to be trying to mirror a physical asset like gold or silver rather than mirror a currency such as the USD. If we make a digital currency it should behave the same as a physical dollar. The only dollars that exist are pegged to an asset. You can freely trade the dollar through the economy and ultimately trade that dollar the physical asset its value is pegged against.This will build trust and bring in the older population....the ones that have all the wealth!


[2020-08-10] finwo:

@joshcarey USD is one of the few fiat currencies that isn't actually pegged to physical assets. It's based on a virtual debt. Having 1 USD simply implies the ecosystem (e.g. anyone using the USD standard) is in debt to you whatever the party you're trading with thinks that 1 USD is worth. This allowed the founders of america to set up a financial system without having to hold a physical reserve of assets.


[2020-08-10] joshcarey:

@finwo Sorry. Didn’t mean to open the door to a conversation about how the USD works/ doesn’t work. Was just using it as a quick example. More interesting in developing something better.


[2020-08-10] finwo:

@joshcarey No worries. My message was just to show that a currency doesn't strictly have to be backed by physical assets. This goes for both fiat currencies and crypto currencies.


[2020-08-10] joshcarey:

If we had one then it would be widely adopted.


[2020-08-10] finwo:

Could you specify "one"?


[2020-08-10] joshcarey:

We can develop one


[2020-08-10] finwo:

Aside from being a currency, "smart contracts" would have to be implemented as well to even gather some traffic these days. Most developers have no interest in a bare currency that doesn't support more advanced things than just moving assets. Then there's the "post-quantum cryptography" issue, requiring you to ditch all asymmetric encryption methods (either merkle-trees or hinting a handover address). Next for hashes, you'd need to support multiple hashing algorithms, allowing you to ditch broken algorithms. Once you have an idea about these, you'll need to think about bandwidth, as you'll have to scale up to 1-20 transaction per person in the world per day if you want it to have global acceptance, resulting in about 80k at minimum transactions per second.

Sounds like a massive task, but surmountable with the right team & planning ahead.


[2020-08-11T03:08Z] Mary:

Bitcoin/Monero is open source currency. Doubt you need to create your own.


[2020-08-11T12:53Z] finwo:

While it might provide a good base, they both have issues with scaling and are not able to move away easily to a different address scheme once they're broken with quantum computing.


[2020-08-11T14:34Z] Walter:

How about IOTA? Quantum resistance, micropayments, feeless, fast


[2020-08-12T07:23Z] finwo:

Might be a better base, as they have horizontal scaling built into the protocol (they call it a "tangle instead of a chain"). Downside of it is that, while they don't have mining, they require the sender of funds to "mine" the transaction, eliminating all low-power machines (non-servers, including the intended microcontrollers) from participating in the network, where the ecosystem will most likely turn into something it already is for fiat currencies today: a few payment service providers will handle your transactions for you (for a small fee offc.)

But, the "low-power" issue can be solved more easily than the other issues presented earlier. While mining the transaction, simply updating the height & parents could already solve that (but it'd still waste power on battery-powered machines if they want to make a transaction)

@marknadal btw, should we create a separate channel for this, as it's starting to become a longer discussion?

If you'd replace IOTA's signatures & work by what fawkescoin does for "committing" a message (to be sure someone else doesn't spend your funds) and re-introduce miners for weighted "validation messages" instead of blocks containing all transactions, you might be able to remove the work from separate transactions (you'd still have to verify parent transactions to build upon though) & dedicate that work to machines with more horsepower & their energy coming from the wall instead of a battery. You'd then be able to set "block times" to as low as you want, granting faster approvals for transactions without influence on the network's bandwidth.

"comitting": their term "validation messages": pulled out of thin air "block times": the time between blocks in other cryptocurrencies, between validation messages in this example


[2020-08-12T08:21Z] Walter:

Downside of it is that, while they don't have mining, they require the sender of funds to "mine" the transaction, eliminating all low-power machines (non-servers, including the intended microcontrollers) from participating in the network,

@finwo IOTA is made and optimized for low-power devices such as asics and fpgas (IOT is in the name). And even if the device is completely incapable of doing the work itself, it can still operate in the network by sending transactions to a (public) node which puts them in so called bundles and have them verified + attached to the Tangle anyway.


[2020-08-12T08:23Z] finwo:

I might've read past that during my research.

In that case, IOTA might be a good place to start if we were to start developing a currency on top of gun


[2020-08-12T08:30Z] Walter:

I think too. Prove me wrong, but I think IOTA is probably one of the better CCs out there in terms of technical capabilities.

I still have to find a CC that's even remotely on par with IOTA.

Not trying to shill here, let that be clear haha.


[2020-08-12T08:33Z] finwo:

In case of technical capabilities: absolutely.

Shall I set up a repo on gh where we could initially start some design discussion?

I feel like we should keep this channel a bit clear of too much of the same discussion.


[2020-08-12T08:36Z] Walter:

Yeah sure, I'm interested to see where this could lead to.

Maybe also ask @marknadal to create a #gun-projects chat so we can discuss this type of stuff there in the future.


[2020-08-12T08:40Z] finwo:

To prevent corporate people stealing and copyrighting the work (it happens), I'm keeping the repository private until there's I've added a proper license for the work to be owned by all contributors of it.

Could you send me your gh username so I can add you?


[2020-08-12T08:40Z] Walter:

I've also been thinking about a potential name for the currency. What do you guys think of Gunpowder (GP)?

@W4G1 is my gh username


[2020-08-12T08:42Z] finwo:

You should've received the invite


[2020-08-12T08:43Z] Walter:

Accepted


[2020-08-12T08:45Z] finwo:

@joshcarey Could you send me your gh username if you want to join the repo?