Pages:
Author

Topic: Namecoin Flaws & Improvements Tip Bounty (Read 2379 times)

legendary
Activity: 1708
Merit: 1020
July 23, 2013, 02:06:20 AM
#30
Quote
How should renewal work?

If there is no bidding for renewals then squatting will not be prevented. So it is either squatting or domain disappropriation.

Renewals are just a normal transaction fee and nothing special.  And just to prove you still control the private key and to control blockchain growth.

Here is the thing, domain squatting depends upon purchasing 10,000 names at $10 and hoping that a hand full of them are worth several thousand or perhaps 10's of thousands.   Unfortunately, most of those names are 'worthless' and there mere act of squatting on them means that most people would not buy them even for $30.

Under this system, you could attempt to use that model but why bother?  No need to bid on a name until someone expresses interest.  Furthermore, if you simply own the crypto-currency then you will get a cut of every name regardless of how high it was bid up.   Thus, the crypto-currency acts like stock in all possible names and someone who squats on the wrong name is losing money because they are not well diversified.    They would have to bet that the value of that name would go up faster than the value of the dividends they would receive for *not buying it* and that is not a safe bet at all. 

Sounds like squatting is not effectively prevented then. At the beginning there will be few people interested, these will compete for the very best/shortest names in some bid wars as they think the names are worth more than the coin (even if they should be wrong with that assumption). Later on they will sell the domains to late adopters.

hero member
Activity: 770
Merit: 566
fractally
Quote
How should renewal work?

If there is no bidding for renewals then squatting will not be prevented. So it is either squatting or domain disappropriation.

Renewals are just a normal transaction fee and nothing special.  And just to prove you still control the private key and to control blockchain growth.

Here is the thing, domain squatting depends upon purchasing 10,000 names at $10 and hoping that a hand full of them are worth several thousand or perhaps 10's of thousands.   Unfortunately, most of those names are 'worthless' and there mere act of squatting on them means that most people would not buy them even for $30.

Under this system, you could attempt to use that model but why bother?  No need to bid on a name until someone expresses interest.  Furthermore, if you simply own the crypto-currency then you will get a cut of every name regardless of how high it was bid up.   Thus, the crypto-currency acts like stock in all possible names and someone who squats on the wrong name is losing money because they are not well diversified.    They would have to bet that the value of that name would go up faster than the value of the dividends they would receive for *not buying it* and that is not a safe bet at all. 

legendary
Activity: 1708
Merit: 1020
What about name updates and stealing famous names from non profit websites. These might not be able to pay much but the names might still be of high value.

I think there should at least be namespaces for both ways of distribution.

What value is a famous name for a non-profit unless someone has a use for it?   If I buy it, do not use it, and cannot sell it then I lose money.   If I can use it to generate more money than the non-profit could with it, then I am actually doing more good for society than the so-called non-profit.   Now obviously, I couldn't grab redcross and then operate a business called 'RedCross' without having trademark issues.  Without the ability to use the name in a public, for-profit manner the name only really has as much value as RedCross is willing and able to pay for it.

Objectively you might be right but from a personal point of view it could still be pretty uncomfortable. I was in a situation like the one above some time ago and I would not have enjoyed anybody to be able to force me to pay a lot of money to keep my domain. What about small independent websites? They would be forced to be profitable.

Example: http://blockchained.com
Imagine some large VC funded company wants to advertise on my site but I think they are a rip off and don't allow it. They pay some bucks and take over my site? No way would anybody in his right mind run a personal website on that system.

What about blackmailing for names? Pay me 1BTC or I will steal your name. What about non domain namespaces like bonds, IDs etc?

I think it will be very difficult to make your system well balance. Also Namecoin is already working fine, just like the old domains: Squatters don't want to sit on domains. If someone has a proper use for a domain he can simply buy the domain from the squatter. The new owner can resell it if somebody should show up who wants to pay even more.

If at all I can only see it coming for new/expired domains not for renewing.

