Author Topic: DPOS and competing chains  (Read 1778 times)

0 Members and 1 Guest are viewing this topic.

Offline aaaxn

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Please read the arguments laid out here, here, and here, and then let me know if you still see potential attack vectors.
Thanks. That is exactly what I was looking for. I'll dig into it and let you know if I find any weakness.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Please read the arguments laid out here, here, and here, and then let me know if you still see potential attack vectors.

Offline aaaxn

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Quote
- kicking out original delegates in very beginning of chain and replace them with ones under my control

This is the hard part. You need to acquire more than half of the delegate keys since the last hard-coded checkpoint. You can't just "replace the original delegates" since they are in the genesis block.
I suppose there is mechanism of kicking out delegetes which fail to sign blocks in time. In your chain delegates would miss blocks and be replaced, no?

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Quote
- kicking out original delegates in very beginning of chain and replace them with ones under my control

This is the hard part. You need to acquire more than half of the delegate keys since the last hard-coded checkpoint. You can't just "replace the original delegates" since they are in the genesis block.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline aaaxn

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
One thing I don't understand about DPOS is how it handles competing chains. In POW it is prohibitively expensive to create competing blockchain of equal length, but with DPOS it can be done almost without a cost.

I don't know internals, but isn't it possible to create alternative history from genesis block which pretty much includes all transactions made on main chain with few modifications:
- kicking out original delegates in very beginning of chain and replace them with ones under my control
- replace transaction registering some well known account name (exchange?) with my own
Generally create alternative history with as few changes as possible and carry it forward to latest state.

Now if new node joins network and connect to my server I can feed it with fake chain. It has no way of telling that my chain is not original. It is exactly same, even delegate names can be the same. User can also see his balance as it is on main chain.

Now when this user tries to send money to exchange which account I took over he is actually sending money to me?

Does it make any sense?
« Last Edit: September 18, 2014, 12:45:25 pm by aaaxn »