ribuck

Hero Member



Offline



Activity: 826

Merit: 1007







DonatorHero MemberActivity: 826Merit: 1007 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 02:59:27 PM #241 Quote from: bitcoinex on December 10, 2010, 02:51:50 PM "powerdns" can work with plugins and with bind9 configs by default. We can write a plugin for it.



No-one has made a proof-of-concept, but we think that all we need is a program that trawls through the block chain, extracts the registration details, and writes them out in bind's data format. No plugin or hacks should be needed. No-one has made a proof-of-concept, but wethat all we need is a program that trawls through the block chain, extracts the registration details, and writes them out in bind's data format. No plugin or hacks should be needed.

ribuck

Hero Member



Offline



Activity: 826

Merit: 1007







DonatorHero MemberActivity: 826Merit: 1007 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 03:01:40 PM #242

http://domainchain.org/wiki/doku.php?id=start



Quote from: bitcoinex on December 10, 2010, 02:41:39 PM Also names should be allowed to specify 3rd or more level domain names too.



Yep, that's in the spec. But it's only useful if you know that someone is going to serve them. For example, the owner of some.domain might announce that they will serve any subdomain that people register of the form something.some.domain I have fleshed out the DomainChain spec quite a bit more:Yep, that's in the spec. But it's only useful if you know that someone is going to serve them. For example, the owner of some.domain might announce that they will serve any subdomain that people register of the form something.some.domain

RHorning



Offline



Activity: 224

Merit: 104







Full MemberActivity: 224Merit: 104 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 04:50:01 PM #244 Quote from: ribuck on December 10, 2010, 02:57:37 PM Quote from: RHorning on December 10, 2010, 01:39:27 PM ... Keep in mind that once a fee is processed in Bitcoin, it is irreversible. If there is a chain split on the domain records due to a formatting/authentication dispute ... those Bitcoin transactions may be going to an authenticator who in fact never did get the registration done because the majority of the network has ignored that domain registration block



That doesn't really reflect how it works. If there is a chain split, eventually the network will settle on one of the chains. The generator that mined the block in the "winning" chain gets the transaction fee.



There is no "irreversible" payment to the generator in the "losing" chain. Well, in a sense it is irreversible but as they can only spend it in the losing chain it's not much use to them.

That doesn't really reflect how it works. If there is a chain split, eventually the network will settle on one of the chains. The generator that mined the block in the "winning" chain gets the transaction fee.There is no "irreversible" payment to the generator in the "losing" chain. Well, in a sense it is irreversible but as they can only spend it in the losing chain it's not much use to them.

I think you got the context mixed up here. The reason why the payment is irreversible is because it is derived from a completely different chain. If there is a chain split in the domain registry chain, the fees spent as bitcoins (going into a completely different system) will have already been spent for those block in the "losing" chain. Transaction going into that "losing block" are essentially a wasted effort.



I'm suggesting that somebody simply sets up enough of the protocol to be able to appear to be following the domain processing rules so as to appear "legit", but they only have to make an appearance to get a block accepted. Perhaps they even get some blocks accepted, but then start to make up stuff or somebody attempts to register an existing name (as a scammer claiming they can hijack a domain from somebody else or however). If there is any reason why the rest of the network doesn't accept the block, for any reason, all of the fees collected by that "miner" or "registrar" would still be collected by that scammer regardless of if it actually gets into the chain.



On the other hand, if the block being "authenticated" is a part of the same chain that creates the currency, this isn't a problem. If the blocks get rejected by the network, any fees (set up in a system like how transaction fees are done with Bitcoin) are also similarly rejected by the network too. Any chain splits remove any fees paid to "losing" blocks and therefore can be ignored. This is why the authentication must happen in the same chain as the transaction. Either that is in Bitcoin or a parallel currency, but if it is with Bitcoin, the authentication must happen within the Bitcoin network too. Otherwise, there isn't a way to get payment to the miner with an outside currency that is similar to Bitcoin without fraud and a significant attack on the payment system. This is fraud because a service is being claimed and paid for, but the service isn't being rendered.



Hacking the data into Bitcoin transactions does not perform authentication of the data and pushes that need somewhere else. In effect, it permits "double spending" of a domain name or allocation of a domain name to more than one person with ambiguity over who actually owns that domain. I think you got the context mixed up here. The reason why the payment is irreversible is because it is derived from a completely different chain. If there is a chain split in the domain registry chain, the fees spent as bitcoins (going into a completely different system) will have already been spent for those block in the "losing" chain. Transaction going into that "losing block" are essentially a wasted effort.I'm suggesting that somebody simply sets up enough of the protocol to be able to appear to be following the domain processing rules so as to appear "legit", but they only have to make an appearance to get a block accepted. Perhaps they even get some blocks accepted, but then start to make up stuff or somebody attempts to register an existing name (as a scammer claiming they can hijack a domain from somebody else or however). If there is any reason why the rest of the network doesn't accept the block, for any reason, all of the fees collected by that "miner" or "registrar" would still be collected by that scammer regardless of if it actually gets into the chain.On the other hand, if the block being "authenticated" is a part of the same chain that creates the currency, this isn't a problem. If the blocks get rejected by the network, any fees (set up in a system like how transaction fees are done with Bitcoin) are also similarly rejected by the network too. Any chain splits remove any fees paid to "losing" blocks and therefore can be ignored. This is why the authentication must happen in the same chain as the transaction. Either that is in Bitcoin or a parallel currency, but if it is with Bitcoin, the authentication must happen within the Bitcoin network too. Otherwise, there isn't a way to get payment to the miner with an outside currency that is similar to Bitcoin without fraud and a significant attack on the payment system. This is fraud because a service is being claimed and paid for, but the service isn't being rendered.Hacking the data into Bitcoin transactions does not perform authentication of the data and pushes that need somewhere else. In effect, it permits "double spending" of a domain name or allocation of a domain name to more than one person with ambiguity over who actually owns that domain.

satoshi

Sr. Member



Offline



Activity: 364

Merit: 2583







FounderSr. MemberActivity: 364Merit: 2583 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 05:29:28 PM

Last edit: December 11, 2010, 12:28:48 PM by satoshi Merited by BitcoinFX (1) #246 Piling every proof-of-work quorum system in the world into one dataset doesn't scale.



Bitcoin and BitDNS can be used separately. Users shouldn't have to download all of both to use one or the other. BitDNS users may not want to download everything the next several unrelated networks decide to pile in either.



The networks need to have separate fates. BitDNS users might be completely liberal about adding any large data features since relatively few domain registrars are needed, while Bitcoin users might get increasingly tyrannical about limiting the size of the chain so it's easy for lots of users and small devices.



Fears about securely buying domains with Bitcoins are a red herring. It's easy to trade Bitcoins for other non-repudiable commodities.



If you're still worried about it, it's cryptographically possible to make a risk free trade. The two parties would set up transactions on both sides such that when they both sign the transactions, the second signer's signature triggers the release of both. The second signer can't release one without releasing the other.

ribuck

Hero Member



Offline



Activity: 826

Merit: 1007







DonatorHero MemberActivity: 826Merit: 1007 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 06:55:35 PM #247 Quote from: satoshi on December 10, 2010, 05:29:28 PM Piling every proof-of-work quorum system in the world into one dataset doesn't scale.

If you say "no" after you've seen how this runs on the test network, I will totally respect that and won't generate domain registrations on the live network.



Bitcoin is your bird, and if you don't want it to soar as high as it can, that's OK.



But even if the domain name stuff is on a separate chain, there is still going to be a Bitcoin transaction for every DNS registration. So having two chains would cause no reduction in the number of Bitcoin transactions, just 40 or 50 bytes reduction in the size of the transactions in the Bitcoin chain. If you say "no" after you've seen how this runs on the test network, I will totally respect that and won't generate domain registrations on the live network.Bitcoin is your bird, and if you don't want it to soar as high as it can, that's OK.But even if the domain name stuff is on a separate chain, there is still going to be a Bitcoin transaction for every DNS registration. So having two chains would cause no reduction in theof Bitcoin transactions, just 40 or 50 bytes reduction in theof the transactions in the Bitcoin chain.

RHorning



Offline



Activity: 224

Merit: 104







Full MemberActivity: 224Merit: 104 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 07:03:24 PM

Last edit: December 10, 2010, 07:13:50 PM by RHorning #248 Quote from: satoshi on December 10, 2010, 05:29:28 PM Fears about securely buying domains with Bitcoins are a red herring. It's easy to trade Bitcoins for other non-repudiable commodities.

I dont see how this was a red herring. Unfortuantely if you use a Bitcoin-like system of authentication of a transaction, you can't conduct that transaction in Bitcoins, at least for authentication transaction fees.



