Bitcoin Forum
September 25, 2016, 03:43:56 AM *
News: Latest stable version of Bitcoin Core: 0.13.0 (New!) [Torrent]. Make sure you verify it.
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 »  All
  Print  
Author Topic: BitDNS and Generalizing Bitcoin  (Read 89015 times)
ribuck
Donator
Legendary
*
Offline Offline

Activity: 826


View Profile
December 10, 2010, 02:59:27 PM
 #241

"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.
1474775036
Hero Member
*
Offline Offline

Posts: 1474775036

View Profile Personal Message (Offline)

Ignore
1474775036
Reply with quote  #2

1474775036
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
ribuck
Donator
Legendary
*
Offline Offline

Activity: 826


View Profile
December 10, 2010, 03:01:40 PM
 #242

I have fleshed out the DomainChain spec quite a bit more:
http://domainchain.org/wiki/doku.php?id=start

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
bitcoinex
Sr. Member
****
Offline Offline

Activity: 350


probiwon.com


View Profile WWW
December 10, 2010, 03:11:21 PM
 #243

"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.

bind9 is not the best format. pdns have a simple interface for plugins, do not worry.

New bitcoin lottery: probiwon.com
- Может, ты ещё и в Невидимую Руку Рынка веруешь? - Зачем же веровать в то, что можно наблюдать непосредственно?
RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
December 10, 2010, 04:50:01 PM
 #244

... 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.

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.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
ribuck
Donator
Legendary
*
Offline Offline

Activity: 826


View Profile
December 10, 2010, 04:58:15 PM
 #245

The reason why the payment is irreversible is because it is derived from a completely different chain.

Got you now. Yes, keeping two chains synchronised is fraught with difficulty.
satoshi
Founder
Sr. Member
*
Offline Offline

Activity: 364


View Profile
December 10, 2010, 05:29:28 PM
 #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
Donator
Legendary
*
Offline Offline

Activity: 826


View Profile
December 10, 2010, 06:55:35 PM
 #247

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.
RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
December 10, 2010, 07:03:24 PM
 #248

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.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
MoonShadow
Legendary
*
Offline Offline

Activity: 1666



View Profile
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
VIP
Sr. Member
*
Offline Offline

Activity: 314



View Profile
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
Full Member
***
Offline Offline

Activity: 210


View Profile
December 10, 2010, 07:20:44 PM
 #251

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.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
jgarzik
Legendary
*
Offline Offline

Activity: 1470


View Profile
December 10, 2010, 07:22:40 PM
 #252

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.

Jeff Garzik, bitcoin core dev team and BitPay engineer; opinions are my own, not my employer.
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
RHorning
Full Member
***
Offline Offline

Activity: 210


View Profile
December 10, 2010, 07:35:48 PM
 #253

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.

1FLK3uUT3Vup5JtkGJVXKHAoS3AZWPcKdv
jgarzik
Legendary
*
Offline Offline

Activity: 1470


View Profile
December 10, 2010, 07:41:41 PM
 #254

bitcoin itself is artificial scarcity.

Jeff Garzik, bitcoin core dev team and BitPay engineer; opinions are my own, not my employer.
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
satoshi
Founder
Sr. Member
*
Offline Offline

Activity: 364


View Profile
December 10, 2010, 07:55:12 PM
 #255

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.
kiba
Legendary
*
Offline Offline

Activity: 980


View Profile
December 10, 2010, 08:03:14 PM
 #256

bitcoin itself is artificial scarcity.

The supply of bitcoin is just an integer determined by network. Otherwise, bitcoin are non-scarce. I can copy a wallet a millllllllllllioooooooooon of time and it will contain the same integer. It's a very weird form of scarcity and non-scarcity.

Hal
VIP
Sr. Member
*
Offline Offline

Activity: 314



View Profile
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
Founder
Sr. Member
*
Offline Offline

Activity: 364


View Profile
December 10, 2010, 08:19:39 PM
 #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
Sr. Member
****
Offline Offline

Activity: 350


probiwon.com


View Profile WWW
December 10, 2010, 08:41:45 PM
 #259

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.

New bitcoin lottery: probiwon.com
- Может, ты ещё и в Невидимую Руку Рынка веруешь? - Зачем же веровать в то, что можно наблюдать непосредственно?
da2ce7
Legendary
*
Offline Offline

Activity: 1216


Live and Let Live


View Profile
December 11, 2010, 12:01:00 AM
 #260

It seems like killing two birds with one stone isn’t enough on the bitcoin forum; one has to kill three.

Firstly, I would like to commend nanotube's+theymos proposal.  I like it because it makes economic sense, and it is simple.
The design that I am proposing in this post is backwards compatible with nanotube's+theymos proposal, however solves all the ‘issues’ said. (I still think there is really nothing wrong about how it is proposed to work as it is.  However, if there is a better way of doing it, why not?)

Before we start, one must state that domain names a fundamentally different to currency, as they obtain their value in a very different manner; currency obtains values from being something that has restricted supply.  Domain names, rather have values from the quality of the name, i.e. a short dictionary word has more value that a long random sequence.

If a restriction of the total number of domain names is made, it would be an arbitrary restriction, causing a lower efficiency market, thus reducing the attractiveness of using that market.
So with this in mind, lets design a system that can have an unlimited number of domain names; providing people are willing to pay for the service of claiming the domain name.


The main concern on the forum is the inclusion of ‘other data’ in the block chain; the problem isn’t a fundamental one, as the bitcoin transactions block chain is indeed data in its own right.
In discussions elsewhere, it has been shown that:
1.   Generators will happily include any data that is profitable to include.
2.   The block size will grow to a size that balances data demands and the profitably of the miners.
3.   Clients only need to ‘keep’ data that they interested in.  Data that is irrelevant to the client may be forgotten once processed.
4.   Transaction balances may be used to cull the chain of old transactions.
Therefore it has already been shown that the amount of data in the chain is not an issue with: generation (they get paid for it), or storage (they only keep what they want).  The only outstanding issue is: transfers.

What has been discussed is that every client must download the entire block chain (before it is culled) then, every new block generated and check it.  Only after processing may a client delete any data that it doesn’t want.  This accounts for a small amount of work while the chain is small, however the fear is when large amounts of irrelevant data (to any particular client) is included in the chain this task will become overly taxing.


I propose, a design hinted at by Satoshi, to solve this problem:  Split bitcoin transactions into multiple groups.
While keeping the important tie between data and bitcoin transactions, (every bit of data still must include it’s compensation to the miners as a bitcoin transaction fee).
Group the transactions by templates.  For example:  Put the ‘vanilla template’ bitcoin transactions into the vanilla group, the ‘bitdns template’ bitcoin transactions into the bitdns group, the ‘bitpgp template’ bitcoin transactions into the bitpgp group, and so on.

Finally include a ‘summary’ group that contains only the changes to the transaction balances accumulated in all the other groups.

A Block could contain something like this:


Once one block has confirmed the previous block (checking that all the accounting is correct in the summary block), only downloading the merkle tree and the summary group is required to keep up2date about the changes.  This is in-effect less data than is required to download now! If the client decides that it needs some in-particular bit of data from one of the other groups after checking the summary, it can optionally download that also.

The important thing to notice is it that there is no free lunch, every bit of data must still include the appropriate transaction fees, in bitcoins.


Nanotube and Teymos’s design fits very nicely on top of this design, as the transactions that the BitDNS system makes will simply be automatically grouped by the template that the generators use to check the BitDNS transactions before accepting them. Allowing clients to download the BitDNS data if they want it, or just download the transaction summaries.

One off NP-Hard.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!