I think you are misunderstanding something critical.  The name is *yours* and no one can take it from you after 72 hours with no bids.    It is only for the first 72 hours that someone could outbid you.

Please get me right, I am all in favor of thinking about these things I just can't image it working like this.

How should renewal work?

If there is no bidding for renewals then squatting will not be prevented. So it is either squatting or domain disappropriation.
hero member
Activity: 770
Merit: 566
fractally
Name = Domain.  The auction period is flexible but has to be wide enough to give people enough time to consider it.
legendary
Activity: 1807
Merit: 1020
What about name updates and stealing famous names from non profit websites. These might not be able to pay much but the names might still be of high value.

I think there should at least be namespaces for both ways of distribution.

What value is a famous name for a non-profit unless someone has a use for it?   If I buy it, do not use it, and cannot sell it then I lose money.   If I can use it to generate more money than the non-profit could with it, then I am actually doing more good for society than the so-called non-profit.   Now obviously, I couldn't grab redcross and then operate a business called 'RedCross' without having trademark issues.  Without the ability to use the name in a public, for-profit manner the name only really has as much value as RedCross is willing and able to pay for it.

Objectively you might be right but from a personal point of view it could still be pretty uncomfortable. I was in a situation like the one above some time ago and I would not have enjoyed anybody to be able to force me to pay a lot of money to keep my domain. What about small independent websites? They would be forced to be profitable.

Example: http://blockchained.com
Imagine some large VC funded company wants to advertise on my site but I think they are a rip off and don't allow it. They pay some bucks and take over my site? No way would anybody in his right mind run a personal website on that system.

What about blackmailing for names? Pay me 1BTC or I will steal your name. What about non domain namespaces like bonds, IDs etc?

I think it will be very difficult to make your system well balance. Also Namecoin is already working fine, just like the old domains: Squatters don't want to sit on domains. If someone has a proper use for a domain he can simply buy the domain from the squatter. The new owner can resell it if somebody should show up who wants to pay even more.

If at all I can only see it coming for new/expired domains not for renewing.

I think you are misunderstanding something critical.  The name is *yours* and no one can take it from you after 72 hours with no bids.    It is only for the first 72 hours that someone could outbid you.


if it takes 72 hours to create/register a name i can't see it being so popular
hero member
Activity: 770
Merit: 566
fractally
What about name updates and stealing famous names from non profit websites. These might not be able to pay much but the names might still be of high value.

I think there should at least be namespaces for both ways of distribution.

What value is a famous name for a non-profit unless someone has a use for it?   If I buy it, do not use it, and cannot sell it then I lose money.   If I can use it to generate more money than the non-profit could with it, then I am actually doing more good for society than the so-called non-profit.   Now obviously, I couldn't grab redcross and then operate a business called 'RedCross' without having trademark issues.  Without the ability to use the name in a public, for-profit manner the name only really has as much value as RedCross is willing and able to pay for it.

Objectively you might be right but from a personal point of view it could still be pretty uncomfortable. I was in a situation like the one above some time ago and I would not have enjoyed anybody to be able to force me to pay a lot of money to keep my domain. What about small independent websites? They would be forced to be profitable.

Example: http://blockchained.com
Imagine some large VC funded company wants to advertise on my site but I think they are a rip off and don't allow it. They pay some bucks and take over my site? No way would anybody in his right mind run a personal website on that system.

What about blackmailing for names? Pay me 1BTC or I will steal your name. What about non domain namespaces like bonds, IDs etc?

I think it will be very difficult to make your system well balance. Also Namecoin is already working fine, just like the old domains: Squatters don't want to sit on domains. If someone has a proper use for a domain he can simply buy the domain from the squatter. The new owner can resell it if somebody should show up who wants to pay even more.

If at all I can only see it coming for new/expired domains not for renewing.

I think you are misunderstanding something critical.  The name is *yours* and no one can take it from you after 72 hours with no bids.    It is only for the first 72 hours that someone could outbid you.
legendary
Activity: 1708
Merit: 1020
What about name updates and stealing famous names from non profit websites. These might not be able to pay much but the names might still be of high value.

