Settings

Theme

Show HN: My experimental take on a decentralized ledger

github.com

48 points by buhrmi 10 years ago · 27 comments

Reader

repomies691 10 years ago

Needs a brief documentation "how it works" or something... I really don't understand the concept, I'm very familiar with bitcoin and somewhat familiar with ripple/stellar. How is the ledger maintained? How do we form the consensus on the valid ledger? What are the incentives for running nodes? etc.

ianpurton 10 years ago

How would this prevent a flood attack ? What I mean is in Bitcoin and presumably Stellar, you need coins to create transactions. There is therefore a cost to spamming the system.

devit 10 years ago

It's interesting that it says that "Warning: Requires Postgres 9.5. You WILL lose sync if you run against an earlier version. YOU HAVE BEEN WARNED."

Which PostgreSQL features new in 9.5 are being used that cause that? Or are earlier versions somehow buggy?

  • buhrmiOP 10 years ago

    I'm using upserts... The reason I'm using upserts is basically just lazyness because I didn't feel like refactoring the source code to work around requiring upserts. Also, I'm not very confident in C++ so I did not want to take on that task.

    • opendomain 10 years ago

      You can fix this with basic SQL

      IF record EXISTS then UPDATE else INSERT

      • anarazel 10 years ago

        No. Conccurrency makes it way harder than that.

        • devit 10 years ago

          In PostgreSQL, you can set the SERIALIZABLE isolation level for the whole database, put a retry loop around all database transactions and completely stop worrying about concurrency issues.

          I think all database applications should be written like this at least until performance starts being an issue.

          • anarazel 10 years ago

            Entirely depends on the the type of workload / application architecture. In some cases the rollback ratios will be massive (I've seen 70%). In other cases adding such a retry loop is unattractive because the latency jitter. Or retaining all involved data for a retry is unattrictive.

            Yet Another problem is that you need to enforce all sessions potentially involved in a data race need to use serializable; that can be easy or hard, depending on the scenario.

          • jpgvm 10 years ago

            Use UPSERT, it's correct -and- fast rather than just correct.

            Increasing the transaction isolation level shouldn't be done out of laziness.

joeyspn 10 years ago

> Transactions are FREE (the fee is always zero)

How would you deal with DDoS attacks? Taking down a ledger like this could be easy...

  • buhrmiOP 10 years ago

    > How would you deal with DDoS attacks?

    That's the open question.

  • deckar01 10 years ago

    Cloudflare doesn't have to charge a fee for every http request, although transaction fees do seem like the elegant solution.

kushti 10 years ago

How is it protected from Sybil attacks on consensus algo? The algo description is definitely needed.

jgeerts 10 years ago

Is there any interesting lecture that got you this far or did you study source code?

BinaryResult 10 years ago

Check out https://morph.is/v0.8/ if you haven't seen it, decentralized encrypted file storage and email, exciting stuff.

  • explorigin 10 years ago

    > Distributed Spam Proof Mail! Uncensorable, inherently spam proof and transparently encrypted and sender authenticated messaging! Secure enough for Edward Snowden! Easy and fool-proof enough for a child!

    43 exclamation points on the front page. He has the hype cranked up pretty high. Still, it's nice to see all of these P2P efforts.

  • misiti3780 10 years ago

    very cool! thanks!

col_rad 10 years ago

Cool. I really liked the idea of Stellar, but I just cant get over the premined coin distribution. Nice to have a truly decentralized alternative!

zamalek 10 years ago

Basically, `Bitcoin - Politics`. A nice idea.

  • tinco 10 years ago

    It's also `Bitcoin - all_the_hard_problems_bitcoin_solves`. Still nice but you can't compare it with Bitcoin. This is more the sort of service banks could use to track loans.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection