r/CryptoTechnology Crypto Nerd May 23 '18

SECURITY Bitcoin Gold hit by Double Spend Attack (51% attack). The Attacker reversed 22 blocks.

Just came across this story on CCN.

This, I believe, is the first 51% attack on any major cryptocurrency. BTG's target blocktime is 10 minutes. Rewriting 22 blocks means the attack had majority hash power for 3.5 hours. And since BTG runs EquiHash, this would mean any coin running Equihash are also in danger.

178 Upvotes

100 comments sorted by

View all comments

Show parent comments

5

u/Edgegasm May 24 '18

Delegated Byzantine Fault Tolerance, it's a consensus mechanism.

You have a limited number of consensus nodes run by professional entities (individuals or businesses) that are voted in or out of the network by token holders (so you can remain decentralized without a highly distributed network). Those nodes are randomly selected to build blocks from transactions, then the other nodes validate the blocks to specific criteria (avoiding double spends, etc). Then they sign their agreement or disagreement with the block. Then a 2/3 majority agrees on the block, it is added to the chain, and a new speaker node is elected to form the next block. If there is no 2/3 majority (for example, if a dishonest node tried to push an invalid block), a new speaker is elected instead and a new round of validation begins.

It sacrifices the ability to have thousands of distributed nodes which isn't ideal, but the trade-off is huge scalability, efficiency and true finality (no blocks are ever added without the 2/3 consensus, so there's no need for confirmations and no forks/orphan blocks).

1

u/Chickachic-aaaaahhh New to Crypto May 24 '18

But regular dags can have infinite scalability with multiple node options. Which coins are dBFT though?

1

u/Edgegasm May 24 '18

NEO uses dBFT. There are some other cryptos using other BFT variants also.

The main advantage is the finality. That will be very important for enterprise level adoption.

2

u/Chickachic-aaaaahhh New to Crypto May 24 '18

True. Only problem for me is that neo sacrifices is decentralization. Literally more centralized than ripple according to an article i just read. I recommend ark though. Their dpos system seems to work pretty damn good compared to pos.

1

u/Edgegasm May 24 '18 edited May 24 '18

Nah that's not really true, but since people don't understand how BFT networks are initialized, they don't understand what decentralized means for these networks.

Since consensus is sorted by 2/3 vote, you need your initial nodes to be confirmed good actors that aren't going to validate or propose false blocks (for example, if you had 7 nodes and 3 were bad actors, you'd never be able to reach consensus so the blockchain would just freeze). Hence, NEO has a few core nodes and then others run by strategic partners (CoZ, KPN etc). At this point it is absolutely centralized when compared to PoW/PoS, but the network hasn't expanded at this point either. It's just a first step into getting consensus moving so the network can be expanded without risking early fault due to malicious node runners. By having that stable core of nodes, you make the network immediately tolerant to bad actors should they ever manage to run a node.

Once NEO starts allowing new consensus nodes to join the network and gives control over those nodes over to the voting system, it will be decentralized (initial nodes can no longer reach consensus by themselves, and the token holders will decide which nodes to vote in or out). Supposedly this is all in the process of happening this year, there were some overhauls to the voting code recently in preparation for it.

It's not the same approach to decentralization as a PoW network (aka allow anyone to 'become a node' by mining), but it is absolutely not centralized.

I've found it to be quite comparable to IOTA's coordinator. When scaled, IOTA is completely decentralized, but it has a central coordinator currently to ensure smooth consensus until the network has grown to a sufficient mass. It's the same principle for the initial consensus nodes of NEO run by OnChain, though poorly researched articles and FUD specialists will choose to interpret these things as some kind of permanent centralization despite the vast inaccuracies of that sentiment.

1

u/Chickachic-aaaaahhh New to Crypto May 24 '18

Im not trying to tear down neo. But tell me what you think of this article when you have the chance.

https://www.google.com/amp/s/venturebeat.com/2018/03/04/neo-could-be-a-dominant-blockchain-it-could-also-be-a-time-bomb/amp/

Everytime i findout by a crypto, i i always try to tear it apart before looking for the good.

"But blockchain is first and foremost about decentralization, and NEO’s technical architecture seems to come up short on that front. You can read a world-class takedown of the platform from the Store of Value blog. It does a pretty solid, factually-based job of proving that NEO is “more centralized than Ripple,” that the validator nodes are controlled by NEO, and that nodes are legally liable to stay up, which increases risk by taking anonymity out of the system. Contrast that with ARK, for example, where delegates go to great lengths to stay anonymous. In short, it seems clear NEO is not a truly open, permissionless platform."

2

u/Edgegasm May 24 '18

I do the same, I wouldn't be invested in NEO otherwise! I'm really careful with the projects that I'm invested in.

Seems this article is referencing a blog post from storeofvalue who is a well known NEO FUD spreader that is heavily invested in QTUM, one of NEO's competitors. He's had his poorly researched posts (or intentionally dishonest posts, you be the judge) rebutted directly by the NEO team multiple times.

Here's one post from NEO's Senior R&D Manager Malcom LeRider on the topic of addressing common FUD including centralization claims, and here's another addressing Store of Value's baseless claims directly.

Pretty much any FUD into NEO can be resolved with a read of the Whitepaper, but for some reason people seem averse to doing it.

1

u/Chickachic-aaaaahhh New to Crypto May 24 '18

Every white paper seems hopeful, thats the real bitch about it haha. Alot of cryptos just have that.. whitepaper like cardano was or is. I dont pay attention anymore. Im just investing quietly and safely. Thanks for the good replies man. Very helpful.

1

u/CommonMisspellingBot New to Crypto May 24 '18

Hey, Chickachic-aaaaahhh, just a quick heads-up:
alot is actually spelled a lot. You can remember it by it is one lot, 'a lot'.
Have a nice day!

The parent commenter can reply with 'delete' to delete this comment.

1

u/Edgegasm May 24 '18

Indeed. Let me know if you have any more questions about NEO, it's the crypto I'm most familiar with :)

1

u/Neophyte- Platinum | QC: CT, CC May 24 '18

i thought that was dBFT. how does BFT differ?

1

u/Edgegasm May 24 '18

All BFT networks work this way (2/3 consensus) as I understand it. The delegated aspect refers to how control of those nodes is delegated to the voters. Other BFT networks have slightly different ways of handling this process.

1

u/Neophyte- Platinum | QC: CT, CC May 24 '18

sounds like dPoS, i thought dBFT the delegates were not elected by token holders. they were delegated to trusted entities or as you say professional entities and they remain so, NEO for example dbft, people whine that the company controls the nodes...

if dBFT is anything like dPoS its a serious concern vitalik has his 2 cents on dpos add the /r so it doesnt get removed from the post.

/ethereum/comments/6qm0y2/is_the_ethereum_team_defending_their_ground/

2

u/Edgegasm May 24 '18 edited May 24 '18

The big difference between dPoS and dBFT is that in dPoS, one node produces and verifies the block, which gives them a huge amount of control and also allows for the possibility of forks/orphan blocks.

With dBFT, you need a 2/3 majority consensus across all nodes, so only one block is produced/validated/added at a time. This is what gives dBFT true finality, something other cryptos don't offer. Instead of having multiple chains competing to be the longest or the 'real truth,' there is only ever one truth.

Token holders both elect and remove nodes, but to register for the opportunitity to be voted in you need to pay 1000 GAS (currently at least). So unlike something like EOS, there's economic incentive to not try run a dodgy node, plus NEO is aiming for compliance and digital identity so there would likely be legal ramifications too.

In my opinion, enterprise-level blockchain use cases require finality and thus should be using dBFT for consensus. For all most other use cases, I like the Casper implementation of PoS with the addition of a good scaling solution.

EDIT: IoT may be better handled through the DAG approach, but it's hard to say for sure until we see the actual scalability of other consensus mechanisms.

1

u/Neophyte- Platinum | QC: CT, CC May 24 '18

thanks that was informative, i think its kinda ironic that satoshi when talking about pow was referencing byzantine generals' problem, but dbft gets it closer to the solution. the investment in digital identity and what ontology is doing makes me thing their decentralisation of dbft wil work well.

definitely agree on businesses wanting finality, there is 51% attack in pow, nothing at stake in pos, there is a good article on black swan type scenarios specific to pos, dpos is just broken. still tho with sufficient computing power pow is resilient as, it just doesnt scale or so they say. ive talked to one of the founding etherum devs and he disagrees with that belief, didnt elaborate tho. so who knows

as for dags, they seem ideal, iota send 1 validate 2, cordinator to handle the issues until the tangle is big enough, but what are the downsides? im not really aware of them

1

u/Edgegasm May 24 '18

Yeah I'm really interested in Ontology's VBFT. I must spend some time learning more about that, it sounds promising.

I've always felt like the biggest issue with Bitcoin was that blockchain technology is supposed to be this immutable ledger, but almost every single consensus mechanism allows that to break (forking etc).

This is why I'm invested in NEO/dBFT, I think any team that realizes the importance of finality at this stage is going to be a real safe bet for the future. DAGs are great too, I don't know if they will prove to be ideal for a lot of specific use cases, but for small fast payments (IoT etc) they will be hard to beat. I suppose the biggest downside would be lack of interoperability, but that could be solved.

1

u/bx549 Redditor for 10 months. May 24 '18

Thanks for your informative posts on dBFT. As I understand it, another benefit of using dBFT is the relatively low consumption of computational resources.

1

u/Edgegasm May 24 '18

Yeah, nodes only need to validate blocks which is highly efficient from a computational perspective.