Quote If you're still worried about it, it's cryptographically possible to make a risk free trade. The two parties would set up transactions on both sides such that when they both sign the transactions, the second signer's signature triggers the release of both. The second signer can't release one without releasing the other.



I'm really curious about how you make this sort of transaction risk-free without having it integral to Bitcoin as some sort of authentication mechanism.



One thing that really makes this nasty is that the "miner" is unknown until the block is added into an authentication hash tree. You don't have the two key release mechanism because one of the parties in the transaction is unknown until after the hash is successfully put in, and even that is conditional.



It makes it much more secure and coincidentally easier to scale to treat it as a simple exchange between two currencies, something that happens entirely outside of the system as evidenced by the various exchanges that already exist between Bitcoin and other currencies. BTW, I agree that Bitcoin or any other monolithic application should not be the ultimate repository of all human knowledge and interaction, as I don't think any sort of system can possibly scale to that size. I'm not even sure TCP/IP itself can scale to that size.



This is much of what Jgarzik has said that it is unworkable, but going from a different perspective. The problem is that everybody is trying to get these fees paid for with bitcoins, and I don't think that can be done at all, at least directly. As an indirect mechanism, perhaps, such as a floating currency that isn't locked down until after the exchange takes place.



BTW, the idea of a "locking exchange" would be a fantastic idea for a peer-to-peer currency exchange network, particularly for electronic currencies like Bitcoin or Liberty Reserve. I just don't see how you can put any sort of authentication transaction fee in a block that is denominated by a currency other than the currency represented by that block itself. I dont see how this was a red herring. Unfortuantely if you use a Bitcoin-like system of authentication of a transaction, you can't conduct that transaction in Bitcoins, at least for authentication transaction fees.I'm really curious about how you make this sort of transaction risk-free without having it integral to Bitcoin as some sort of authentication mechanism.One thing that really makes this nasty is that the "miner" is unknown until the block is added into an authentication hash tree. You don't have the two key release mechanism because one of the parties in the transaction is unknown until after the hash is successfully put in, and even that is conditional.It makes it much more secure and coincidentally easier to scale to treat it as a simple exchange between two currencies, something that happens entirely outside of the system as evidenced by the various exchanges that already exist between Bitcoin and other currencies. BTW, I agree that Bitcoin or any other monolithic application should not be the ultimate repository of all human knowledge and interaction, as I don't think any sort of system can possibly scale to that size. I'm not even sure TCP/IP itself can scale to that size.This is much of what Jgarzik has said that it is unworkable, but going from a different perspective. The problem is that everybody is trying to get these fees paid for with bitcoins, and I don't think that can be done at all, at least directly. As an indirect mechanism, perhaps, such as a floating currency that isn't locked down until after the exchange takes place.BTW, the idea of a "locking exchange" would be a fantastic idea for a peer-to-peer currency exchange network, particularly for electronic currencies like Bitcoin or Liberty Reserve. I just don't see how you can put any sort of authentication transaction fee in a block that is denominated by a currency other than the currency represented by that block itself.

MoonShadow



Offline



Activity: 1708

Merit: 1000









LegendaryActivity: 1708Merit: 1000 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 07:11:28 PM #249 Also, why on Earth would a BitDNS want a blockchain that updates every 10 minutes? Why not an hour instead? Or every minute? Why be chained to the cycles set for another purpose? It's less than ideal from the beginning. "The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."



- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'

Hal

Sr. Member



Offline



Activity: 314

Merit: 1014









VIPSr. MemberActivity: 314Merit: 1014 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 07:14:04 PM #250 Satoshi, are you endorsing the idea that additional block chains would each create their own flavor of coins, which would trade with bitcoins on exchanges? These chain-specific coins would be used to reward miners on those chains, and to purchase some kinds of rights or privileges within the domain of that chain? Hal Finney

RHorning



Offline



Activity: 224

Merit: 104







Full MemberActivity: 224Merit: 104 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 07:20:44 PM #251 Quote from: creighto on December 10, 2010, 07:11:28 PM Also, why on Earth would a BitDNS want a blockchain that updates every 10 minutes? Why not an hour instead? Or every minute? Why be chained to the cycles set for another purpose? It's less than ideal from the beginning.



This is indeed something that can be tweaked, but the issue has to do with network latency, which is independent of the purpose for which the "currency" was created. 10 minutes is a guess that has worked out pretty well. Yes, it could be longer or shorter. Shorter intervals increase hash collisions from multiple "miners" and a longer intervals decrease those collisions. 10 minutes is also something tolerable on average to somebody used to using computers, certainly if you have experienced sending information and expecting a reply by e-mail. Domain registrations in particular may take a day or so for processing, depending on the registrar and the method of payment, so anything less than a 10 minute interval seems like a waste of effort.