I think there should at least be namespaces for both ways of distribution.

What value is a famous name for a non-profit unless someone has a use for it?   If I buy it, do not use it, and cannot sell it then I lose money.   If I can use it to generate more money than the non-profit could with it, then I am actually doing more good for society than the so-called non-profit.   Now obviously, I couldn't grab redcross and then operate a business called 'RedCross' without having trademark issues.  Without the ability to use the name in a public, for-profit manner the name only really has as much value as RedCross is willing and able to pay for it.

Objectively you might be right but from a personal point of view it could still be pretty uncomfortable. I was in a situation like the one above some time ago and I would not have enjoyed anybody to be able to force me to pay a lot of money to keep my domain. What about small independent websites? They would be forced to be profitable.

Example: http://blockchained.com
Imagine some large VC funded company wants to advertise on my site but I think they are a rip off and don't allow it. They pay some bucks and take over my site? No way would anybody in his right mind run a personal website on that system.

What about blackmailing for names? Pay me 1BTC or I will steal your name. What about non domain namespaces like bonds, IDs etc?

I think it will be very difficult to make your system well balance. Also Namecoin is already working fine, just like the old domains: Squatters don't want to sit on domains. If someone has a proper use for a domain he can simply buy the domain from the squatter. The new owner can resell it if somebody should show up who wants to pay even more.

If at all I can only see it coming for new/expired domains not for renewing.
hero member
Activity: 770
Merit: 566
fractally
What about name updates and stealing famous names from non profit websites. These might not be able to pay much but the names might still be of high value.

I think there should at least be namespaces for both ways of distribution.

What value is a famous name for a non-profit unless someone has a use for it?   If I buy it, do not use it, and cannot sell it then I lose money.   If I can use it to generate more money than the non-profit could with it, then I am actually doing more good for society than the so-called non-profit.   Now obviously, I couldn't grab redcross and then operate a business called 'RedCross' without having trademark issues.  Without the ability to use the name in a public, for-profit manner the name only really has as much value as RedCross is willing and able to pay for it.



hero member
Activity: 770
Merit: 566
fractally
The speed I was referring to was not from 'decision to purchase' to 'name owned'  but how many total names per second can be registered.   (Latency vs Throughput)  To be fair, my auction system would only support the same through put as Namecoin, but perhaps a higher latency.    Fortunately, I would never dream of using an auction system to allocate email names for BitMessage.  I have a different system in place that can handle 10K registrations per 5 minutes on a first-come basis with support for 1 billion accounts, renewed annually with 65 GB maximum data storage and 20kbit/sec maximum average data rate.    Namecoin is several orders of magnitude behind that system for email account registration.

The point is that if namecoin does price fixing all it does is result in an after-market, off-chain, auction.   The only way for someone to 'speculate' in this market safely is to buy names 1000 at a time and hope they can sell 1 or 2 of them to pay for the rest.  End result:  all 'good names' are owned and not available directly on chain.   You cannot escape market forces and that is why attempting to design a fixed-price rationing system in a block chain is counter productive and inefficient.    






legendary
Activity: 1708
Merit: 1020
3)  Fees from the initial bid are split between the the miner and dividends paid to those who hold the crypto-currency
Hmm, this would cause weird incentives for miners and stakeholders to pass through discounted name registration. The easiest solution for this is to destroy the fees. As Satoshi put it: "Think of it as a donation to everybody"

It seems like stakeholders and miners would want the highest possible initial bid, not discounted bids?  If I see two registrations for a name I will pick the highest.  Note that destruction of the money is effectively a dividend as it reduces the supply.  In the end this could result in a large portion of the money supply being destroyed.
Imagine I am a miner with a strong 5% network hashrate. Instead of making a public bid of 1BTC for a name you ask me in private. If I mine your transaction I get 50% of it back (minus ~2% orphaned block rate). I can easily give you a discount of 25% and still make 25% profit.

