Bitcoin Forum

Alternate cryptocurrencies => Altcoin Discussion => Topic started by: Come-from-Beyond on July 11, 2012, 12:54:08 PM



Title: RFC: Yet another *coin
Post by: Come-from-Beyond on July 11, 2012, 12:54:08 PM
I've got an order to launch a new cryptocoin. Easy to say, hard to do. So I need ur help.

Why someone needs this coin. They develop and operate social/web games. They used to use free2play to earn money, but now they'd like to try a new way to do it. The main idea is easy - if a player doesn't like to pay for a Supersword of Uberness s/he could still get it by mining cryptocoins in a browser. LTC was an appropriate solution till GPU-mining was presented to our community. Now mining with CPU, especially in a browser with a JS-miner, is not profitable anymore.

The problem I've faced is what proof-of-work algo to use. It must be GPU-hostile (not like LTC's one seemed to be) and a botnet mining the same coin shouldn't make big impact on profitability of mining. I was thinking of using Scrypt with other parameters (not 1024, 1, 1), but I hope a better algo exists.

PS: The new coin shouldn't be just a clone of BTC/LTC. There are some weaknesses of mentioned currencies, it's a chance to make a currency without them (if this possible of coz).


Title: Re: RFC: Yet another *coin
Post by: markm on July 11, 2012, 01:00:40 PM
Unless the miners have some special equipment that the computers a botnet infects do not have, then botnets will be able to have a lot of impact.

You might even be tougher against botnets by using ASICs, at least until the ASICs become so widespread that botnets are as likely to find machines equipped with them among their holdings as any other particular kind of special equipment.

-MarkM-


Title: Re: RFC: Yet another *coin
Post by: Come-from-Beyond on July 11, 2012, 01:07:30 PM
You might even be tougher against botnets by using ASICs

Usual players don't have ASICs for sure. The "GPU-hostile" problem has priority over the "botnet's impact" one.


Title: Re: RFC: Yet another *coin
Post by: markm on July 11, 2012, 01:12:48 PM
Usual players do have browsers, so a solution that has proven very useful and effective in the past is to have them run autosurf traffic-exchanges.

Basically you can use autosurf credits as the points people use to buy things in the game.

The specific past case I am thinking of ran their own autosurf so they could directly access players surfing statistics but that may not really be necessary, depending on how easy it is to find useful autosurfs that allow players to transfer credits.

Interestingly a lot of the money came from the players themselves buying things the game operator advertised in the autosurf. Specifically he put some Amazon ads in there and ended up selling a surprising amount of cameras and such to the players thereby.

-MarkM-


Title: Re: RFC: Yet another *coin
Post by: Come-from-Beyond on July 11, 2012, 01:16:26 PM
Seems to be a good idea. I'll think of it. Thx.


Title: Re: RFC: Yet another *coin
Post by: 2112 on July 11, 2012, 06:13:27 PM
I was thinking of using Scrypt with other parameters (not 1024, 1, 1), but I hope a better algo exists.
You could use either heavily recursive or high-precision floating point proof of work. Or both. My old post about those:

https://bitcointalk.org/index.php?topic=44423.msg537010#msg537010


Title: Re: RFC: Yet another *coin
Post by: drakahn on July 11, 2012, 06:20:12 PM
use any algo and don't distribute a client, if there is only the one pool 100% of hashing power will be done by it, no solo, no gpu no other mining software except the online one


Title: Re: RFC: Yet another *coin
Post by: Come-from-Beyond on July 11, 2012, 07:32:26 PM
Security through obscurity doesn't work.
Anyway the scope statement contains such points as:

- Must be written using Java/JavaScript to support different OS/platforms
- Will be released as an open-source project


Title: Re: RFC: Yet another *coin
Post by: markm on July 11, 2012, 07:52:05 PM
Since it has to run in a browser anyway, then you might as well require the browser to be pointed at a certain URL, or at least to be pointed at a URL located on a domain controlled by the game-company.

Thus there is no need for the whole mining concept, nor a blockchain, all that is needed is for the webserver serving that URL to maintain a connection of some kind (websocket, even, maybe, if that is what it takes for server to detect whether the browser is still on that page).

Then simply credit players for staying on the site.

Even simpler, and allowing games not to be tied to browsers, would be to credit the player for time their character is in-game instead of for time the player has a browser running, unless ads are to be shown on the browser (like in the autosurf idea).

