The obelisk server is open source, and I just run my own locally (just like people run bitcoind).
So you run a local server, which has database and everything, but you call it:
- Fully distributed architecture - no need for database or webserver.
Got it.
I said I run myself an obelisk server, but you don't have to. You could use the
open obelisk server that the known bitcoin developer Vitalik Buterin runs, or any other (well, the list is still short ...)
I don't call running a local obelisk server distributed.
I am calling distributed the option to use any remote obelisk server, as well as the option to run one yourself.
Indeed at this point the client-server certificates are not implemented yet, but they are on the pipeline.
Obelisk is still a very young project, but just check how fast it gets developed.
Running a server myself is the workaround for the trust, but this should be solved soon.
The more obelisk servers will appear you would have more nodes to choose from so that a higher trust level would be achieved.
No, it doesn't work this way. Have you ever heard about Sybil attack? (
http://en.wikipedia.org/wiki/Sybil_attack )
Lots of servers which are run by anonymous people on the internets won't help you. If you believe that it is unlikely that there will be a collusion among several independent server operators, then you need to be sure you connect to servers which are run by certain operators, and follow certain policy.
For example:
1. Suppose there are 10 servers operators of which are well known and it is believed that they are fully independent.
2. When you check whether Mastercoin transaction is correct, you request information from all of these 10 servers.
3. If less than 5 of them respond you abort immediately.
4. Each response is signed with server's unique private key.
5. If all of response agree, you assume that responses can be trusted and proceed with transaction validation.
6. If they disagree, you abort the procedure and save signed responses.
7. There will be investigation, and servers which produced wrong responses without a good excuse (e.g. well known bug in software) will be excluded from the list permanently.
Thanks. I wasn't aware of term Sybil attack, but it is clear that without an extra layer of trust, multiple servers do not help much. I meant multiple trusted operators.
I am also not a developer of the obelisk server, but as I understand, this example that you describe is being currently implemented (signing with server's key).
So maybe the "Fully distributed" is not correct at this point of time, but I think
distributed is fair enough, and potentially "Fully distributed" would be also OK, depending on the development of the obelisk server.
I want to see some other project achieves such level of "distribution" with the the common local-parse-blockchain-on-your-database approach. They could try to implement something using blockchain.info (closed source) API, but then they have a single point of failure. The bitcoind alone is simply not flexible enough for the job. Masterchain on the other hand, just let some distributed open source powers to do that job.