It might be possible to delay the fee payout to miners of on or more later blocks but once again it makes things more complicated. It may not always be easy to spot hidden incentives of such a system.
What good does this do you?   Just because you get your transaction in doesn't mean you own the name yet.  I could come along after you any time in the next 1000 blocks (72 hours) and out bid you with a new transaction in the blockchain.
This is not the point I am criticizing here. But paying fees for the first bid (partially) to miners leads to bad incentives. So the coins from the initial bid should be destroyed. Of course with 4) there is the same issue but there is the same solution.

4)  If someone outbids the initial bid, then half of the 'profit' is given to the original bid and half paid to the miner and dividends.
Very interesting idea. If somebody outbids you, you at least get a compensation. Also bidding is costly as long as the issue above does not occur.

Please note this is much more complicated than Namecoin is already now. With merge mining and name registration Namecoin is probably the most complex coin already now (As I understood Khal there is more difference between Bitcoin and Namecoin than between Bitcoin v0.3 and v0.Cool.

What about name updates and stealing famous names from non profit websites. These might not be able to pay much but the names might still be of high value.

I think there should at least be namespaces for both ways of distribution.
legendary
Activity: 1807
Merit: 1020
@bytemaster

I thought you said people didn't want to pay for email accounts? (assuming bitmessage used your naming system).

also.. if you want people to buy names faster than you can with namecoin, surely an auction system is actually slower?

also.. people can auction namecoin names if they wanted.. all we need is something like an exchange for names.. i was thinking of setting a site up to do this recently
hero member
Activity: 770
Merit: 566
fractally
3)  Fees from the initial bid are split between the the miner and dividends paid to those who hold the crypto-currency
Hmm, this would cause weird incentives for miners and stakeholders to pass through discounted name registration. The easiest solution for this is to destroy the fees. As Satoshi put it: "Think of it as a donation to everybody"

It seems like stakeholders and miners would want the highest possible initial bid, not discounted bids?  If I see two registrations for a name I will pick the highest.  Note that destruction of the money is effectively a dividend as it reduces the supply.  In the end this could result in a large portion of the money supply being destroyed.
Imagine I am a miner with a strong 5% network hashrate. Instead of making a public bid of 1BTC for a name you ask me in private. If I mine your transaction I get 50% of it back (minus ~2% orphaned block rate). I can easily give you a discount of 25% and still make 25% profit.

It might be possible to delay the fee payout to miners of on or more later blocks but once again it makes things more complicated. It may not always be easy to spot hidden incentives of such a system.
What good does this do you?   Just because you get your transaction in doesn't mean you own the name yet.  I could come along after you any time in the next 1000 blocks (72 hours) and out bid you with a new transaction in the blockchain.
hero member
Activity: 770
Merit: 566
fractally
As also snailbrain has already said, I don't think auctions are a good way to distribute names.  This would just benefit large NMC holders (early adopters or those who are rich enough to buy loads of coins later on), who would then be in a position to control what names the community gets.  Even if you mentioned that user names like bytemaster or domob wouldn't be of much value, I presume to you and me they are.  So what would you think about someone listening to the network and out-bidding you on bytemaster just because he/she has lots of coins?  They may even intend to sell the name to you after the fact, because your initial registration request proves to them you value the name and would possibly pay some extra amount to actually get it.

There are two different issues that I will address separately... early adopters take a huge risk by mining / promoting / investing in a new crypto-system.   It would be unfair if late-adopters were on the same footing as early adopters.   Note, even with name coin early adopters get to squat the good names relatively cheaply because they can buy up the namecoin.  So lets take 'fairness' out of the equation and focus on highest economic utility which actually benefits everyone.  At any time you can buy into the network and start receiving dividends from every name sold.   The longer you hold your coin the more purchasing power you will have.  

