Bitcoin Forum
October 14, 2024, 08:46:26 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
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 122645 times)
em3rgentOrdr
Sr. Member
****
Offline Offline

Activity: 434
Merit: 252


youtube.com/ericfontainejazz now accepts bitcoin


View Profile WWW
December 05, 2010, 06:09:00 PM
 #61


I say we prove everyone wrong and do our own thing. Centralisation is a big steaming bag of FAIL.


Yes, yes. This is why I offered a bounty. I encourage everyone to pledge some bitcoins if they aren't capable of doing this project.

Why it is only 40 BTC at this stage is beyond me.

Where do I pledge?

"We will not find a solution to political problems in cryptography, but we can win a major battle in the arms race and gain a new territory of freedom for several years.

Governments are good at cutting off the heads of a centrally controlled networks, but pure P2P networks are holding their own."
RHorning
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
December 05, 2010, 06:18:24 PM
 #62

Where do I pledge?

http://bitcointalk.org/index.php?topic=2072.0
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1020


View Profile
December 05, 2010, 08:43:13 PM
 #63

Best way to get the BitDNS system running off the ground?

Adapt the bitcoin source code?

ribuck
Donator
Hero Member
*
Offline Offline

Activity: 826
Merit: 1060


View Profile
December 05, 2010, 09:18:14 PM
 #64

Quote from: irc
<genjix> dot-p2p: "We currently believe the best way to create a stable environment for TLDs is to enact a central authority...

Knew it. They sucks.

They are responding to a problem caused by a central authority by enacting ... another central authority. But I don't think it's because "they sucks". I think it's because they haven't been exposed to such a beautiful decentralised design as bitcoin.

Quote from: kiba
Best way to get the BitDNS system running off the ground?

Adapt the bitcoin source code?

Adapting the bitcoin source code is probably the only practical way for us to get this running. But first I would like to see us produce a brief white paper setting out the design principles, and a non-technical FAQ.
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1020


View Profile
December 05, 2010, 09:31:22 PM
 #65


Adapting the bitcoin source code is probably the only practical way for us to get this running. But first I would like to see us produce a brief white paper setting out the design principles, and a non-technical FAQ.

Ribuck, If only I have the necessary knowledge to adapt it, I would have dropped it and just implement it.

RHorning
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
December 05, 2010, 10:12:27 PM
 #66

Adapting the bitcoin source code is probably the only practical way for us to get this running. But first I would like to see us produce a brief white paper setting out the design principles, and a non-technical FAQ.

What kind of time-frame are we talking about here in terms of getting at least a "proof of concept" project going?

If it took a year, it seems like something else would be taking its place, but if we got some software up and going in the next month or two it seems like the "distributed DNS" supporters might really pay attention to BitDNS.  Indeed, with the philosophies of Bitcoin already established, I don't think there is nearly as much "debugging" to get this going as it may seem.  Some, yes. But it isn't the end of the world.  Getting something done by tomorrow may be a bit more difficult.

The time frame of this idea is something that I believe has a short time span to at least get something to the table, even if there might be some competing ideas.  The strengths of using Bitcoins and a Bitcoin-like system are things that solve many of the problems being proposed from what I've seen.

Writing up a white paper?  It would be nice and if you want to start that I would be willing to contribute to the content, but I would rather be programming right now at least to come up with a rough mock-up of the idea.
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1020


View Profile
December 05, 2010, 10:17:14 PM
 #67

Speed is of the essence if we're going to show .p2p how to really do distributed DNS.

ribuck
Donator
Hero Member
*
Offline Offline

Activity: 826
Merit: 1060


View Profile
December 05, 2010, 10:33:30 PM
 #68

What kind of time-frame are we talking about here in terms of getting at least a "proof of concept" project going?

I think this schedule may be possible:

1. Two weeks: Prepare, agree and release three documents: an overview in non-technical language, a FAQ, and a technical but informal white paper which expounds the motivation and the design principles.

2. Three months: Demonstrate a "proof of concept" on a test network.

3. Six months: Release a basic but usable version 0.1.

(4. Generate some names while the difficulty is low.
5. Profit!)

Writing up a white paper?  It would be nice and if you want to start that I would be willing to contribute to the content, but I would rather be programming right now at least to come up with a rough mock-up of the idea.

I will start on the documents. I would rather be programming too, but as kiba says: time is of the essence. This is an idea whose time has come. We can't get this done with just RHorning, kiba and me. We have to build a team. And a set of basic documents serves two important purposes: it attracts newcomers to the team, and it helps to keep the whole team working towards the same goal.

Here are some early tasks that fall on the "non-documentation" side, in case you or anyone else is interested.

* Set up the development environment. Are we going to use SourceForge? GitHub?
* Choose a project name. We've been using "BitDNS", but it's not really an accurate name because we're not reimplementing DNS, just domain name registration. Then register the ".org" domain.
* Set up a build process so that we can distribute for Windows, Linux and OS/X.
* Read, learn and understand the Bitcoin source code and its underlying principles.
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1020


View Profile
December 05, 2010, 10:40:35 PM
 #69

* Set up the development environment. Are we going to use SourceForge? GitHub?

Github and git. I like. It's distributed version control system. Any developer can fork the project and continue on their own implementation and they can request pulls as necessary.

Also remember, everything is in version control. If you messed up the code, it's not a big deal. Just revert to the last state. Remember to commit as well push often too.

chaord
Full Member
***
Offline Offline

Activity: 218
Merit: 101


View Profile
December 05, 2010, 10:43:58 PM
 #70

I would like to be looped into this project.  I think that something like BitDNS can provide the intrinsic "use value" for bitcoin.  I'm a firm believe that bitcoin in its current state is a solution looking for a specific problem.  Perhaps a distributed dns is that "problem."  This is exciting!
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1020


View Profile
December 05, 2010, 10:45:21 PM
 #71

I would like to be looped into this project.

By all means, pledge some bitcoins if you can't code, or do anything. I can't do any of the real important stuff, but I can show that I am serious.

RHorning
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
December 05, 2010, 11:17:03 PM
 #72


Here are some early tasks that fall on the "non-documentation" side, in case you or anyone else is interested.

* Set up the development environment. Are we going to use SourceForge? GitHub?
* Choose a project name. We've been using "BitDNS", but it's not really an accurate name because we're not reimplementing DNS, just domain name registration. Then register the ".org" domain.
* Set up a build process so that we can distribute for Windows, Linux and OS/X.
* Read, learn and understand the Bitcoin source code and its underlying principles.

For the source repository, I am agnostic toward that as long as I can get the source files in and out.  SourceForge has been pretty good to me in the past and it has worked out with other projects I've been involved with, so I sort of lean that way although it appears Kiba love Git.  I'm fine with that too.

As for a project name, how about DomainCoins?  Otherwise I love more obscure ancient dieties/demigods as names and there are a few out there.  I guess the choice here is one that is more functional or one that can be memorable.  Does anybody know a name of some ancient diety of finance or accounting?  Babylonian and Aztec gods would be especially interesting.  Either that or simply a whimsical name that may not mean anything at all.

For a build process, I'm not really particular either but I do insist upon "free" or "open source" tool chains.  I personally am not a big fan of C++ (sort of antagonist about the language) but I'll contribute however anybody else wants to go.  I agree that it should be built on all of those platforms and be capable of going to more.  I have a stronger preference to C# on Mono if that matters any where MonoDevelop is a pretty good environment.

In term of reading up and understanding the Bitcoin source code.... I'm way ahead of you there.  I've been pounding my head against that for awhile now.  There still is more to pour through, but I'm finally starting to get a good grasp of the base network layer now even if some of the details like the block rejection rules aren't quite so firm yet.  Expanding the documentation would be still beneficial.
RHorning
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
December 05, 2010, 11:54:55 PM
 #73

I would like to be looped into this project.  I think that something like BitDNS can provide the intrinsic "use value" for bitcoin.  I'm a firm believe that bitcoin in its current state is a solution looking for a specific problem.  Perhaps a distributed dns is that "problem."  This is exciting!

There still are some technical challenges here that I am not completely sure how to solve.  In this regard, all of the help we can get will be appreciated and there will certainly be some "heavy lifting" where I think there can be some good division of labor in terms of separate parts that can be worked on.

Major areas will include:

* GUI design - coming up with the visual appearance and organization for the project.  Most GUI design is simply awful, and it is something I've struggled with over the course of decades and still don't get done very well.
* Networking communication - How the client will communicate with other nodes?  Even that is something which can be sub-divided after a fashion, but it will be a crucial piece.
* Database organization and communication - Even choosing a database route isn't going to be easy, either from a "roll your own" to something like MySQL or BerkleyDB.  Potentially this is something which could get into the terabyte range for storage requirements, so we do need to be careful on some of the decisions we make here.
* DNS communication - ideally what should happen is that the client would become a source of domain information that could be referenced with other DNS records.  For a home office/small business this could be on the same computer but for some businesses or schools they could even put this in their server room as a part of the main domain resolver path for their network.
* Interfacing with the Bitcoin network - How will the usage of this software connect to the Bitcoin network, transfer payments from "registrants" to "registrars" (aka "miners"), and what is a "fair" way to make sure that the people receiving money are going to be paid?
* Thin client design - How can you set up something that would retrieve the "database" yet not be a miner?  Is this even an issue?

Non technical issues include:

* Establishing Problem Domain - just what is it that this software needs to accomplish?  Who would use it and why?  What is it that they need?
* Potential Social Conflicts - What sort of "legal" requirements might there be for "domain registrations" and what do we do about them?  Do we care?  Even if we ignore the law in this case, what would most network users expect from a domain registration?
* Marketing - How do we sell this software so far as to get people to use it?  How can publicity be spread about it once it becomes available.  What sort of outlets are there which might be interested in using this.  If we told a business they could run a domain server and make money (by "mining" registration applications) simply by having it in their server room, would that be something they might adopt?
* Finding "customers" for domain registration - This is more to the marketing, but with a concentration on just those who might want to use domain registration.  Some of this is also going to be an issue in terms of breadth of the adoption of the concept, but what groups might be interested in using this as registration?  Obviously bitcoin users would be an early adopter, but anybody else?

Some of these have some "milestones" that must be met before other things can happen, but at the same time there are things which can be done simultaneously.  Any other ideas for things that might be facing this in terms of a breakdown of tasks?
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1020


View Profile
December 06, 2010, 12:00:39 AM
 #74

* Potential Social Conflicts - What sort of "legal" requirements might there be for "domain registrations" and what do we do about them?  Do we care?

When in doubt, remove human elements. Adopt certainty of computer software code over uncertainty of judges. Complicated rules invite gaming and abuse.

ribuck
Donator
Hero Member
*
Offline Offline

Activity: 826
Merit: 1060


View Profile
December 06, 2010, 11:45:43 AM
 #75

When in doubt, remove human elements. Adopt certainty of computer software code over uncertainty of judges. Complicated rules invite gaming and abuse.
Kiba is wise.
Anonymous
Guest

December 06, 2010, 11:53:37 AM
 #76

I suggest tahoe lafs if you are looking for a database for storage.
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1020


View Profile
December 06, 2010, 01:12:33 PM
 #77

I suggest tahoe lafs if you are looking for a database for storage.

Remember, speed is of the essence. We can alway replace the database with something else, but not time.

All non-essential features should be blocked from implementation focus.

That mean the core developers don't work on a fancy GUI. They will focus on:

1. The mechanism to mine, register, and change a domain name.

2. The mechanism to distribute or output the DNS database.

RHorning
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
December 06, 2010, 04:17:38 PM
 #78

I suggest tahoe lafs if you are looking for a database for storage.

Remember, speed is of the essence. We can alway replace the database with something else, but not time.

All non-essential features should be blocked from implementation focus.

That mean the core developers don't work on a fancy GUI. They will focus on:

1. The mechanism to mine, register, and change a domain name.

2. The mechanism to distribute or output the DNS database.

GUI design is important, but it is also something that non-techies can help with even if all you do is make a mock-up in something like MS-Paint or GIMP.  Getting the buttons to work is a bit harder, but not really so much.  The tough part about GUI design is that it is an art skill, something that techies often lack.  There is much more about artistic balance, the golden mean, and selecting colors or icons that aren't offensive to certain cultures (yellow buttons are a bad idea in Chinese culture, for instance, or showing a swastika to a bunch of germans).

I agree that there are priorities in terms of getting the network layer put together first, but if we can get more people involved I don't think it should be dead last in priority either and certainly can be worked on concurrently with other projects.
kiba
Legendary
*
Offline Offline

Activity: 980
Merit: 1020


View Profile
December 06, 2010, 04:25:14 PM
 #79

Yes, the core developers should be focused on the network and the protocol.

I am making it my project to write a BitDNS client. I don't need the bitcoins. I just want to help so that the core developers can focus on the important stuff.

ribuck
Donator
Hero Member
*
Offline Offline

Activity: 826
Merit: 1060


View Profile
December 06, 2010, 05:04:01 PM
 #80

I am making it my project to write a BitDNS client.

Before we go too far down the track, can we agree on a project name? I'm uneasy about BitDNS, because we aren't writing a Domain Name Server. How about BitDomains, or DomainChain?
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:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!