Basically the only reason to bother with the whole "mining" and "blockchain" concept would be to mine an existing coin the company could then turn around and sell on an exchange.

The only kind of work the players of a certain company's games can really be relied upon to be better equipped for than professional workers (such as cryptocoin miners in the case of cryptocoin mining) is work performed within the game, possibly by game characters or units and possibly having in game effects such as digging up game gold in game mines or killing game monsters and so on, and even those professional scripters / automaters might have an advantage if helped in their development efforts by players familiar with all the kinds of tests a scripted unit or character might run into in a given game.

So rather than only show players one method of earning money that they could spend on game items and then complain that some folk other than the players of the game might be better at that specific method of earning money than the typical player of the game is, maybe it is worth considering showing the players as many methods as possible of making money, so that for any given player there is a greater chance of their finding among them one that they are relatively good at?

-MarkM-


Title: Re: RFC: Yet another *coin
Post by: crazy_rabbit on July 11, 2012, 08:12:52 PM
This is exactly why we still need a CPU only coin. There are too many uses that are truly *use-full* that can't be done if mining can be concentrated in high-power machines.

I am interested in knowing how this goes. :-)

I've got an order to launch a new cryptocoin. Easy to say, hard to do. So I need ur help.

Why someone needs this coin. They develop and operate social/web games. They used to use free2play to earn money, but now they'd like to try a new way to do it. The main idea is easy - if a player doesn't like to pay for a Supersword of Uberness s/he could still get it by mining cryptocoins in a browser. LTC was an appropriate solution till GPU-mining was presented to our community. Now mining with CPU, especially in a browser with a JS-miner, is not profitable anymore.

The problem I've faced is what proof-of-work algo to use. It must be GPU-hostile (not like LTC's one seemed to be) and a botnet mining the same coin shouldn't make big impact on profitability of mining. I was thinking of using Scrypt with other parameters (not 1024, 1, 1), but I hope a better algo exists.

PS: The new coin shouldn't be just a clone of BTC/LTC. There are some weaknesses of mentioned currencies, it's a chance to make a currency without them (if this possible of coz).


Title: Re: RFC: Yet another *coin
Post by: casascius on July 11, 2012, 08:34:55 PM
I've got an order to launch a new cryptocoin. Easy to say, hard to do. So I need ur

This is where I stopped reading.  The correct spelling of your is Y-O-U-R.  Any new cryptocoin should have some raison d'être beyond something somebody made up some day.  Like, a GoogleCoin.  Not another JoeBlowCoin.  This new coin idea doesn't solve any problems, and its creation at best merely detracts from Bitcoin.


Title: Re: RFC: Yet another *coin
Post by: 2112 on July 11, 2012, 08:41:24 PM
I've got an order to launch a new cryptocoin.
Don't let yourself get discouraged by the naysayers here. Casascius is a monocoinist polycoinist and markm is an innocent bystander. Actually makomk is a victim of wrath of a gang of monocoinists. I apologise for the confusion between markm and makomk. I also apologise to casascius for misspeling his name and incorectly declaring his ideological allegiance.
 
The knowledge you gain will be yours for your lifetime.


Title: Re: RFC: Yet another *coin
Post by: markm on July 11, 2012, 08:45:02 PM
If the coin is to be a new coin why does it even matter if GPUs mine it faster than CPUs? It can only be spent at the one company's site(s) / game(s) so no one other than that company's players have any incentive to mine it, so why not just make a clone of litecoin, change the port numbers so it does not conflict with litecoin, and use it? Why would any botnet or litecoin miner bother to mine it? Remember that litecoin has no merged mining. Miners thus have to split their mining power between litecoins and all the other varieties of coins that also are slightly CPU-friendly, incuding if this approach is taken all the various coins used by all the various games or game-companies as game currency.

As soon as you open the thing up to being a general purpose currency used outside of your games for purposes unrelated to your games your players are sure to be disadvantaged compared to professionals.

Heck even without opening it up, even if only people actually playing your game can create your currency and even them only within the actual game itself, they are at a disadvantage compared to professionals since professionals can afford to buy with some generic currency as much of the game currency as they have wealth to spend to convince people who have the stuff to yield it to them.

So professionals have an advantage regardless. Even if you try to make it against the rules of the game for people to use "real" wealth to influence in-game events, buy in-game items and so on plenty of people break such rules routinely, as seen with WoW and EVE Online.

