Wednesday, April 2, 2014

Litecoin’s proof of work

Litecoin Development Team’s official position on Litecoin’s proof of work


Due to recent threads about some people wanting to change Litecoin’s proof of work algorithm, I figured we should have an official response from the Litecoin development team.


The coming of ASIC miners is scary. We understand where people are coming from. We share the desire for the status quo where Litecoin remains a GPU-only coin. Unfortunately, people will make ASIC Scrypt miners when it becomes profitably to do so. With the runup of Litecoin price last year, it made sense for people to invest in developing Scrypt ASICs last year. And it is apparent that the machines will be coming sometime this year.


At first glance, it makes sense for Litecoin to change the proof of work algorithm to keep mining decentralized. ASICs threatens the original goal of Litecoin and it threatens the mining profits of GPU miners. So I’m not surprised that whenever there’s a poll on this, most people vote to change the PoW algorithm. This is because most people don’t understand everything involved with this topic. I will try to explain this as best as I can.


We’ve actually thought about this problem for almost two years now. Every time it has come up, the consensus among the Litecoin developers is that the detriments of forking far outweighs the benefit of switching proof of work algorithm. As you may know, Litecoin was originally designed to be a CPU coin. The Scrypt algorithm made this possible. It made it so that everyone with a computer can mine Litecoin, which was Satoshi’s original plan. The Scrypt parameters were chosen to effectively balance the memory hardness with the performance of the client. At the time, it was thought that Scrypt with these params was GPU resistant. So when GPUs started coming on the scene, we considered tweaking the Scrypt parameters to make it more memory hard. Pooler helped me investigate how tweaking of the parameters would affect responsiveness with the client. In the end, we decided that it wasn’t a good idea to change it. It turned out that GPU miners did not kill Litecoin as some had feared. Then when there was rumors that a Litecoin ASIC is going to happen, we revisited this again. And for the same reason, we decided to not change.



Here’s are the reasons:

We have not come across a proof of work algorithm that is truly ASIC-proof and quick to verify. All alternatives will only delay the problem, and at a considerable cost.

Hard fork is dangerous if not handled correctly

Forking a coin into 2 coins is confusing to users and can easily destroy confidence

Warren will soon post the technical analysis we’ve done on the various alternatives proofs of work and why they fail to accomplish desired goals.


I will spend some time to talk about hard forks. A hard fork due to changing the PoW algorithm is different from a hard fork due to fixing a bug in the protocol. Fixing a bug in the protocol is a pretty compelling thing that the developers can easily convince everyone (pools, exchanges, miners, users, etc.) to adopt the alternate code. Changing the PoW algorithm is a lot more contentious. You would need buy off from every party involved. Otherwise, you will have splintered the coin and created two forks. This, in our opinion, would kill the coin. Imagine a merchant receiving litecoins from a customer. If the merchant is running the original code and the customer is running the alternate code, then the merchant will never received the “litecoins.” The fungibility of Litecoin would be destroyed. And it becomes a huge mess if half the exchanges are on one fork and the other half is on the other fork.


If we were to try to convince everyone to switch to an alternate PoW algorithm, it will be next to impossible. Let’s look at each party involved:

Users – Users will be split. Some will switch to the alternate client. Some users will not know or understand this change or decide to stick to the original client. This would leave them on the original fork where they can only send coins to other people on their chain. Coins sent between users on different forks will be lost. User confusion over what is a “Litecoin” would be an issue.

Miners – In general miners will mine any coin that is most profitable for their hardware at that moment. So it is easy to convince GPU owners to mine an alternative coin as the majority of them do not care about what they are mining. This is so true that most alt coin miners do not even keep a blockchain for the coins they are mining.

Pools – Similar to miners, pools do not care about the particular coin. They will service miners to mine whatever coin is most profitable at that moment.

Merchants – Merchants WILL have to make a choice. Most will likely stay on the original fork, because why change something that’s not broken and because most merchants will not be aware of this change. A few merchants will accept coins from both forks and will cause total confusion. A few merchants will switch to supporting the alternate fork and will have to put some text on their website telling users of this. Merchants processors will have to make a choice. One of the reasons Coinbase is not currently supporting Litecoin is because of user confusion. The confusion from two things claiming to be called Litecoin would just make matters worse.

Exchanges – Exchanges WILL have to make a choice or support both coins. My guess is that BTC-e will not change as they wouldn’t want to risk it since Litecoin makes them so much money. Cryptsy will likely support both coins. It will just add the alternate fork as one of the many currencies it supports. Exchanges will have to specify if they support the alternate fork or the original fork.

In the end, it’s basically creating a new coin that comes with it a huge pre-mine. And if we try to call it Litecoin or any derivation of that name, it will create a huge mess of confusion. The bottom line is that, in our opinion, the chance of ASICs killing Litecoin is far less than the chance of us killing Litecoin ourselves by trying to change the algorithm.

Would ASICs kill Litecoin? No

Would it be better if Litecoin’s PoW is ASIC resistant? Yes

Is it worth the risk to change it now? No

We, the Litecoin developers, do not believe that we can pull this off without hurting or even destroying the coin. So to the developer(s) that is trying to pull this off, you will only manage to hurt Litecoin and cause chaos for everyone involved. If you really have spare development cycles, why not join us and help make Litecoin better?


And if you insist on doing this, please name your coin something other than Litecoin as to not cause any confusion. We do understand that Litecoin is open source and people are free to fork it as they see fit. And forking the blockchain in addition to the code is an interesting approach to create an alt coin. But please do not try to pass this off as Litecoin, as it is not. And it is not in the best interest of everyone involved.


And to those people that are screaming the sky is falling because of ASICs, please keep in mind that ASICs will not kill Litecoin. When ASICs came on the scene for Bitcoin, it helped strengthen the security of the network. It also forced every other SHA256d coin to be merged mined if it didn’t want to be destroyed by ASICs. And the Bitcoin price shot through the roof. It’s worth noting that multiple companies investing millions in Litecoin-specific hardware is a big sign that Litecoin has succeeded.


Litecoin is on a roll right now. Major exchanges (BTCChina, Huobi) have started to support Litecoin. The few exchanges that aren’t supporting Litecoin right now have started to take notice that they are leaving money on the table if they stick to their Bitcoin-only plan. And new exchanges (AtlasATS) are launching with Litecoin support from the start so they don’t miss out. I can’t even count how many times people have approached me at various conferences and said “we are launching an exchange in [country] and we will trade Litecoins.” Venture funds are investing millions of dollars in companies (Kraken, OKCoin, GoCoin) that support Litecoin. Merchants can now use merchant processors (GoCoin, CoinPayments) to help them accept litecoins. Litecoin ATMs (Bitcoin42) are being deployed around the world. Even BitcoinShop has started to accept litecoins! Major players are starting to pay attention to Litecoin.



source: https://litecointalk.org/index.php?topic=18166.0



No comments:

Post a Comment