News for hackers. Stuff that matters.
Re:Sierra Leone government denies the role of blockchain in ... by darawk on Monday March 19, 2018 @07:18PM (#16624304)
> Not only that, but the blockchain is not even immutable... Forks happen all the time and the developers end up arbitrarily choosing which fork is the real blockchain. Anyone that was using the other fork in the meantime sees their chain mutate (gets wiped out, essentially) or be given a different name.

Yes they are. That's not what 'immutable' means. Immutability refers to an inability to change the past. Not an inability to fork the future. A blockchain is a persistent, immutable data structure. This is just a simple fact of computer science.

Re:Sierra Leone government denies the role of blockchain in ... by hudon on Monday March 19, 2018 @08:13PM (#16624727)
When a chain fails to find consensus and forks due to different consensus rules, the 2 chains persist until the developers tell us which chain is the right one. Let's take the 2013 Bitcoin fork for example. OK now a merchant who has accepted Bitcoin on one chain could have had a transaction that was 20 blocks deep. Then, when the miners decide to abandon that chain and obey the developers and go on the other chain, the merchant's transaction is no longer confirmed if it wasn't played on the other chain. This is how blockchain consensus failures change the past of the ledger and therefore how the blockchain fails to be immutable by your definition.

side note: I'd be wary of calling blockchain's consensus mechanism "computer science", it's more of a social consensus when consensus rules are different (ie. when forks are involved).

Re:Sierra Leone government denies the role of blockchain in ... by darawk on Monday March 19, 2018 @08:19PM (#16624766)
I didn't say consensus can't fail. I said it's immutable:

https://en.wikipedia.org/wiki/Immutable_object

Blockchains are immutable. Immutability is the property you want for elections. Blockchains are absolutely computer science. The consensus PoW mechanism is not part of 'blockchains'. It is a part of cryptocurrencies. Blockchains are simply a log-structured Merkle tree.

Re:Sierra Leone government denies the role of blockchain in ... by hudon on Monday March 19, 2018 @08:22PM (#16624781)
Repeating things don't make them true. You defined immutability as the inability of changing the past. I have provided you an example of the past of Bitcoin being changed (24 blocks were invalidated). I await your rebuttal.
Re:Sierra Leone government denies the role of blockchain in ... by darawk on Monday March 19, 2018 @08:26PM (#16624804)
That isn't changing the past. It's changing the interpretation of the past. The old transactions are still there, they're just not considered valid. That's fine. An election blockchain can't enforce its result anyway. A dictator can always simply say "yep, I got voted against, but too bad, i'm staying". What's important though, is that in a blockchain based system, that dictator would not be able to claim legitimacy convincingly. We would know and be able to prove that they invalidated or ignored the results. They cannot invalidate/ignore the true tally without everyone knowing they did it, just like you know that those Bitcoin transactions were invalidated. That is exactly the point.
Re:Sierra Leone government denies the role of blockchain in ... by hudon on Monday March 19, 2018 @08:38PM (#16624873)
If I had a data structure whose contents could be interpreted differently by different parties, I'd have a very hard time convincing stakeholders that it was immutable... and I'd feel bad trying to do so.

> We would know and be able to prove that they invalidated or ignored the results

To your new point, though, picture this: it's 2016 and you're running your election on the blockchain. Unfortunately, a consensus bug in the blockchain causes the updated nodes (say, half the network that updated) to split. The devs decide to go forward with the new consensus rules and abandon the other chain. However, we find that the tally on the abandoned chain elected Hilary and the tally on the new chain elects Trump. What happened? Were the devs co-erced? Did they introduce the bug themselves? Why was the tally different on the abandoned chain? Who collected the tally and wrote it to the blockchain?

How do we know or prove the legitimacy of the chosen blockchain over the abandoned one, as you claim?

Re:Sierra Leone government denies the role of blockchain in ... by darawk on Monday March 19, 2018 @09:06PM (#16625018)
> If I had a data structure whose contents could be interpreted differently by different parties, I'd have a very hard time convincing stakeholders that it was immutable... and I'd feel bad trying to do so.

Whether or not you could convince someone of it, it is so. The definition of an immutable data structure is that the contents of it don't change. It says nothing about interpretation. Immutability isn't some nebulous concept, it has a specific definition in computer science. And it is that the data itself does not change.

> To your new point, though, picture this: it's 2016 and you're running your election on the blockchain. Unfortunately, a consensus bug in the blockchain causes the updated nodes (say, half the network that updated) to split. The devs decide to go forward with the new consensus rules and abandon the other chain. However, we find that the tally on the abandoned chain elected Hilary and the tally on the new chain elects Trump. What happened? Were the devs co-erced? Did they introduce the bug themselves? Why was the tally different on the abandoned chain? Who collected the tally and wrote it to the blockchain?

> How do we know or prove the legitimacy of the chosen blockchain over the abandoned one, as you claim?

There is no need for consensus in an election-based blockchain, and this is not a new point, it's been my point the entire time. It's the point of all blockchain-election solutions. We can arbitrarily choose any chain, and then verify all the properties that we care about on it.

Re:Sierra Leone government denies the role of blockchain in ... by kerkeslager on Tuesday March 20, 2018 @01:43AM (#16626288)
> When a chain fails to find consensus and forks due to different consensus rules, the 2 chains persist until the developers tell us which chain is the right one. Let's take the 2013 Bitcoin fork for example. OK now a merchant who has accepted Bitcoin on one chain could have had a transaction that was 20 blocks deep. Then, when the miners decide to abandon that chain and obey the developers and go on the other chain, the merchant's transaction is no longer confirmed if it wasn't played on the other chain. This is how blockchain consensus failures change the past of the ledger and therefore how the blockchain fails to be immutable by your definition.

Okay, so which of the chains changed?

(Hint: neither changed; they can't change, because they're immutable).

You seem to have a chip on your shoulder with this idea the developers control the blockchains. Every time you see something about blockchain you seem to jump in and start arguing with people in favor of your pet issue. I've seen you do this on multiple threads now.

The irony is, there are some persuasive arguments for the idea that developers have too much control of blockchains, but you're not saying any of them, because you clearly don't grok the technology. You have a Wired-magazine-level understanding of the technology: you know the history and social systems around the technology but you clearly don't understand the concept of immutability as it applies to blockchain forks, or why consensus is both a social concept and a computer science concept when applied to blockchain, or how a block is validated.

In your defense, understanding blockchains requires a lot of background, and I'd say most people don't understand it. But most people aren't arguing so vehemently for their opinion.

Re:Sierra Leone government denies the role of blockchain in ... by hudon on Tuesday March 20, 2018 @02:48AM (#16626436)
The ledger that is Bitcoin changed. From the merchant's perspective: Bitcoin was one ledger, then it became another. Transactions that were 24 blocks deep changed. That is the ledger changing. The developers are the ones that told everyone that this change would happen.

The rest of your post is pretty offensive but I'm willing to look past it if you want to actually talk about your blockchain ideology with civility.

I honestly think the disconnect here is you're thinking in terms of bits and atoms and I'm thinking from the user's perspective. If we're going to build something useful with the blockchain, we have to think from the user's perspective. It doesn't matter if it's 2 separate "block chains", they're both attempts at finding consensus on 1 ledger: the Bitcoin ledger. That's the whole point of a distributed ledger: at any given time you may have disagreeing versions of it existing simultaneously, but it's still 1 ledger trying to find consensus so that users can know what happened actually. And if there are times where developers are ESSENTIAL to resolve ledger consensus failures, that is precisely the kind of central control that could be abused in ways Satoshi was trying to avoid. We don't even know if the 2013 bug was intentional or not. What if the developers were compromised and the fork was made so that someone could execute a large double-spend? What if this happens again in the future?

Re:Sierra Leone government denies the role of blockchain in ... by kerkeslager on Tuesday March 20, 2018 @09:58AM (#16628565)
> The rest of your post is pretty offensive but I'm willing to look past it if you want to actually talk about your blockchain ideology with civility.

I don't usually go out of my way to tell people they are uninformed, but you're spreading very uninformed opinions around. You can't reasonably expect to spread your uninformed opinion around and not have people tell you you're uninformed. If you take offense to that, well, maybe you should limit yourself to sharing opinions about things you understand. I'm not saying this to offend or hurt you, I'm saying it because it's a fact you should be aware of.

I don't think you're dumb; you seem like a smart guy. You're just ignorant on a specific topic--and that's okay too--ignorance is fixable. But you should fix it before you start spraying your opinions on the topic around.

> I honestly think the disconnect here is you're thinking in terms of bits and atoms and I'm thinking from the user's perspective. If we're going to build something useful with the blockchain, we have to think from the user's perspective.

No, the cryptography (which has little to do with bits and nothing to do with atoms) affects users. You can't simply argue that you understand Bitcoin well enough because the social aspects of Bitcoin are the important part. Both the social aspects AND the cryptography aspects are vital to understanding--if you don't understand the cryptography you don't understand Bitcoin. Period. This is especially true when you make claims that are directly about the cryptography (such as that a block chain is not immutable) which show that you clearly don't understand it.

> It doesn't matter if it's 2 separate "block chains"

Since that is literally what a fork is, if it "doesn't matter" then why are we even talking about a fork?

> they're both attempts at finding consensus on 1 ledger

No, they're both (immutable) data structures which hold a ledger. "Attempts at finding consensus" aren't really represented by a data structure.

> What if the developers were compromised and the fork was made so that someone could execute a large double-spend?

You could start to build a plausible case for this by looking at the respective blockchains--which is, incidentally, an effect of them being immutable. But I thought this "doesn't matter".

But that's unlikely, because the fork was relevant for < 2 hours. The attacker would have had to spend their coin and the seller would have to release control of the asset they were spending the coin for, in that time.

And if a large double spend were executed, there's a good chance we'd know about it because the seller who received their coins on the 0.8 blockchain would probably be pretty angry about it.

Re:Sierra Leone government denies the role of blockchain in ... by hudon on Tuesday March 20, 2018 @08:38PM (#16634214)
If you don’t understand that the process of reconciling 2 chains of blocks is for the sake of consensus on 1 ledger, maybe you just don’t understand distributed systems ¯\_(ツ)_/¯

Because if you did, you would understand that when your values (in this case, transactions) get modified unexpectedly even if they’ve been consistent for an arbitrarily long time, you cannot claim that your database is immutable. The fact that the individual attempts at consensus are immutable is irrelevant because the user only cares about the resulting ledger, which as I have proven to you over and over again is mutable.

I see what you did though, you defined “blockchain” as just an individual chain, not as the encompassing consensus-finding system... which to me is not a useful definition because it leads to misunderstandings like yours (ie. “the database is immutable”). Picture this:

Exchange: “Why did the Bitcoin I received vanish? I thought Bitcoin was immutable??!!!”

You: “Oh lol you’re terribly misinformed, it’s the data structures that are immutable, silly, not the actual database. Obviously the database consensus can fail and that can make you lose money, unless it’s controlled by trustworthy and honest people of course... who made you believe otherwise?”

Re:Sierra Leone government denies the role of blockchain in ... by darawk on Saturday March 24, 2018 @04:28PM (#16668730)
Immutability refers to data, not interpretation of data. It has a specific meaning in computer science. It does not mean "social value", or "economic utility", or anything like that. It refers to the actual values of the bits. And in that sense, Bitcoin is unequivocally immutable. If you want to define some other term to refer to mutability of interpretation - go ahead. Just don't call it mutability.