So lets see if it makes economic sense to outbid me in the purchase of 'bytemaster'.  Lets assume that it is worth $100 to me, but near 0 to everyone else, so I enter an initial bid of $1.0   Because you know it is worth *something* above 0 to me and you see that I have been using this handle and built up some reputation on it you bid $50.  I just made $24 dollars from you outbidding me.   So I place a new bid at $55 and you receive $52.50.   You still think I will pay more so you bid $75 and I receive $65 dollars.  I finally decide to bid $100 and you get  $87.50.    

At this point I have paid no more than what the name was worth *to me* so I have not been cheated.  Lets look at what everyone made/paid:
Me: -1 + $25.5 - 55 + 65 - 100                     => -$65.5
Network: $1 + $24.5 + $2.50 + $10 + $12.50 => $50.5
You:  -50 + 52.5 - 75 + 87.5                        => $15.00

Now lets assume you are some rich early adopter so you decided to bid it up even higher to say $110.
Now I have made $39.50 and you have paid $95 while the network made $55.50.  
Recognizing that I have a $39.50 profit, I can safely bid $139.50 and still walk away for $100 cost and you would have made $44.50.

So you decide to call my bluff and bid  $150, so I end up making $44.50, you get the name, and the network made $61.00.   You had to pay $105.50 net out of pocket.  I will not out bid you because the most I can afford to bid is $144.50 without my costs exceeding the $100 I was willing to pay for my name.

So the question becomes:  now that you own "bytemaster" for $105.50 at a net cost to you of $105.50...  what are you going to do with it?    You could go around pretending to be 'me', but we are assuming you are just some rich early adopter who is trying to profit off of late adopters and control who gets what name and how much they pay.    Now you end up with a name that only has value to me.  I if you don't turn around and sell it to me at a price I am willing to pay, I will take my $44.50 profits and attempt to buy bitemaster instead.   Once I own bitemaster I will no longer be in the market for bytemaster and therefore, the market value of 'bytemaster' will have fallen dramatically, perhaps 75% or more.  

Conclusion:  Everyone should be able to buy the name they want for a price they are willing to pay and anyone attempting to bid up a name too high purely for speculation purposes, would end up taking a loss.  

There are two ways to allocate scarce resources:  market or ration/price controls.    Attempts to fix the price too low will cause all of the names to be bought up by speculators who will then create an secondary market for the names.   If you fix the price too high, then people will simply not buy as many names as the market could otherwise use.    So what I conclude is that you *always* have an auction for names even with namecoin.   The problem is that namecoin price fixes all names to the same price and only 'rich speculators' can afford to buy enough names to profit 'on average'.     With my system, everyone can buy a share in the 'name squatting game' simply by holding the currency.  So I believe what I propose is inherently more fair.








 
legendary
Activity: 1708
Merit: 1020
3)  Fees from the initial bid are split between the the miner and dividends paid to those who hold the crypto-currency
Hmm, this would cause weird incentives for miners and stakeholders to pass through discounted name registration. The easiest solution for this is to destroy the fees. As Satoshi put it: "Think of it as a donation to everybody"

It seems like stakeholders and miners would want the highest possible initial bid, not discounted bids?  If I see two registrations for a name I will pick the highest.  Note that destruction of the money is effectively a dividend as it reduces the supply.  In the end this could result in a large portion of the money supply being destroyed.
Imagine I am a miner with a strong 5% network hashrate. Instead of making a public bid of 1BTC for a name you ask me in private. If I mine your transaction I get 50% of it back (minus ~2% orphaned block rate). I can easily give you a discount of 25% and still make 25% profit.

It might be possible to delay the fee payout to miners of on or more later blocks but once again it makes things more complicated. It may not always be easy to spot hidden incentives of such a system.
legendary
Activity: 1807
Merit: 1020
https://bitcointalk.org/index.php?topic=1790.222

maybe here you will find the original information of the birth of namecoin and alternatives
hero member
Activity: 770
Merit: 566
fractally
3)  Fees from the initial bid are split between the the miner and dividends paid to those who hold the crypto-currency
Hmm, this would cause weird incentives for miners and stakeholders to pass through discounted name registration. The easiest solution for this is to destroy the fees. As Satoshi put it: "Think of it as a donation to everybody"