In short, the reasons why 10 minute intervals would apply to Bitcoin apply equally well to any other peer-to-peer cryptocurrency with what other applications are using similar principles. This is indeed something that can be tweaked, but the issue has to do with network latency, which is independent of the purpose for which the "currency" was created. 10 minutes is a guess that has worked out pretty well. Yes, it could be longer or shorter. Shorter intervals increase hash collisions from multiple "miners" and a longer intervals decrease those collisions. 10 minutes is also something tolerable on average to somebody used to using computers, certainly if you have experienced sending information and expecting a reply by e-mail. Domain registrations in particular may take a day or so for processing, depending on the registrar and the method of payment, so anything less than a 10 minute interval seems like a waste of effort.In short, the reasons why 10 minute intervals would apply to Bitcoin apply equally well to any other peer-to-peer cryptocurrency with what other applications are using similar principles.

jgarzik



Offline



Activity: 1596

Merit: 1007







LegendaryActivity: 1596Merit: 1007 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 07:22:40 PM #252 Quote from: Hal on December 10, 2010, 07:14:04 PM Satoshi, are you endorsing the idea that additional block chains would each create their own flavor of coins, which would trade with bitcoins on exchanges? These chain-specific coins would be used to reward miners on those chains, and to purchase some kinds of rights or privileges within the domain of that chain?



It might be coins, but it doesn't have to be. Your reward could be a portion of namespace, ie. the domains themselves.



The possibilities are endless.



Bitcoin rewards you, essentially, with a piece of [digital] property. It might be coins, but it doesn't have to be. Your reward could be a portion of namespace, ie. the domains themselves.The possibilities are endless.Bitcoin rewards you, essentially, with a piece of [digital] property. Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.

Visit bloq.com / metronome.io

Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj

RHorning



Offline



Activity: 224

Merit: 104







Full MemberActivity: 224Merit: 104 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 07:35:48 PM #253 Quote from: jgarzik on December 10, 2010, 07:22:40 PM It might be coins, but it doesn't have to be. Your reward could be a portion of namespace, ie. the domains themselves.



The possibilities are endless.



Bitcoin rewards you, essentially, with a piece of [digital] property.



If you are a miner and you "win" the block, yes, you can throw in any domains to the chain for free I suppose, and the network could accept or reject your block depending on whatever rules that network sets up to regulate that behavior. That is like a Bitcoin miner can throw any transactions they care for as much as they care without having to pay a transaction fee, since they are paying for themselves. Including a transaction fee in the process is just rearranging coins and doesn't change the net amount actually being spent or received.



I think that is of limited utility, unless you are saying that miners can eventually "earn" the "right" to a top-level domain after a certain number of hashes and inclusions into the domain registry. That would be an artificial form of scarcity that would be interesting to implement, but it still fails to get fees paid by registrants to the registrar. It would just make you "god-king" over a particular TLD... if you really "owned" that.



Such a non-coin "reward" also doesn't provide any incentive to maintain the database, while a coin-based reward would. If you are a miner and you "win" the block, yes, you can throw in any domains to the chain for free I suppose, and the network could accept or reject your block depending on whatever rules that network sets up to regulate that behavior. That is like a Bitcoin miner can throw any transactions they care for as much as they care without having to pay a transaction fee, since they are paying for themselves. Including a transaction fee in the process is just rearranging coins and doesn't change the net amount actually being spent or received.I think that is of limited utility, unless you are saying that miners can eventually "earn" the "right" to a top-level domain after a certain number of hashes and inclusions into the domain registry. That would be an artificial form of scarcity that would be interesting to implement, but it still fails to get fees paid by registrants to the registrar. It would just make you "god-king" over a particular TLD... if you really "owned" that.Such a non-coin "reward" also doesn't provide any incentive to maintain the database, while a coin-based reward would.

satoshi

Sr. Member



Offline



Activity: 364

Merit: 2583







FounderSr. MemberActivity: 364Merit: 2583 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 07:55:12 PM

Last edit: December 10, 2010, 10:16:10 PM by satoshi Merited by Aveatrex (1) #255 Quote from: Hal on December 10, 2010, 07:14:04 PM additional block chains would each create their own flavor of coins, which would trade with bitcoins on exchanges? These chain-specific coins would be used to reward miners on those chains, and to purchase some kinds of rights or privileges within the domain of that chain?

Right, the exchange rate between domains and bitcoins would float.



A longer interval than 10 minutes would be appropriate for BitDNS.



So far in this discussion there's already a lot of housekeeping data required. It will be much easier if you can freely use all the space you need without worrying about paying fees for expensive space in Bitcoin's chain. Some transactions:



Changing the IP record.



Name change. A domain object could entitle you to one domain, and you could change it at will to any name that isn't taken. This would encourage users to free up names they don't want anymore. Generated domains start out blank and the miner sells it to someone who changes it to what they want.



Renewal. Could be free, or maybe require consuming another domain object to renew. In that case, domain objects (domaincoins?) could represent the right to own a domain for a year. The spent fee goes to the miners in the next block fee. Right, the exchange rate between domains and bitcoins would float.A longer interval than 10 minutes would be appropriate for BitDNS.So far in this discussion there's already a lot of housekeeping data required. It will be much easier if you can freely use all the space you need without worrying about paying fees for expensive space in Bitcoin's chain. Some transactions:Changing the IP record.Name change. A domain object could entitle you to one domain, and you could change it at will to any name that isn't taken. This would encourage users to free up names they don't want anymore. Generated domains start out blank and the miner sells it to someone who changes it to what they want.Renewal. Could be free, or maybe require consuming another domain object to renew. In that case, domain objects (domaincoins?) could represent the right to own a domain for a year. The spent fee goes to the miners in the next block fee.

Hal

Sr. Member



Offline



Activity: 314

Merit: 1014









VIPSr. MemberActivity: 314Merit: 1014 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 08:12:02 PM #257 OK so if there are going to be bitdnscoins (aka DCCs, DomainChain Coins) then they have to be useful for something. Otherwise every BitDNS miner is going to fill every block with his own domain name registrations, rather than replace one with someone else's registration in exchange for a transaction fee in a useless currency.



The rules have to be that you have to spend a certain amount of bitdnscoins/DCCs in order to register your names and/or do other BitDNS transactions. That's the only way to make this alternative currency desirable and valuable.



(Well we could do like Bitcoin and say there would only ever be 22 million DCCs ever created, so they'd get valuable from scarcity just like bitcoins. But that seems weak.) Hal Finney

satoshi

Sr. Member



Offline



Activity: 364

Merit: 2583







FounderSr. MemberActivity: 364Merit: 2583 Re: BitDNS and Generalizing Bitcoin December 10, 2010, 08:19:39 PM

Last edit: December 11, 2010, 12:30:09 PM by satoshi #258 I agree. All transactions, IP changes, renewals, etc. should have some fee that goes to the miners.



You might consider a certain amount of work to generate a domain, instead of a fixed total circulation. The work per domain could be on a schedule that grows with Moore's Law. That way the number of domains would grow with demand and the number of people using it.

bitcoinex



Offline



Activity: 350

Merit: 250





probiwon.com







Sr. MemberActivity: 350Merit: 250probiwon.com Re: BitDNS and Generalizing Bitcoin December 10, 2010, 08:41:45 PM #259 Quote from: creighto on December 10, 2010, 07:11:28 PM Also, why on Earth would a BitDNS want a blockchain that updates every 10 minutes? Why not an hour instead? Or every minute? Why be chained to the cycles set for another purpose? It's less than ideal from the beginning.



Then be sure to add the ability to specify multiple authoritative servers for one domain. This is possible for DNS as I know (MS Windows AD does it)



So those who do not want what their site to be able to shutdown can make a lot of spare servers and when they turned off by Big Brother name owner just change the settings by removing old servers and adding new ones. Then be sure to add the ability to specify multiple authoritative servers for one domain. This is possible for DNS as I know (MS Windows AD does it)So those who do not want what their site to be able to shutdown can make a lot of spare servers and when they turned off by Big Brother name owner just change the settings by removing old servers and adding new ones. probiwon.com

- Moжeт, ты eщё и в Heвидимyю Pyкy Pынкa вepyeшь? - Зaчeм жe вepoвaть в тo, чтo мoжнo нaблюдaть нeпocpeдcтвeннo? New bitcoin lottery:- Moжeт, ты eщё и в Heвидимyю Pyкy Pынкa вepyeшь? - Зaчeм жe вepoвaть в тo, чтo мoжнo нaблюдaть нeпocpeдcтвeннo?