It is pretty much a fact of life that the rich are rich and that being rich is advantageous.

So just go ahead and use litecoins if it is desired that exchanges exist whereby the coins players produce can be sold for other currencies.

If the intent is not that players be generating something that can be sold for other currencies, the whole blockchain / cryptocurrency concept is a pointless waste, you might as well just record what they generate in the game where it is actually useful in some way.

-MarkM-


Title: Re: RFC: Yet another *coin
Post by: casascius on July 11, 2012, 08:46:02 PM
I've got an order to launch a new cryptocoin.
Don't let yourself get discouraged by the naysayers here. Casacius is a monocoinist and markm is a victim of wrath of a gang of monocoinists.

The knowledge you gain will be yours for your lifetime.

Faithless monocoinist at best, since I own more than one kind of cryptocoin, and have created physical LTC as well (even though I own no digital LTC).


Title: Re: RFC: Yet another *coin
Post by: markm on July 11, 2012, 08:47:48 PM
I've got an order to launch a new cryptocoin.
Don't let yourself get discouraged by the naysayers here. Casacius is a monocoinist and markm is a victim of wrath of a gang of monocoinists.

The knowledge you gain will be yours for your lifetime.

Hey if someone is paying to have a cyptocoin made for them just make the damn thing if they are paying enough per hour for the hours it will take, and argue down the "feature" set if they are asking for more hours than they are willing to pay for.

It is irrelevant whether the thing is any use to anyone as long as it meets the specs and they pay the agreed rate for making it meet the specs.

-MarkM-


Title: Re: RFC: Yet another *coin
Post by: Come-from-Beyond on July 11, 2012, 09:35:25 PM
The new currency must be a currency that could be used by anyone anywhere. There is no point to stick with a particular game/company. Get rid of GPU-mining in LTC and u get what I need.

Autosurfing idea pointed me in a direction of network-bound proof-of-work. Something like collecting chunks of data from different hosts on the Internet. These chunks could contain meaningful information, so using the currency would lead to different side-effects. People could share music, get access to information prohibited in their countries, etc. with usage of the coins...


Title: Re: RFC: Yet another *coin
Post by: drakahn on July 12, 2012, 04:54:46 AM
Security through obscurity doesn't work.
Anyway the scope statement contains such points as:

- Must be written using Java/JavaScript to support different OS/platforms
- Will be released as an open-source project

... i meant, if you control the client you can make it so that the server is the only client that can solve blocks, so only people mining on the java cpu only miner can mine ... it could be any algo as only the servers blocks are valid

if someone modifies the client so they can mine it, they would get their own blockchain that the game server wouldn't recognise


its just an idea though


Title: Re: RFC: Yet another *coin
Post by: markm on July 12, 2012, 05:15:45 AM
How about identify your blocks so that you need not offer any game benefits for sale for coins that were not mined using your pool, associate each miner account at the pool with a player/character in the game so anyone wanting to pass of a GPU as ten CPUs or ten CPUs as their normal-player normal-consumer one-CPU per player would need ten characters or ten player-accounts and thus also ten characters active in the game at the time time, all able to respond to human conversation and in-play interaction (effectively, Turing tests), and cap the amount of such coins one is allowed to earn per hour.

That way GPUs and botnets and other forms of cheating all become from an anti-cheat point of view just another bunch of in-game play-bots, to be opposed by the same anti-bot patrols that combat normal straightforward play-by-bot.

The coins are still useable anywhere as they are still normal bitcoins or litecoins or whatevercoins which already have exchanges and so on. You still get the coins anyone creates for you by cheating, it only they who do not get them. Anyone can tell by tracing coins back to the block that mined them which coins are valid within your game as bonus points for players of your games. Presumably therefore everyone is happy?

-MarkM-


Title: Re: RFC: Yet another *coin
Post by: Come-from-Beyond on July 12, 2012, 05:40:49 AM
1st of all I need a currency. BTC and LTC don't suit my case, all the others are dead.

>> How about identify your blocks so that you need not offer any game benefits for sale for coins that were not mined using your pool
No need to do it, coz players mine on behalf of a game, they don't transfer any coins nor bother what exactly they do - mine coins, search for extraterrestials or simulate nuclear explosion.

>> That way GPUs and botnets and other forms of cheating all become from an anti-cheat point of view just another bunch of in-game play-bots
The coins must NOT have any relation to the game that makes players to mine them.


Title: Re: RFC: Yet another *coin
Post by: markm on July 12, 2012, 07:30:23 AM
Ok then it makes no difference whether you use bitcoins or litecoins or any other coins that you have existing exchanges you can turn them into fiat at.

People with GPUs and botnets and so on can mine anything they can sell and make money, and you already sell in game items for money.

So, there is no worry about people who can mine more massively, any more than there is about people who have higher paying jobs than other people. People who are rich can buy more uber swords already, which algorithm miners use to mine coins doesn't change that.

As long as whatever it is that people are doing is something you can sell to make money you are in effect charging money, and you already do charge money anyway. So the fact that some people are better at making money than other people is irrelevant to the game, or more correctly, that fact is already affecting the game in the fact that some people are richer than others already.

So all you need do is just provide something for players to run that you will give them in-game gold or whatever for - whatever players normally use in the game to buy things in the game. The fact that the company happens to be able to sell that work for "real" money is its own business the players need not care, like you said it could be protein folding work the company is selling or bitcoins or whatever. You could in fact take the BOINC source code if its open source (it is, isnt it?) and use that so you can change what exactly the players' computers are doing for you based on which task pays more at a given moment.

Think back to that sword of uberness. People who make more fiat can buy it easier already. Whether they do so using bitcoins you sell for fiat or litecoins you sell for fiat or protein folding solutions you sell for fiat is irrelevant. So what that they can buy an ASIC that will earn the sword over time or buy the sword directly? People who don't have jobs enough to earn enough money to buy the sword will have more time to play, so can contribute more play to make the game more interesting to attract more people who have jobs thus cannot afford to play much so will maybe buy the sword instead of spending hundreds of hours "earning" it by play and/or keeping their computer busy while they play. Its all good. The company should WANT more money, thus actually PREFER to have people with super-hardware mining on their pool, not try to prevent such people mining for them, especially when they are willing to sell the sword for fiat anyway and the guy with the super-hardware can get plenty of fiat mining lots of merged chains at once and selling the resulting coins.

If you are trying to create a welfare system to distribute uberswords to the destitute, you could just get people to send in a witnessed notarised note from their welfare office stating they are on foodstamps or whatever and award them an ubersword. No need for all this circuitous nonsense.

You haven't even mentioned all the chains that WERE set up as game currencies and WERE only mined by the players of the game. They shifted from blockchain format because it takes a vast amount of hashing power to secure a blockchain. Even though no one other than the players had any real interest in the coins, as soon as someone found a connection to the network it could be taken down by a botnet or whatever just for the luls.

Finally, YOU COULD JUST PAY EVERYONE THE SAME PER HOUR THEY MINE whether they have a supercomputer making you dollars per hour they mine or an old clunker making you pennies.

-MarkM-


Title: Re: RFC: Yet another *coin
Post by: Come-from-Beyond on July 12, 2012, 07:51:08 AM
>> So, there is no worry about people who can mine more massively
GPU-miners make unprofitable to mine with CPU.

>> As long as whatever it is that people are doing is something you can sell to make money you are in effect charging money
Now there is no point to mine BTC with CPU. A player has to mine during 100 years with BTC JS-miner to get a Sword of Uberness. The same has happened to LTC recently.

>> So all you need do is just provide something for players to run that you will give them in-game gold or whatever for
Aye. A coin miner, coz anything else is hard to embed into a game client software.

>> You could in fact take the BOINC source code if its open source (it is, isnt it?) and use that so you can change what exactly the players computers are doing for you based in which task pays more at a given moment
There is no proper way to monetize BOINC computations.


Title: Re: RFC: Yet another *coin
Post by: markm on July 12, 2012, 08:53:43 AM
People are still going to have to mine 100 years to get a sword of uberness no matter what weird new coin you invent, in fact they will probably have to mine even longer mining some previously unheard of coin no-one except those players has any use for than mining bitcoins or litecoins etc.

Bear in mind too that by having them mine at your pool, they can mine Bitcoins, Namecoins, Groupcoins, Devcoins, Ixcoins, I0coins, Ixcoins and Coliedcoins all at the same time, plus if you wish a whole bunch of strange new coins no one ever previously heard of.

In fact if you can get enough players to actually make a chain secure - that is, get enough mining power to secure a chain - they can also mine Britcoins, Botcoins, Canadian Digital Notes, CZech Bitcash, General Mining Corp, General Retirement Corp, bitNicKeLs and United Nations Scrip. All at once courtesy of merged mining, with still the ability to add more to the repertoire.

That is because if you can get enough mining power to secure a chain, all those chains can move back out of the Open Transactions format to which they retreated in the face of the hideous expense of securing a blockchain to a blockchain format the amount of mining power players of games are able and willing to provide.

If you still insist on discriminating against people using GPUs, you could also look into applying merged mining patches to litecoin and other "CPU friendly" coins so that all of those can be mined at once. How to make them even more "CPU friendly" is something all of them are presumably interested in so if you do figure out some way their anti-GPU bias can be increased they will probably all be interested since that is afterall their own reason-for-being too. They are thus striving to be the coin you are looking for and merely await your upgrade patch to bring them into line with your goal while also thereby brining them back in line with their own goal.

It seems though that you are basically just uttering self-contradicting bullshit to try to justify yet another pump and dump since unless many many many more computers than just those actually playing the game mine some new shitcoin it will be far too vulnerable (*) but the more people that mine it the less uberswords each one will be able to buy with the generated coins.

How many uberswords per block are to be mined? Or how many uberswords per week? Or how many uberswords per month or per year?

(*) You could however read up on solidcoin and the various threads on "stake" to see how a spectacularly shitty series of shitcoins secured chains despite almost no mining power and how some theorists theorise a newer better solidcoin using distributed consensus instead of divine right to allocate special powers could work.

-MarkM-


Title: Re: RFC: Yet another *coin
Post by: Come-from-Beyond on July 12, 2012, 12:22:04 PM
I can't resist temptation to use network-bound proof-of-work, GPU-hostility won't be a problem in such case. "Block chain" security could be provided with other mechanism in this scenario. I'm thinking of using so-called "Byzantine quorum system". Still thinking...


Title: Re: RFC: Yet another *coin
Post by: Come-from-Beyond on July 13, 2012, 08:57:49 AM
...Well, now I have some basic details how the coin could be implemented.

Imagine p2p-network which contains nodes. Every node has an address (IP or domain name) and list of addresses of other nodes (not necessary all of them). A node also has information about how much each user has money on the account (no need to know the account balance of each user in the system).

"User" is a person or a company. The system doesn't store any info regarding a user that could help to identify him in the real world. The user has public (bound to the account) and private keys which could be used to authorize the user, sign messages and do other things.

When the user decides to transfer his money to someone, he connects to any known node and gives a command "transfer XXX coins from user YYY to user ZZZ". The node retransmits the command to some random nodes in the list. These nodes retransmit the command to other random nodes and so on. Hop limit should be used to prevent the command to circulate in the system indefinitely.

Upon receiving "transfer XXX coins from user YYY to user ZZZ" command each node checks if YYY has enough money and adjust balances of the both users. Time to time nodes share data each with other to keep it recent. Due to finite speed of data propagation it's necessary to use a delay between commands that change an account balance. This trick also let to get rid of transaction fees (which mainly used as defense against transaction spamming).

Nodes earn money during sharing data. (It's like u get 50 BTC every time u generate a block.) If a node doesn't have RECENT info about particular user and his balance it's unable to take part in transactions. The reward is randomly given to a pair of nodes when transaction data is hand off from Nth node to (N+1)th one. The random function is deterministic though and depends on such data as user public key, transferred amount, transaction itinerary and other things. Nodes that have recent info about a lot of users have better chance to take part in transactions so they have better chance to get a reward. Nodes which provide better service to users have better chance to take part in transactions too, coz they become a starting point of a transaction.

This system could be used to support different currencies, not only certain one. I still have no exact answers how different aspects of the system should be implemented. Comments and questions are very welcome.


Title: Re: RFC: Yet another *coin
Post by: Come-from-Beyond on July 14, 2012, 05:16:21 PM
I redesigned my idea a little.

Using accounts seems to be a bad idea. It lets to track funds transfers. It's impossible to know how real coins came to a particular person and it's a very good feature of real cash. Nodes should store info about coins and their public keys. When person XXX gives coins to person YYY, he just gives private keys (sends with e-mail, for example). Then person YYY connects to the system and sends command "destroy these coins and give me fresh ones with these public keys". This command is necessary to prevent double-spending.