It seems like stakeholders and miners would want the highest possible initial bid, not discounted bids?  If I see two registrations for a name I will pick the highest.  Note that destruction of the money is effectively a dividend as it reduces the supply.  In the end this could result in a large portion of the money supply being destroyed.
legendary
Activity: 1708
Merit: 1020
3)  Fees from the initial bid are split between the the miner and dividends paid to those who hold the crypto-currency

Hmm, this would cause weird incentives for miners and stakeholders to pass through discounted name registration. The easiest solution for this is to destroy the fees. As Satoshi put it: "Think of it as a donation to everybody"

Uh. How about: Not possible to build a secure (zero trust) lite resolver.  To safely and correctly resolve namecoin names you need to run a full namecoin node.

It's solvable but it needs at least a soft-forking block validity rule to fix.

I described the starting point of how to solve this years ago which has later evolved into the various committed utxo proposals, but not a whole lot of actual code.
What about a semi SPV client that would download all full blocks but throw away everything but name info? It could only accept domain name transactions as valid once they are buried beneath 10 blocks or so not matter if there are later changes. With DNS it is rarely a problem if your data takes some time to propagate - it should still be faster than ICANN propagation.

Also it is a big improvement IMHO if you only need to trust your provider's Namecoin server (just like his mail server) instead of centrally controlled authoritay.

legendary
Activity: 1135
Merit: 1166
As also snailbrain has already said, I don't think auctions are a good way to distribute names.  This would just benefit large NMC holders (early adopters or those who are rich enough to buy loads of coins later on), who would then be in a position to control what names the community gets.  Even if you mentioned that user names like bytemaster or domob wouldn't be of much value, I presume to you and me they are.  So what would you think about someone listening to the network and out-bidding you on bytemaster just because he/she has lots of coins?  They may even intend to sell the name to you after the fact, because your initial registration request proves to them you value the name and would possibly pay some extra amount to actually get it.

As far as I understand it, this is actually also the reason why in namecoin you have to issue two transactions to register a name - a first one with just a hash and after some confirmations the actual claim.  This prevents nodes or even miners to snatch away names for which they just saw a (still unconfirmed) registration transaction.  I honestly don't think this would be a fairer system - but I admit that the current registration cost could/should be raised to prevent squatting.  Regarding scalability, I think this is not something to worry about right now - as mentioned already in posts above (and by yourself) there are ways to address that which can be implemented in the future when the issue becomes pressing, but for the current user base it should be fine as it is right now.  Development is ongoing, and when the code will be ported to the bitcoin 0.8 base (which is IMHO more important at the moment) there may be time to work on better scalability.
hero member
Activity: 770
Merit: 566
fractally
Uh. How about: Not possible to build a secure (zero trust) lite resolver.  To safely and correctly resolve namecoin names you need to run a full namecoin node.

It's solvable but it needs at least a soft-forking block validity rule to fix.

I described the starting point of how to solve this years ago which has later evolved into the various committed utxo proposals, but not a whole lot of actual code.

This is a significant problem that I am aware of, but did not mention above so will send a tip to your donation address. 

I have two proposed 'solutions':
1) restrict the bandwidth and disk space available to something that would allow anyone to run a full node.
2) query many nodes and always pick the most recent transaction.

A merkle tree of all the last trx for each name with with 100 M names would be 4 GB.  And calculating it from scratch would be very CPU intensive.  I suppose this could be viable for heavy-weight servers to maintain.
staff
Activity: 4284
Merit: 8808
Uh. How about: Not possible to build a secure (zero trust) lite resolver.  To safely and correctly resolve namecoin names you need to run a full namecoin node.

It's solvable but it needs at least a soft-forking block validity rule to fix.

I described the starting point of how to solve this years ago which has later evolved into the various committed utxo proposals, but not a whole lot of actual code.
Pages:
Jump to: