Pages:
Author

Topic: MC2: A cryptocurrency based on a hybrid PoW/PoS system - page 57. (Read 195188 times)

legendary
Activity: 1386
Merit: 1000
I am watching this closely.
full member
Activity: 168
Merit: 100
It seems the intent of the democracy is to enable human feedback into what is otherwise a fixed algorithm.  The word Democracy carries too much baggage; we should probably change it to be more literal... I can only think of engineering terms at the moment, but it's just a community feedback module.

Human intervention is exactly what systems like bitcoin are trying to protect against.
I believe that a currency that is fully programmatically controlled is doomed to failure.  We need some means of correcting for errors, societal changes, technological changes, etc.  We're only human; we can't see the future.
full member
Activity: 182
Merit: 100
It seems the intent of the democracy is to enable human feedback into what is otherwise a fixed algorithm.  The word Democracy carries too much baggage; we should probably change it to be more literal... I can only think of engineering terms at the moment, but it's just a community feedback module.

Human intervention is exactly what systems like bitcoin are trying to protect against.
full member
Activity: 168
Merit: 100
It seems the intent of the democracy is to enable human feedback into what is otherwise a fixed algorithm.  The word Democracy carries too much baggage; we should probably change it to be more literal... I can only think of engineering terms at the moment, but it's just a community feedback module.
full member
Activity: 182
Merit: 100
Unless you plan on asking for ID, your democracy will be gamed.

if you read the whitepaper the democracy is based off of solving blocks.

So that the person with the bigger hashrate has more say, sounds like the democracy we already have.
legendary
Activity: 1484
Merit: 1005
Actually calling this a democratic cryptocurrency is really throwing off a lot of people.  In this plan the democracy part won't be implemented till 27 years later.  Actually tacotime, if you could get some democracy implemented sooner that might be a better idea.

It can easily be implemented sooner -- for instance, the vote bits in the block header could be used to adjust the rate at which supply distribution decreases.  This could be implemented as soon as the currency begins -- but it was my guess that during the initial few years miners would act as selfishly as possible to try to decrease the reward, so I wasn't sure if it was a good idea or not.
hero member
Activity: 756
Merit: 500
Unless you plan on asking for ID, your democracy will be gamed.

if you read the whitepaper the democracy is based off of solving blocks.
full member
Activity: 182
Merit: 100
Unless you plan on asking for ID, your democracy will be gamed.
hero member
Activity: 756
Merit: 500
Actually calling this a democratic cryptocurrency is really throwing off a lot of people.  In this plan the democracy part won't be implemented till 27 years later.  Actually tacotime, if you could get some democracy implemented sooner that might be a better idea.
legendary
Activity: 1484
Merit: 1026
In Cryptocoins I Trust
Good idea TacoTime.

I applaud you for creating an ALT coin that actually provides innovation to the ALT coin ecosystem, rather than just copying an existing chain like the others.

I will be following closely.
member
Activity: 75
Merit: 10
It would be nice if the system can adjust the network charges as a function of time and difficulty. While, the exchange rate is also important, I think it would be very difficult to implement something based on exchange rate.

When talking about democracy, all our posts are example of how democracy will work Smiley . Everyone will have their own wishlist and in order to move forward, there should be someone who would choose what all features need to be there in the proposed coin. The challenges of democracy will start right away. Cheesy
hero member
Activity: 714
Merit: 510
Link to the draft version of the whitepaper: Download

Notable things about this chain:
- Uses a new approach to secure hashing algorithms for the hash tree of a given block that should increase FPGA/ASIC resistance
- After 27 coin years it employs a democratic system of voting to manipulate the interest rate of the block chain (users act as the central bank and regulate the rate of inflation)
- Difficulty is based on the linear weighted average of the block times for the past 18 days for PoW blocks
- New block reward adjustment algorithm is given that yields an 8% decrease in block reward per year
- Simple PoS design (tried to strip it of as many complexities as possible)
- PoW and PoS systems are designed to happily coexist, with favour slightly given to the PoW system
- PoS system also intended to prevent 51% attacks

Feel free to peer-review/tear it apart.  I will be the first to say that I'm pretty terrible at math, so please correct any mistakes I've made.  I'd love to hear why you think it's a great/terrible idea, though.  Obviously I anticipate there are a lot of problems with it that I couldn't foresee, so please help me out!

Figure 2 also doesn't want to display with the Y-axis title correct, not sure why that is/too tired to fix this (been working on this/thinking about it for almost 11 hours now).

DONATIONS (will be refunded to the address from which they were sent if this doesn't pan out):
BTC: 12HWFAsv1ojTuw5FzoP9T3SnyjZew5hFDL
LTC: Lb8ESE4NW6kcQVb8uqYS3oRumWSj1gGuza


Lead developer
Tacotime
Potential developer list:
TheBigYak
RauBan
CryptoJunky

If you're working with Python then list me as someone who may occasionally contribute code. What languages are you working with?

I have two questions, how many coins will there be? If it's 11 million total for instance then I think this would be ideal. If it's more than it wont ever be as valuable as Bitcoin and so how will you get early adopters to support this?

I asked the same question to SunnyKing about PPcoin. But yes I'm definitely interested in contributing to the project whether with code or in other ways depending on what you decide to do. Right now I'm familiarizing myself with the Bitcoin code but it's fairly straightforward from what I've seen of the Python implementations.

There are a number of things I like about this project so far.

You've made an honest attempt at making it GPU/CPU friendly.  I'm actually very nervous about the direction of Bitcoin given the growing hashing power availability, and I'd like to see some way to keep the network power distributed.  There will always be favorable hardware.  Rotating Hashes is clever, and I like it.  Finding a way to make the algorithm deterministic while non-predictable is no small task.  There may be yet better ways, but this is a good start.

You've brought in the Proof of Stake concept from another coin, and integrated it in a new way.  Including current innovations just makes me happy in general.  I thought the major benefit of PoS was Transactions without Mining.  Either that

The difficulty adjustment system is non-standard, and should provide an extremely stable and predictable difficulty path.  Given the recent issues with TRC, I can't say I blame you.

You've given thought to all the common faults of current coins, and tried to address them.  That sounds more like prudence than anything else, but it's been overlooked a lot lately.

The democracy thing seems left field.  It seems to be an attempt to allow community feedback into the algorithm, to adjust for errors or changes in the economy.  That shows some remarkable foresight, although I'm not sold on the timeline or mechanism yet.  The idea of damped, non-automated feedback is valuable though.

The fixed block reward reduction feels flawed to me, but that's a gut reaction; I don't have any facts to back it up.  I agree that rewards need to change dynamically.  This is as good a place to start as any.

Overall this is the most thoughtful new coin I've seen in a while, but a lot of your suggestions are solutions to problems I was contemplating, so I may be biased a bit.

I'm mostly an embedded developer, but I'd be willing to help out with development where I can.

The democracy factor is interesting but how to implement? Digital signatures built into wallets which have a certain amount of coins in order to vote? I have no idea how to go about implementing it but it's certainly a good idea to have democratic elements.

The other thing I'm thinking about (unrelated to this) are artificial intelligence elements. AI and cryptocurrencies go well together and would be symbiotic but I'm not knowledgeable enough yet on AI or on cryptocurrencies to code it myself. An AI expert who understands the Bitcoin code could give some insight here and then anyone can code based around those insights but I'm not that expert.

Count me in.

Have you considered starting a project on a crowd funding site like kickstarter ? With all the news around BTC at the moment I think you could get a large amount of funding rather easily.

You're absolutely right. This should be on Kickstarter. Why not?
I do think however that he should not rush through the design process / white paper peer review. It looks good, but if there are any ideas which can improve it then now is the time to do that since the coin doesn't yet have a name.

He seems to be taking the best innovations of each coin and combining them then adding
Any solution to the byzantine consensus problem with a hybrid PoW-PoW stake system that further introduces fault-tolerance and enhances network security with no real net increase in computation power should be a better solution, not a worse one (main tradeoff is chain bloat, but I'm sure people find this acceptable).  

I can understand the need for compromise but where in your paper is this tradeoff made explicit and it's security/efficiency improvement analyzed ? You simply assert that proof of stake is Good, and build from there. The same for the PPC paper, it's all hand-waving spiced with low level implementation details. Don't view it as an attack on you or your objectives, I am a fan of getting rid of wasteful hashing; however this is a very hard computer science problem (Byzantine consensus vs. the Sybil attack) and I expect a hairy analytical paper with all sort of funny symbols and equations, not implementation details.

It seems to me the cryptocurrency community needs more thinkers than doers. Not enough analysis goes into these bitcoin forks, and the results up to now are half baked and flaky.


Quote
Yes, I'm adding more hash algorithms -- but there is no simple way to implement them all together with an ASIC or FPGA without using a massive number of logic units.  You're looking at maybe 35k gates with a scrypt ASIC while this would easily require 100k+ to hit all encryption algorithms.  

So what ? A modern FPGA can include over ten million gates (virtex 7). A large 22nm ASIC can contain hundreds of millions of simple gates. Indeed it's a bit more work to get the first device done (a fixed cost), but once you have the mask the marginal cost to multiply it is the same as a simple Bitcoin mask which uses a single type of hash. What you should be targeting for is that each chip cannot be much more efficient than a CPU, and scrypt, a password derivation technique, is NOT a proper primitive for this task, the same for you multi-hash scheme.

This is a post I agree with but what books or academic papers do you suggest must be required reading so that we can build a knowledge basis to conduct this level of contemplation and analysis?

We should probably put it on Lesswrong or a similar Wikisite and let people learn the required theoretical knowledge, have the discussions which need to be discussed, worth out the mathematics and equations like you say, and then do a proper peer review. I think you're absolutely right the peer review process is important but if all the people with deep understanding aren't willing to explain that esoteric knowledge or write a book on the subject then nothing can change.
 an innovation of his own.
full member
Activity: 182
Merit: 100
Democracy doesnt work, we all should know that by now.
full member
Activity: 168
Merit: 100
There are a number of things I like about this project so far.

You've made an honest attempt at making it GPU/CPU friendly.  I'm actually very nervous about the direction of Bitcoin given the growing hashing power availability, and I'd like to see some way to keep the network power distributed.  There will always be favorable hardware.  Rotating Hashes is clever, and I like it.  Finding a way to make the algorithm deterministic while non-predictable is no small task.  There may be yet better ways, but this is a good start.

You've brought in the Proof of Stake concept from another coin, and integrated it in a new way.  Including current innovations just makes me happy in general.  I thought the major benefit of PoS was Transactions without Mining.  Either that

The difficulty adjustment system is non-standard, and should provide an extremely stable and predictable difficulty path.  Given the recent issues with TRC, I can't say I blame you.

You've given thought to all the common faults of current coins, and tried to address them.  That sounds more like prudence than anything else, but it's been overlooked a lot lately.

The democracy thing seems left field.  It seems to be an attempt to allow community feedback into the algorithm, to adjust for errors or changes in the economy.  That shows some remarkable foresight, although I'm not sold on the timeline or mechanism yet.  The idea of damped, non-automated feedback is valuable though.

The fixed block reward reduction feels flawed to me, but that's a gut reaction; I don't have any facts to back it up.  I agree that rewards need to change dynamically.  This is as good a place to start as any.

Overall this is the most thoughtful new coin I've seen in a while, but a lot of your suggestions are solutions to problems I was contemplating, so I may be biased a bit.

I'm mostly an embedded developer, but I'd be willing to help out with development where I can.
hero member
Activity: 756
Merit: 500
Also just to clarify, I just registered this forum account but have been using bitcoin for almost 2 years now. See my post history for proof.

Those suggestions of yours are awesome.

If your suggestions were combined with everything else in this topic MC2 would be amazing. Truly a Bitcoin 2.0

I would rather not have everything else suggested in this thread to be implemented.
legendary
Activity: 1484
Merit: 1005
Yes, I will be back to write about this soon, just really busy until after Monday
legendary
Activity: 1344
Merit: 1001
Also just to clarify, I just registered this forum account but have been using bitcoin for almost 2 years now. See my post history for proof.

Those suggestions of yours are awesome.

If your suggestions were combined with everything else in this topic MC2 would be amazing. Truly a Bitcoin 2.0
legendary
Activity: 1274
Merit: 1050
In three days Taco will have saved his job and have not lost 25k ( I hope ) and I'm sure he's gonna be thrilled by all the responses Smiley
newbie
Activity: 19
Merit: 0
Also just to clarify, I just registered this forum account but have been using bitcoin for almost 2 years now. See my post history for proof.
newbie
Activity: 19
Merit: 0
First, I just want to say that I applaud Tacotime's acknowledgement of how a coin should be released especially with all these silly copycat alt coins that provide nothing novel being spammed almost daily now. Litecoin has shown the advantages of alternative hashing algorithms, but I also concur that a more in depth look at optimizing a coin for GPU mining above all else is key. If GPU mining is able to be protected as the best way to mine a coin then this provides the best decentralization as gamers will always be a huge distribution of hashing power whereas ASICs and FPGAs will always be skewed towards a relatively few individuals/groups with significant capital (not that GPU mining farms are impossible just that even a few thousand GPU farms will pale in comparison to the gaming community).

Now, while just optimizing the hashing algorithm provides a useful trait for a new coin, I suggest that we take this opportunity and add a few additional key traits to the new coin to provide utility to the community well beyond any current cryptocurrency. In order of importance I suggest the following additional key features:

Distributed Exchange
Distributed exchange is perhaps the killer feature that everyone is talking about often with unrealistic expectations. Obviously we cannot solve the problem of converting fiat directly into cryptocurrency, but I believe we can provide a decentralized exchange mechanism that only relies on outside trusted parties for a final withdrawal or deposit of fiat. My suggestion has two main features. First, we incorporate the colored coins idea (https://docs.google.com/document/d/1AnkP_cVZTCMLIzw4DvsW6M8Q2JC0lIzrTLuoWu2z1BE/edit?pli=1) to allow any outside party to create and sign particular coins as having some additional meaning (in the fiat use case that would be some amount of USD for instance). Second, we create a new type of transaction that posts an offer to the network to exchange some number of new(whatever our new currency is called)coins for a certain number of colored coins properly signed by an entity or set of entities or vice versa. Once the network sees offers that match, a transaction is recorded in the block chain that atomically transfers ownership to each party. (TODO optimize incentives for miners to match offers well through transaction fees etc.)

I would also like to see a way to exchange with other cryptocurrency directly, but this has many additional hurdles such as requiring all nodes or at least miners to keep other block chains in memory and possible denial of service attacks from people accepting offers and not sending the BTC or LTC agreed upon.

Built in P2Pool type mining option
The P2Pool project epitomizes the distributed nature and serves as an important bulwark against a few popular pools from having a huge influence on block chains. I suggest we incorporate this option directly into the client. This also will give users a no hassle option to mine and receive coins out of the box without dealing with pool registration and the risk of them being hacked.

Built in GPU mining option
I suggest we bundle and integrate a graphical interface such that novice users can easily mine with their GPU with just the normal official client. Combined with the above P2Pool suggestion this should further democratize mining making it as user friendly as possible to novice users.

Zerocoin anonymization
http://spar.isi.jhu.edu/~mgreen/ZerocoinOakland.pdf
While this may yet be too computationally and space intensive for now, I think we should at least consider the possibility of implementing this state of the art crypto work. It is going to be presented at the top academic conference in computer security this May. Read the paper for details, but the gist is that you can truly anonymize the coins such that no one can match the input and outputs of transactions. The main disadvantage it has for bitcoin is that the protocol would have to be accepted by all the users, but if we incorporate this by default in the client from the start we solve that problem. There is some concern about how heavyweight the crypto is so that will have to be considered.

0-confirmation double spend resistance
The normal defense against a double spend is to wait for a number of confirmations such that an attacker will have to have close to or more than 51% of the hashing power of the network. This is a very strong guarantee and works well for transactions of any amount, but comes at the cost of waiting for at least 1 block. For asynchronous transactions such as online purchases where product is eventually shipped after some delay this is almost no cost at all, but in the scenario where a user wants to use bitcoin like cash for an in store purchase and walk out with merchandise, this wait time greatly exceeds that of a 1 second credit card processing wait.

This is as far as I know a novel idea that I came up with to partially address wait time. A transaction with zero confirmations can easily be double spent. I propose that if multiple transactions are floating in the network waiting to be confirmed into the next block and there are conflicts among them (double spends) that as long as each transaction by itself would be valid that instead of choosing one the network writes both into the block and destroys the coins involved. While the merchant would still lose the coins so would the attacker removing the incentive to double spend. Now of course for large transactions one would still be ill advised to accept 0 confirmations, this destroys the incentive for a casual theft of small amounts. I think this could be especially useful for payment processors like bitinstant when people use it on their phones to pay for food or beer as if they left immediately after, there is a significant delay before anyone would be aware of the zero confirmation double spend.



I am also available to contribute some time to design/programming. I think this should be a significant undertaking with as many people involved as possible to really create a significant contribution to the cryptocurrency community. Anything halfhearted or just an incremental improvement will not make much difference. I'd rather not have a slew of alternative currencies that slowly build on each other, but rather a significant leap forward with real testing and new features.

Let me know if anything is unclear. I'll try to answer any questions although most of these ideas are preliminary so lots of work in finalizing an actual working implementation is yet to be done. I do believe that all these suggestions are quite practical if we have enough programmers volunteer to create and test them.

Nathaniel
Pages:
Jump to: