7

Bitcoin relies on Proof of Work (hashing) to control the writing to a central repository (the blockchain). It also relies on a set of rules for these updates, and defines what happens if a conflict is found (longest chain wins)

Using that as an example for my question:

  • What are some architectural examples of different distributed lock and/or update mechanisms suitable for P2P networks? (I'm looking for descriptions of software design suitable to this project, not software products)

  • What key logic or rules are fundamental to that decentralized "database"?

makerofthings7
  • 6,038
  • 4
  • 39
  • 77
  • [Paxos](https://en.wikipedia.org/wiki/Paxos_%28computer_science%29#Byzantine_Paxos)? – Deer Hunter Jul 18 '13 at 04:59
  • Also [Eventual consistency](https://en.wikipedia.org/wiki/Eventual_consistency). – Dan D. Jul 21 '13 at 08:10
  • Can you focus this question a bit? As it stands, it sounds like a survey/polling question. The second part seems answerable as "What characteristics make such a database possible?" –  Jul 23 '13 at 01:44
  • @WorldEngineer Edited. – makerofthings7 Jul 23 '13 at 11:47
  • A similar question has already been asked. http://en.wikipedia.org/wiki/Distributed_transaction offers a few ideas, also emphasizing that "two phase commit" is the most common solution to overcome such problems. Check out this question to get the complete answer. http://programmers.stackexchange.com/questions/186980/mutual-exclusion-over-network-pattern – AnyOneElse Jul 26 '13 at 09:30

1 Answers1

1

Bitcoin, Bittorrent, TOR, and a lot of Amazon's infrastructure (the decentralized bits) all run using something called Distributed Hash Tables.

Honestly, I don't understand it well enough to explain it well enough. Steve Gibson did a pretty good summary of it a while back if you have 30 minutes to listen.

Link.

Jpatrick
  • 261
  • 1
  • 3
  • 1
    What aspects of Amazon is using this? Which products? (is this internal to Amazon or for public purchase/rental)? – makerofthings7 Jul 26 '13 at 18:37
  • Amazon has it's own proprietary noSQL database built on distrubed hash tables called Dynamo. It lets them always have up to date information, and in means that there is they can take the nodes up and down without it being hugely disruptive. And yes Dynamo is available to the public though it is proprietary. I don't know what other Amazon Technology would use it. I would guess S3 uses it also. – Jpatrick Jul 26 '13 at 19:20