Pages:
Author

Topic: [REVIEW] Name lookup branch (bitcoind send [email protected] 99999) (Read 7448 times)

legendary
Activity: 2576
Merit: 1186
The HTTP error codes are encoded into the JSON. But there are other errors like wrong username/password combination or status updates like new address added. You can't use HTTP header codes for those.
Sure you can. 401 and 200-202 look appropriate.
legendary
Activity: 1232
Merit: 1076
The HTTP error codes are encoded into the JSON. But there are other errors like wrong username/password combination or status updates like new address added. You can't use HTTP header codes for those.
legendary
Activity: 2576
Merit: 1186
Usernames are case insensitive and can contain any character.
Why not leave that up to the server to decide?
The POST queries return a JSON. If there's a key by the name of "status" then it was successful and the value will give you an update as to what occured. If there's a key called "error" then it was unsuccessful and the value is an error message. The JSONs can also have other entries depending.
Is there a reason not to return either a 302 Found pointing to a bitcoin: URI, or else a standard HTTP error? I don't see why this needs JSON at all...
legendary
Activity: 1232
Merit: 1076
I'm thinking that on first usage, it seamlessly creates a new account and uploads the public key of the first bitcoin address in your wallet. Then you sign further POST requests using that key. That way the server can verify that you are who you claim to be.

Should a person need to have their public key changed/removed (because they lost their wallet) then they can contact the server admins and they can decide how/whether to delete their account so they can create a new one.
legendary
Activity: 1232
Merit: 1076
Seems that domain names doesn't need to be part of your web browser. Why not do:
Code:
BAR=$(grep google /etc/hosts | split 1)
firefox $BAR

You know it's not the same.
legendary
Activity: 1652
Merit: 2301
Chief Scientist
Seems like this feature doesn't need to be part of the RPC interface-- why not just (ignoring error handling/etc) do the equivalent of:

Code:
ADDRESS = $(curl https://fishysnax.com:443/path/to?id=genjix)
bitcoind sendtoaddress $ADDRESS 1

... from whatever code is calling the RPC?

legendary
Activity: 1232
Merit: 1076
Usernames are case insensitive and can contain any character.

Urls can have port numbers and paths attached.

**@genjix@** [email protected]:443/path/to/

That's a valid address. The username = "**@genjix@** rules"

Now the URL is called using some remote methods like url + path + '/getaddress/' so that the implementation is non-specific to PHP. Anybody is free to create their own specific implementation with their own server policy. The current policy happens to be very simple (update record, set password, get address).

Like a user who wanted to setup their own private provider could setup an implementation on their server and disable creation of new accounts.

Obviously I want to get something in there with PK crypto... But haven't come up with a properly secure scheme yet. Many of them are prone to MITM attacks. However this can be used for small amounts effectively like a post on irc for somebody to send you X BTC to [email protected] without having to open bitcoin.

There's 2 class of queries- the public fetch record (uses GET) and the 2 calls to change things and require a password (and hopefully more security in the future- uses POST).

The POST queries return a JSON. If there's a key by the name of "status" then it was successful and the value will give you an update as to what occured. If there's a key called "error" then it was unsuccessful and the value is an error message. The JSONs can also have other entries depending.
legendary
Activity: 2576
Merit: 1186
Reasons to use HTTP over DNS:
1. Compatible with cheap webhosting available anywhere
2. Can generate new addresses (or pull them off a list) for every transaction
3. Can be provided a comment, invoice ID, or from address to save in a database (associated with the generated address)
legendary
Activity: 1652
Merit: 2301
Chief Scientist
I had the impression the roadmap called for a BitDNS-like decentralized mapping system, since Gavin asked to map "strings" to addresses. Maybe I misunderstood.

In my head I was imagining a way of telling bitcoin to subscribe to some service(s) that did the mapping-- maybe a setting in the GUI where you could specify "use these six services, in this order, to try to resolve bitcoin addresses that aren't plain-old-bitcoin-addresses."  With the services specified by name+URL (and some standard REST-ful protocol was defined for mapping string to bitcoin address).  Or maybe name+pattern+URL.

I haven't looked at genjix' patch, and haven't thought deeply about security issues-- but I bet there are lots...

legendary
Activity: 1232
Merit: 1076
This was on the development roadmap, https://bitcointalksearch.org/topic/m.60385
"design/implement a secure DNS-like "map string to bitcoin address" system  (so I can send bitcoins to "[email protected]")"
I had the impression the roadmap called for a BitDNS-like decentralized mapping system, since Gavin asked to map "strings" to addresses. Maybe I misunderstood.

I think you did.

- BitDNS is a block chain decentralised DNS system.
- DNS-like means a system like DNS (federated servers).
Hal
vip
Activity: 314
Merit: 4276
This was on the development roadmap, https://bitcointalksearch.org/topic/m.60385
"design/implement a secure DNS-like "map string to bitcoin address" system  (so I can send bitcoins to "[email protected]")"
I had the impression the roadmap called for a BitDNS-like decentralized mapping system, since Gavin asked to map "strings" to addresses. Maybe I misunderstood.
newbie
Activity: 40
Merit: 0
Directly storing the information in DNS is much faster, with newer network lookups and connections.

The official bitcoin client simply isn't designed for storing and serving lots of little bits of static data to the general public.

How would you see this work? I have an email that's, say, [email protected] or [email protected]. I don't quite have control of the DNS servers in question...one I can nag an admin to change, and the other would never insert something into their DNS at this point.

How would I be able to find the mapping of email to a bitcoin address to send BTC? Or am I completely missing the point of this exercise?
legendary
Activity: 1232
Merit: 1076
Like this anybody can buy a cheap webhosting service with a free DNS. Then they create an account and disable others making new accounts (so it's only for them).

What does have a DNS offer in exchange? Here you can see a request, http://fishysnax.com/getaddress/?nickname=genjix

Directly storing the information in DNS is much faster, with newer network lookups and connections.

The official bitcoin client simply isn't designed for storing and serving lots of little bits of static data to the general public.

I'm not sure you understand how the patch works...

And lookups are done with bog standard MySQL. You can't get faster than that. And talking about speed here for a name lookup is premature.

Still not sure what you're arguing... Are you saying that each user is assigned a subdomain like: genjix.wikipedia.org ?
legendary
Activity: 1596
Merit: 1100
Like this anybody can buy a cheap webhosting service with a free DNS. Then they create an account and disable others making new accounts (so it's only for them).

What does have a DNS offer in exchange? Here you can see a request, http://fishysnax.com/getaddress/?nickname=genjix

Directly storing the information in DNS is much faster, with newer network lookups and connections.

The official bitcoin client simply isn't designed for storing and serving lots of little bits of static data to the general public.
legendary
Activity: 1232
Merit: 1076
But you still need to set the records or new passwords using bitcoin. ATM that's done by POST requests using bitcoin rpc commands (setnewpassword, updatens).

The only change is that now you require that anybody that wishes to setup a provider must also setup a DNS.

Like this anybody can buy a cheap webhosting service with a free DNS. Then they create an account and disable others making new accounts (so it's only for them).

What does have a DNS offer in exchange? Here you can see a request, http://fishysnax.com/getaddress/?nickname=genjix

Just asking.
legendary
Activity: 1596
Merit: 1100
Just use TXT records

Why? Not everyone wants to get a hostname and they prefer to use a provider.

If you are using a provider, then the provider can use TXT records.

legendary
Activity: 1232
Merit: 1076
Just use TXT records

Why? Not everyone wants to get a hostname and they prefer to use a provider.
legendary
Activity: 1596
Merit: 1100
Just use TXT records and the current x-btc: URI specification.
legendary
Activity: 2576
Merit: 1186
This would make for a good replacement for IP transactions, if it is specified to support comments (can be used to say who it is from, or what invoice is being paid) and uses SRV records. Unlike IP transactions, the simple HTTP nature allows people to just upload a script with a pre-defined list of addresses and write the comments for each address, using a stock web hosting service...
Pages:
Jump to: