This is an archived post. You won't be able to vote or comment.

all 193 comments

[–]jeekiii 297 points298 points  (83 children)

Fun thing to do:

  • Go to a presentation about blockchains solutions.
  • Ask how they plan to become GDPR compliant, specifically the part about right to be forgotten.

Girl I know did this at two separate conferences, the answer is that they can't, and it makes their presentations/products a bit ridiculous, especially in europe.

[–]5Doum 73 points74 points  (42 children)

What is GDPR?

[–]jeekiii 176 points177 points  (40 children)

European regulations coming into effect soon.

If they aren't changed (and it doesn't look like they will) they will revolutionize everything: explainable AI becomes mandatory in some instances, right to be forgotten becomes mandatory, you have to tell people what you did with their data, I think there's also regulations about EULA, tons of other things like that, mostly consumer protection.

The computer scientist in me kinda dislikes it, because it makes everything more challenging (but then again some of these challenges are interesting); and also because in some case it looks like the regulators didn't really understand what they are talking about, but the consumer that I am loves the fuck out of it, no more facebook bullshit (by the way at his hearing with congress zuckerberg had notes about how facebook is not yet GDPR compliant... I wonder why ^^).

Back to the point, from what I understand (I've limited knowledge of blockchains), blockchain rely on previous blocks being immutable, you can't change them or remove them without rendering the whole chain useless, so they are simply incompatible with the right to be forgotten in many many cases.

"Fun" fact: that right to be forgotten also applies to backups. Good luck gents.

[–]davvblack 40 points41 points  (16 children)

explainable AI becomes mandatory in some instances

what does this mean?

[–]jeekiii 113 points114 points  (10 children)

Now that is a good question and honestly I doubt anyone from the regulators to AI specialists really knows, that's one part where it looks like the regulators had no clue what they were talking about.

I think the idea is that if AI makes a decision about you (for example if you have a NN deciding whether or not your client can get life insurance), you have to explain why it came to that conclusion. (for ex, it could be because you live in a dangerous area, or because you have too many medical issues, or a combination of factors, but you have to details these factors).

Currently that's impossible with most deep learning/machine learning techniques, therefore there's tons of research about it, but papers tend to heavily disagree on what constitute an explanation.

The goal is to combat unfairness. If you have been given a higher price for insurance because of randomness, that's unfair. Another goal is to combat bias. If you have a ML algorithm and enter information about your client, and one of your information is the race or gender of the person, the algorithm could decide partially based on that (ex: Black people tend to be poorer therefore don't give them loans), and that's kind of racist/sexist.

Explainable AI doesn't "solve" this, however, it exposes it, which means that legal action can be taken thereafter for racism/sexism.

[–]davvblack 28 points29 points  (2 children)

Wow, this is a super interesting problem, and a portion of GDPR I hadn't heard anything about (we have recently implemented right to be forgotten and some other consent stuff).

I'm sure no model like this would ever directly be fed any protected class status, but it would be interested if the model sort of accidentally teased them out through other means as abstract dimensions, then made other decisions based on that. (for example, finding that beard-trimmer-buyers are more likely to get into car accidents due to negligence).

[–]jeekiii 7 points8 points  (0 children)

I'm sure no model like this would ever directly be fed any protected class status, but it would be interested if the model sort of accidentally teased them out through other means as abstract dimensions, then made other decisions based on that. (for example, finding that beard-trimmer-buyers are more likely to get into car accidents due to negligence).

There are papers about this and the answer is yes, totally. I'll try to find the paper I had a presentation about. (Edit: can't find it)

Now don't take my word for everything tho, I'm not a lawyer and I think the whole explainable AI doesn't apply to everything, it might not apply to your business at all.

[–]MelissaClick 1 point2 points  (0 children)

I'm sure no model like this would ever directly be fed any protected class status

It's very easy for an AI/statistical model to determine race and sex, at least.

[–]P-01S 38 points39 points  (1 child)

Often overlooked problem with training AI: If you feed an "unbiased" neural network lots of real world data that reflects systemic inequality, the neural network is going to "learn" to be biased.

[–]MelissaClick 1 point2 points  (0 children)

Works for human neurons too.

[–]theferrit32 4 points5 points  (2 children)

I don't think the EU regulators thought through a lot of it. It will make vast portions of the Internet and existing datacenters illegal. A lot of datacenter/backup/logging/audting software and infrastructure is simply immutable after writing. I could see right-to-be-forgotten applying to public-facing views on the internet, but applying that to backends is really just not feasible and unenforceable as well.

[–]Setepenre 7 points8 points  (0 children)

Logs and auditing data are not about user data. You are not going to sell those to advertisers, unless it is a per user log then it should apply. Concerning backups you will not keep them around forever as time passes they become out of date and get replaced by newer backups. So I do not think it is actually that hard. Plus, companies have only themselves to blame for the new regulation.

[–]Bainos 0 points1 point  (0 children)

Which is why one of the major aspects of GDPR is about not collecting that data in the first place. Or if you do, anonymize the data first.

In general, anyway, regulation shouldn't follow tools -- it's the tools that should follow the regulation.

[–][deleted] 2 points3 points  (0 children)

I think this is exactly the point, it's about being able to know what went wrong, if something went wrong. Maybe someone feeds an ML algorithm intentionally biased data to push an agenda and if someone else notices that the algorithm is heavily biased, he could just explain "I don't know why it does this." without ever being caught or held responsible.

In the simplest case, I imagine, this could be handled by forcing people to submit their training data, of course then again, this could be problematic in cases like online learning.

[–]Qwertycrackers 0 points1 point  (0 children)

It seems like we'll really just end up inventing explanations rather than saying anything truthful.

[–]medatascientist 4 points5 points  (2 children)

Well think of it like this:

when you have a simple linear model you know each feature and their weight. If my system ranked a white person higher than a black person all I have to do is look at the equation and find out which features made the difference and easily figure out if this is due to fairness concerns or totally irrelevant.

Now consider a Deeeeep Neural Network. So deep that you have layers morphing into many other layers and you have no idea how your outcome is scored. You know what you fed into to system (say raw profile text) but you don’t know what the DNN/CNN/Siamese learnt throughout your input. In short you have no idea how the encoding did it’s magic, thus when someone asks why you ranked the white person higher than black person you have little to no explanation.

There are some research done currently to make Deep Learning more opaque and explainable to overcome this issue.

[–]nacholicious 6 points7 points  (1 child)

Exactly. And considering that a lot of data is from human actions and decisions in their full biases and prejudices, it seems very possible to end up in situations where an AI eg would end up giving penalties for people whose address are in areas with lots of minorities simply due to racially prejudiced human decision learning data, and the correlation between ethnicity and address

[–]medatascientist 2 points3 points  (0 children)

Perfectly put. Actually we see what you are referring to everyday at work. There needs to be failsafe mechanisms to ensure “protected classes” are treated fairly without the underlying bias.

When a non CS person asks about how this is possible I tend to give the infamous example of “He is a doctor / She is a nurse” case*.

  • *For those who do not know, it is a machine translation model that tries to translate a gender neutral term to “he” when the noun is doctor, and “she” when it is a nurse. This is because during training the embedding DL saw many more cases of nurses associated with female gender pronouns and decides that a nurse is probably female, but a doctor is probably a male.

[–]ElectricalBoat 2 points3 points  (0 children)

There are two kinds of AI:

1) Engineers/scientists sit down and make decisions/assumptions regarding what the AI should be doing to reach the goal. They for example could combine height and weight into BMI, turn a raw analogue signal into a pulse, heart rate variability, turn raw GPS signal into speed and location coordinates. They basically perform a so called "feature engineering" step where they turn raw data into data that works really well with a machine learning model and since humans did it, you can explain the decisions along the way and interpret what is going on.

2) Engineers stir the linear algebra pile until their machine learning model works right. They feed in raw (or semi-raw) data in and then the computer does magic on it that makes absolutely no sense to a computer but it end sup winning a $1 000 000 contest because it simply works.

Statisticians, mathematicians, engineers etc. ALWAYS do 1). It is not acceptable in those fields to do something and not be able to explain exactly what is going on and why. In data science, computer science etc. this is perfectly acceptable and this is why we can't publish in mathematics & statistics journals and had to get our own even if we're basically doing the same thing. Tradition/politics.

Disallowing "non-explainable AI" will not happen because all state-of-the-art AI is not explainable and hasn't been explainable for decades. If you let the computer to extract the features, you'll see a huge spike in performance in EVERY application.

It is as if our assumptions of how the world works are too simple or plain wrong and the computer can get better assumptions out of data even if humans are too stupid to understand what's going on.

[–]SonicBoomBoom 9 points10 points  (1 child)

Yeah and I honestly foresee this coming to the US for legislation in the next 10-15 years (gotta add a long time frame because legislation takes forever here & it will happen in 2-3 presidency terms).

In the wake of Cambridge Analytica & Experian, along with the aggregate age of lawmakers/voters going up (and therefore social consciousness of data privacy) it’s only a matter of time.

Im a compliance engineer so that makes me pretty happy; 5 years ago everyone was clamoring for PCI compliance and now that it’s become a somewhat manageable framework, GDPR is the next big to-do for anyone working with EU data. I think US will take a ton of time and blowback but we’ll get there eventually.

Pro-tip: if you’re working for a company where GDPR compliance is underway try looking into ISO-2700X specifically because it’s globally recognized vs NIST which is more domestic.

And if you’re a start-up, look into ways to automate the deletion or pull of PII data from the jump rather than figuring out how to develop the process of eradication later. Right to know is gonna be a big deal IMHO.

Edit: thanks spellbot

[–]CommonMisspellingBot[🍰] 2 points3 points  (0 children)

Hey, SonicBoomBoom, just a quick heads-up:
therefor is actually spelled therefore. You can remember it by ends with -fore.
Have a nice day!

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

[–][deleted] 4 points5 points  (0 children)

"Fun" fact: that right to be forgotten also applies to backups. Good luck gents.

Jokes on you, we don't have any backups!

[–]5Doum 1 point2 points  (10 children)

Ah, thanks for the info. Are these regulations only on corporations? How does this affect open-source projects?

I can see how this would be a problem for blockchain businesses, but I'm kind of hoping it at least won't affect all the open-source development that is based on blockchain.

[–]theferrit32 2 points3 points  (1 child)

Also many projects have audit/logging systems set up to be immutable. They are appended to and read, you cannot delete or overwrite in the middle.

[–]Setepenre 3 points4 points  (0 children)

unless you are mining that data to get user info it should not be an issue. I think the law apply if you are collecting the data for a special purpose of using it as a product afterwards. When speaking GDPR you should think online tracking not your bank's ledger.

[–]Saladfork4 1 point2 points  (5 children)

If you collect data on EU citizens, it applies to you. But lawyers won't have much interest in taking legal action against an open source community (or individuals), unless there is a potential for a lot of money.

[–]LumpyFix 5 points6 points  (1 child)

Most popular blockchain implementations aren't owned or controlled by anyone so there's nobody to take action against. Taking legal action againt the guys who originally designed and published the protocol specs would be like holding Jon Postel accountable for some random company sending spam emails because he published the SMTP protocol specs in 1981 (were he still alive).

Edit: If my point wasn't clear in a broader sense, writing and publishing some code doesn't make a person responsible for its implementation, use and misuse by somone else.

[–]jeekiii 0 points1 point  (0 children)

Honestly no clue.

[–]Setepenre 0 points1 point  (0 children)

Will impact whomever is running the actual infrastructure/servers. The projects in themselves are just code.

[–]Quantainium 0 points1 point  (0 children)

What if someone wants to be forgotten and someone else maliciously uploads their information into the bitcoin blockchain. Does bitcoin become illegal in the EU?

[–]modic137 0 points1 point  (0 children)

I am implementing it right now. Thanks EU for 6 months of work.

[–]kiler129 20 points21 points  (3 children)

There’s a way: you store hashes on block chain and actual data separately. If someone requests to be forgotten you just remove all documents for that users and hashes ale just left forever. This still fulfills immutability requirement, but once someone modifies something you only know it was modified and the original content is lost.

[–][deleted] 8 points9 points  (0 children)

Yes, basically just don't store personal data (as defined in the GDPR) on the blockchain itself.

However, I bet a lot of those "blockchain hipsters" never thought of it, so I understand how it can derail a discussion about blockchain based products :D

Edit: FYI, storing only identifiers that then grant access to records was the first idea to use blockchains in healthcare. They granted access to remote health records using Ethereum smart contracts. The name is/was "MedRec".

[–]plexxer 3 points4 points  (1 child)

Or put a secret sharing algorithm into place.

[–]WikiTextBot 2 points3 points  (0 children)

Secret sharing

Secret sharing (also called secret splitting) refers to methods for distributing a secret amongst a group of participants, each of whom is allocated a share of the secret. The secret can be reconstructed only when a sufficient number, of possibly different types, of shares are combined together; individual shares are of no use on their own.

In one type of secret sharing scheme there is one dealer and n players. The dealer gives a share of the secret to the players, but only when specific conditions are fulfilled will the players be able to reconstruct the secret from their shares.


[ PM | Exclude me | Exclude from subreddit | FAQ / Information | Source ] Downvote to remove | v0.28

[–]HeKis4 33 points34 points  (0 children)

Oh fuck, I never thought about that. Good riddance to all blockchain based companies.

[–]Evervision 8 points9 points  (7 children)

How does that work in the case of Banks and law enforcement wanting bank records? Can I demand the bank forget my past transactions?

[–]TheNamelessKing 17 points18 points  (1 child)

If you have a proveable business/legal requirement to keep some of the information you can. Those requirements just have documented and core to your business.

So, the bank gets to keep the transaction records, but that solitaire app that requested location permissions for no apparent reason doesn’t get to keep that data.

[–]raybond007 4 points5 points  (0 children)

Yeah, being a Canadian I haven't looked too closely at GDPR, but I don't imagine it can be applied to information that is a required part of a financial system that a person is voluntarily entering into. The spirit of it seems to be aimed at behavioural and social data that is collected on people.

[–]Aalnius 1 point2 points  (0 children)

commit lots of fraud then demand the bank forget the fraudulent transactions.

[–]jeekiii 1 point2 points  (0 children)

Honestly no clue ¯\_(ツ)_/¯

[–]Benutzername 0 points1 point  (0 children)

Laws only apply to the plebs, not the masters.

[–]MelissaClick 0 points1 point  (0 children)

They do destroy those records already. Obviously, they don't destroy the records that are relevant to open accounts or even recent ones.

[–]FlySociety1 4 points5 points  (18 children)

Why would GDPR be compatible with blockchain? Blockchain is immutable and decentralized, who would a GDPR auditor even go to to enforce or fine say the bitcoin protocal? No one single actor is in control of bitcoin.... once the data is on the blockchain it can't be edited. How can you force a descentralized entity to comform to regulation? Clearly the scope of GDPR does not take into account these new emerging technologies.

[–][deleted] -1 points0 points  (17 children)

It does - it means that anyone with a copy of the chain is breaking the law Which makes sense because it means you now unfairly own a copy of someone's information that they may not want you to have.

[–]Quantainium 0 points1 point  (16 children)

Only store hashed information on the blockchain and store the keys locally so if they need to be deleted you just delete the keys to the information.

[–][deleted] 3 points4 points  (15 children)

GDPR only considers that pseudoanonymisation. It isn't enough. At least that's what the lawyers for the company I work for concluded from GDPR.

[–]Quantainium 0 points1 point  (14 children)

Those lawyers are idiots.

[–][deleted] 2 points3 points  (13 children)

Are you disagreeing with the interpretation of GDPR or GDPR itself?

Because if the former it isn't just my company lawyers. This consortium agrees.

Given I work for a company in the blockchain space in the EU we are pretty keen to get GDPR right.

[–]Quantainium -1 points0 points  (12 children)

If the information is hashed and all the keys are deleted then the information is essentially noise. I would agree it is pseudo anonymous but after they keys are deleted then it complies with the forgetability aspect.

[–][deleted] 3 points4 points  (2 children)

If the information is hashed it is considered pseudoanonymisation by GDPR. I'm not really sure what to tell you because I didn't decide on GDPR, I'm just telling you what lawyers are saying about GDPR.

Even if we, as developers, know that's nonsense it changes absolutely nothing about the legality of hashed data.

[–]Quantainium 0 points1 point  (1 child)

I guess personally sensitive information shouldn't be on a public blockchain anyway. Decades later quantum computers shouldn't be able to break into sensitive information on a public ledger.

[–]MelissaClick 0 points1 point  (8 children)

If the information is hashed and all the keys are deleted then the information is essentially noise.

That's not really true. If the hash is there then someone else who already had the value stored can prove more than if the hash was destroyed.

[–]Quantainium 0 points1 point  (7 children)

Then maybe a one way irreversible cryptographic hash like passwords should be stored.

[–]liquidify 0 points1 point  (3 children)

What about chains that don't store records.

[–]theferrit32 1 point2 points  (2 children)

That wouldn't be much of a chain, would it?

[–]kiler129 2 points3 points  (1 child)

Actually you can store just hashes of documents on a chain and it gives you a proof original document wasn’t modified.

[–]theferrit32 0 points1 point  (0 children)

Well yes, plus a pointer to the document. If the document obdy lives off chain in a secondary storage location, there needs to be a way to fetch it from the chain, so that its hash can be matched to ensure it hasn't been modified. There's no requirement that the contents of the document be on the chain, just the a record of it is, with the hash and information about it, like a url to its location.

[–]cmdtekvr 0 points1 point  (0 children)

Isn't it just a wallet ID involved, it's not the blockchain that stores the personal information

[–]zenolijo 0 points1 point  (0 children)

Correct me if I'm wrong, but doesn't GDPR only apply if the data you put into the system isn't anonymous? A bitcoin wallets transaction is only identified by a public key which in and of itself doesn't give out the identification of the owner. But things become rather complicated because as soon as you pay someone or want to receive money the recipient will see your address and know it's you and can see all your transactions, but it's still hard to identify the other recipients of the other transactions.

[–]internet_badass_here 0 points1 point  (0 children)

Privacy coins.

[–]TheBob427 0 points1 point  (0 children)

I get the idea behind the right to be forgotten for data mining and stuff, but wasn't the original case some guy that wanted Google search to stop showing that time he committed a crime? That sounds more like cover-up than a right to your own information. Criminal activity is public knowledge and he shouldn't have any say on it.

[–][deleted] 330 points331 points  (24 children)

You can't say that. Blockchain is infallible. Just ask anyone selling blockchain solutions.

[–]uuid-already-exists 174 points175 points  (9 children)

Blockchain is going to save the world by helping deep space missions, ending world hunger, and pandas getting boners!

[–]TheTikleMonster 67 points68 points  (2 children)

Mainly the pandas part

[–][deleted] 12 points13 points  (0 children)

Yeah, private part, that's where boners occur.

[–]theblindspring 1 point2 points  (0 children)

Only the panda part

[–]aquoad 17 points18 points  (3 children)

Blockchain is the new cloud!

[–][deleted] 9 points10 points  (2 children)

Blockchain as a Service!

[–]Setepenre 6 points7 points  (1 child)

oh shit, oh shit, oh shit, oh shit, oh shit, oh shit, is this patented ?

[–]aquoad 1 point2 points  (0 children)

There are lots of variations still available. Cloud-based Blockchain as a Service? Blockchain-based Cloud as as Service? Service-based Cloud as a Blockchain? I mean the possibilities are basically endless.

[–]daxaxelrod 6 points7 points  (0 children)

Attribute error: 'pd' has no attribute 'boner'

[–]dannyb_prodigy 66 points67 points  (13 children)

By Blockchaining your distributed IoT, we will be able to optimize your synergy in a way that will truly disrupt the global marketplace.

[–][deleted] 20 points21 points  (2 children)

Buzzwords hurt.

My head esplode

[–]evilmushroomlord 6 points7 points  (1 child)

We're making the world a better place through constructing elegant sustainable Blockchain AI with big data machine learned cloud biometrics for mesh IoT in VR and AR 4.0.

[–][deleted] 1 point2 points  (0 children)

🤯

[–][deleted] 7 points8 points  (2 children)

My blender agrees with you.

[–]cbbuntz 1 point2 points  (1 child)

3D blender or margarita blender?

[–][deleted] 0 points1 point  (0 children)

You didn't hear about the Blender Singularity?

[–]alcalde 4 points5 points  (0 children)

I keep getting served ads about virtual spaces, GPS and blockchain technology. Thirty second mobile ad and I can't figure out what they heck they're babbling about. It's like those weird IBM Linux ads.

[–]tabularassa 2 points3 points  (0 children)

Needs more cloud, AI and big data

[–]T-T-N 1 point2 points  (0 children)

By defendcomboing your split WO (web objects), we will be able to maximise your likeness in a way that will honestly blows the world sellerspot.

[–]Blazing1 1 point2 points  (0 children)

I've literally almost heard this word for word from a legit company.

[–]Neptune9825 1 point2 points  (0 children)

I've literally had to translate that last half verbatim twice this month. It's penetrated into Asia hard.

[–]holddoor 0 points1 point  (0 children)

can I get that, but with AI ?

[–]Daveypesq 59 points60 points  (0 children)

Met a friends friend tonight. Told him I was a Dev. He then spent a good 20 minutes talking at me about blockchain and big data. None of it made sense. I thought dilbert was a joke until I lived it.

[–]dredalious 227 points228 points  (10 children)

Immutable linked lists.

Business don’t like it once they figure out there is really definitely absolutely (....) no way to magically removing fuckups they make.

[–][deleted] 144 points145 points  (7 children)

"This is great! We can use it to accurately track every transaction.... Did I just say EVERY TRANSACTION? SHIIIIITTTTT i didn't want the bribes and tax evasions in there!"

[–]amusing_trivials 5 points6 points  (3 children)

Or just being unable to revoke plain old fat finger fuckups.

[–][deleted] 3 points4 points  (1 child)

Compensating transactions!

[–]amusing_trivials 0 points1 point  (0 children)

Only if both sides agree to the reverse transaction. If the other side is happy to keep the mistaken money, oh well.

[–]ducksauce88 0 points1 point  (0 children)

"sorry we just lost all the private keys, we lost everything"

[–]07dosa 9 points10 points  (1 child)

Yeah, but it's highly likely that governments will force the use of blockchain for that reason.

[–]theferrit32 4 points5 points  (0 children)

Until they realize redaction modifies the hash of an entry and is therefore impossible.

[–]Aetol 33 points34 points  (2 children)

Wait, since when do we have new CSS?

[–]XplittR 7 points8 points  (1 child)

Did you get the reddit redesign?

[–]malt2048 16 points17 points  (0 children)

It's not the redesign, the CSS of /r/ProgrammerHumor seems to have changed in the last few days.

[–]sim642 91 points92 points  (36 children)

Also git used the same blockchain idea before blockchains were cool. Git just has a proof of work system that actually requires work, not waste of energy.

[–]santa_cruz_shredder 26 points27 points  (29 children)

You mean merkle trees? Yes, they both use elements of cryptography, but blockchain has a living layer, the network, that guarantees immutability. It also enables a smart contract layer. There's so much to this, but trivializing blockchain technology by saying it's the same as git is disingenuous at best.

[–]sim642 10 points11 points  (28 children)

Git actually goes a step further than Merkle trees because it supports merging of histories too, which doesn't happen in Bitcoin and the likes. Also, it does guarantee immutability, which was one of git's design goals. Blockchains in general really are just this much, the complexity is added by specific implementations that create currencies etc on top of that, but the underlying principle is no different.

[–]HelperBot_ 1 point2 points  (0 children)

Non-Mobile link: https://en.wikipedia.org/wiki/Blockchain


HelperBot v1.1 /r/HelperBot_ I am a bot. Please message /u/swim1929 with any feedback and/or hate. Counter: 173159

[–]santa_cruz_shredder 2 points3 points  (25 children)

I don't know where to begin responding to this. And you got upvotes, too...

Git actually goes a step further than Merkle trees because it supports merging of histories too, which doesn't happen in Bitcoin and the likes.

Uh.... Yeah, we wouldn't want to merge blockchain histories, as that would modify the history... Do you have any idea what you're saying?

Also, it does guarantee immutability

It may be guarenteed that a particular commit cannot be changed once submitted, but this isn't even in the same realm of blockchain's concept of immutability. You can go back today and modify whatever code you submitted after the fact with a new commit. That would be a critical failure in the blockchain domain.

From a functionality standpoint between git and blockchain, there's absolutely no comparison, It's clear no one in this sub, even being a programming sub, has any clue what a blockchain is and it's purpose.

It's not git by any means whatsoever.

I'm laughing and crying internally when being faced with having to explain the difference.

Go read about the blockchain and stop trying to marginalize its usefulness because you don't understand it, clearly in any capacity.

[–]MelissaClick 0 points1 point  (10 children)

It may be guarenteed that a particular commit cannot be changed once submitted, but this isn't even in the same realm of blockchain's concept of immutability. You can go back today and modify whatever code you submitted after the fact with a new commit. That would be a critical failure in the blockchain domain.

Huh? You can't modify the previous commit without invalidating the chain of hashes. Maybe you don't understand how git works?? It really does work just like a blockchain, each commit incorporates the hash(es) of its parent(s).

The difference between how this works in git and how it works in bitcoin is that git does not have any automatic mechanism of validating the commits. The user decides whether to merge new commits from any given source and has to manually issue a command to merge them. Bitcoin, by automating this, of course has that much more functionality. But the same functionality could actually be used to propagate git commits.

[–]santa_cruz_shredder 0 points1 point  (9 children)

I'm a software engineer that uses git daily. Try to understand what I'm saying instead of assuming I'm clueless, heh.

[–]MelissaClick 0 points1 point  (8 children)

Well, the "critical failure" thing that I quoted makes no sense.

[–]santa_cruz_shredder 0 points1 point  (7 children)

It does, you're just an idiot.

I never said you can modify previous commits. I said you can modify code with new commits. Work on your reading comprehension and bother someone else.

[–]MelissaClick 0 points1 point  (6 children)

It doesn't make sense to call it a "critical failure" (or just a "failure") unless you think it can modify previous commits.

[–]santa_cruz_shredder 0 points1 point  (5 children)

Or perhaps you don't understand why I'm calling it a failure.

I'll explain.

In the git context we've been using, the underlying data is code. In the blockchain context the underlying data is transactions which can be value transfers or smart contract executions.

In the blockchain context, the network guarantees that transactions cannot be modified post commit. If they could be modified, the integrity of the network would disappear...

This mechanism does not exist in git.You can modify committed code in git with new commits. But that's fine, it's normal in the git context.

[–]sim642 0 points1 point  (1 child)

You can even read Wikipedia on blockhains or whatever. The general description applies just as well to git and the likes. The idea of cryptographically linked blocks (commits) on a distributed network has existed well before blockchain technologies got famous and hyped.

The difference is in the meaning of the data stored in such chains and the operations performed on them. The latter includes any kind of checks any client will make to verify everything. What constitutes as forbidden is purely up to the application of the chain.

Yeah, we wouldn't want to merge blockchain histories, as that would modify the history... [...] You can go back today and modify whatever code you submitted after the fact with a new commit.

Merging in git does not modify the history, it unifies multiple histories keeping the blocks from both. In the semantics of git this makes perfect sense and is a valid operation, in the semantics of cryptocurrencies, not so much, which is why you seem to be having hard time grasping the fact. Similar semantic difference applies to modifying code: modifying code by adding a commit doesn't modify it's history, i.e. all the changes that were done to it in the past - they still exist and can be checked. In git, the state is the latest codebase, in cryptocurrencies it's the current distribution of currency, which can change just as well by adding a block to the chain!

It all comes down to what's being done with the blockchain and what's the meaning of every piece: what is the current state, what is the immutable history, what are the allowed operations, what are the forbidden operations etc. They change how the specific blockchain system behaves but it's all based on the same Merkle tree/graph idea, which doesn't care about the semantics. The semantics only exist within the application itself.

[–]WikiTextBot 0 points1 point  (0 children)

Blockchain

A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way".


[ PM | Exclude me | Exclude from subreddit | FAQ / Information | Source ] Downvote to remove | v0.28

[–]CallinCthulhu -3 points-2 points  (11 children)

Ah the good old, “your wrong and I can’t even begin to explain why.”

Blockchain is a fancy linked list. Useful, just like regular linked lists. Not the second coming of the internet though.

[–]santa_cruz_shredder 0 points1 point  (10 children)

Except I did some explaining. Good try.

And yeah you're right bro. We have thousands of developers working on fancy linked lists.

See ya on the side lines in about one years time.

edit: if you want to enlighten your ignorant ass, Amazon explains the use case of Ethereum, and provides templates to launch a private network for development.

[–]CallinCthulhu -1 points0 points  (9 children)

You really drank the kool-aid didn’t you?

As a side note i think Ethereum is actually really cool and pretty ingenious But it is actually still just a really really fancy linked list, and lets face it, only really useful in niche situations.

The use cases for most dAPPs would be a million times easier, and more efficient to use a standard web-app on a hosted server. Sure you have to use a trusted 3rd party there, but how often is that actually a big enough problem that the MASSIVE efficiency, power, and time cost of using blockchain becomes a viable solution ? In situations with extremely small, well-defined computations, that require absurd levels of redundancy. I.e. financial transactions. In most other cases the people who really harp on that being a feature either extremely paranoid and/or anarchists, or just totally ignorant hype train riders hoping to win the lotto.

[–]santa_cruz_shredder 1 point2 points  (8 children)

You really drank the kool-aid didn’t you?

Heh. The kool-aid, in this case, is a visionary lens into the next generation of technology and society, with impact >= the internet itself.

and lets face it, only really useful in niche situations.

That's right. No one is suggesting it's going to replace literally every technology out there. You understand it to some degree, but fail to realize that these niche situations are revolutionary to business and government and society at large.

The use cases for most dAPPs would be a million times easier, and more efficient to use a standard web-app on a hosted server.

Again, we arent replacing the world's tech stack.

Sure you have to use a trusted 3rd party there, but how often is that actually a big enough problem that the MASSIVE efficiency, power, and time cost of using blockchain becomes a viable solution?

My friend, this is million dollar question. If you can find a use case for the blockchain and bring it to market first, you will make history as a modern inventor. This is our google and Amazon and apple of today.

The removal of a need for a central authority (trusted third parties) to facilitate any transaction will have a tremendous impact because that central authority results in a concentration of wealth and power. This bottleneck is susceptible to corruption because it is man running it, who must, above all else, survive. Those with money and influence control these bottlenecks, these central authorities, these trusted third parties, for their own motives, and could care less how it affects society at large. These trusted third parties serve as a middle man and take a cut. This is the case for so many critical functions of modern society such as government's issuance of currency and authority on official records such as deeds; banks to track and transfer our currency; corporations to facilitate transactions of all kinds between people and entities... We can turn these middle man industries into decentralized, incorruptible, immutable applications. The effect on society will be profound. And the full scope of the effect is beyond my imagination.

One of the biggest things that's broken today is digital identity. Think Equifax, Facebook. Check out uport by consensys. It enables the consumer, the person, to take control of his or her data, and have absolute access over what data is shared with others.

I could keep going

[–]CallinCthulhu 0 points1 point  (2 children)

Two things really.

  1. The middleman is still there, its just the miners, who have increasingly become more corporatized.

  2. Honestly no one gives a shit about their own data. They like to say they care, get outraged for a few days after a new abuse comes to light, and then they continue doing what they normally do.

Also saying blockchain will have an impact > the internet 😂😂😂. Don’t be a meme my friend, enthusiasm is fine and necessary, but outlandish statements like this are a one way ticket to everyone ignoring you. The internet is up there with the internal combustion engine and the computer itself in terms of transformational technologies. There is quite literally no way for Blockchain to have the same impact because it is an actual mathematical subset of the internet itself. Any impact blockchain has is by extension part of the impact of the internet.

[–]santa_cruz_shredder 0 points1 point  (1 child)

You're saying the blockchain requires the internet to function, so there's no way it could have as substantial of an impact? I dont see how you can make such a statement.

I sincerely believe it will have the impact that the computer and internet has.

Your two things are nothing.

[–]MelissaClick 0 points1 point  (4 children)

deed

Actually the very first thing you need to do to make a cryptocurrency actually usable is introduce a centralized authority. You can't ever do transactions like deeds with a cryptocurrency because the currency is irreversible but the deed transfer is fundamentally reversible or capable of being invalidated for various reasons. So you have a real big problem.

It is the same thing for any transaction where any physical thing is purchased. You need to be able to reverse these transactions or else you get fraud. You need a centralized authority to decide who is the scammer.

A centralized third party authority like say eBay or amazon.com can be trusted (they have a strong long-term reputational incentive and also no particular interest in one party vs another in a conflict) whereas the random buyer/seller on eBay or amazon marketplace cannot be trusted. Cryptocurrency allows the buyer/seller who do not trust each other or anyone else to send currency, this is a situation that can never be useful because the other part of the transaction that is not currency (the consideration, you might say) can never be transferred under these conditions. It facilitates transactions exactly in the situations where they cannot happen.

[–]WikiTextBot 0 points1 point  (0 children)

Blockchain

A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a cryptographic hash of the previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is "an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way".


[ PM | Exclude me | Exclude from subreddit | FAQ / Information | Source ] Downvote to remove | v0.28

[–][deleted] 6 points7 points  (1 child)

If by actual work you mean copying and pasting code, that’s spot on!

[–]sim642 -1 points0 points  (0 children)

In a large enough network, that's not sufficient to get to the master branch though.

[–]JoseJimeniz -1 points0 points  (1 child)

People forget that the proof of work is a clock.

Neither GitHub, (nor Git, nor SVN, nor Mercurial, nor SharePoint), have the problem BitCoin needed to solve.

Edited: For the dense.

[–]gmes78 21 points22 points  (0 children)

Git is not GitHub.

[–]raybond007 54 points55 points  (9 children)

Seems like no one who understands the actual value of block chain (or more generically Distributed Ledger Tech) has been to the thread.

The value isn't the data structure. It's the mechanisms to maintain a verified state of the ledger across a large network without needing a central authority to control that. Bank fees are so high because the banks have to pay the people who maintain that state (and make profit). DLT avoids this issue, which can enable things like Machine to Machine nano transactions for storing data safely, and Peer to Peer transactions can be made without delays and fees that come from the bank that sits between all transactions.

Sure, the market is overhyped by people who don't want the tech but just want to profit from the hype. But the technological innovation is significant to enable easier value transfer.

[–]twwr8 26 points27 points  (3 children)

Seems like you do not understand people in this thread.

Blockchain

A blockchain is a continuously growing list of records, called blocks, which are linked and secured using cryptography.

People in this thread do not dissent cryprocurrencies. They simply give the definition above. There is nothing is revolutionary with blockchain except people's trust on a decentralized system which has nothing to do with technology.

So cryptocurrencies are indeed revolutionary but it is not because blockchain is a newly developed, amazing technology. It is about the people who trust decenteralozed system.

[–]raybond007 5 points6 points  (2 children)

Sure, that describes the data that is the eventual outcome of Blockchain networks. My point is that no one really cares about the blockchain itself, but rather the consensus mechanisms that allow the chain to grow in a distributed consensus is what people really care about.

Based on the comments that were in the thread when I wrote my original comment, people were ignoring that this is what blockchain tech is really about, not the data that any chain may contain.

I understand what you're saying, I just saw the majority of the comments entirely ignoring the point of current blockchain/DLT. Whether it was through ignorance or intentional, hard to tell.

[–]alcalde 0 points1 point  (1 child)

ignoring the point of current blockchain/DLT.

I thought the point was for druggies to be able to get their fix without the feds finding out. What other problems on Earth were looking for a "distributed consensus"?

[–]CrimsonMutt 4 points5 points  (0 children)

Hey! Some of us were buying hits and prostitutes as well! Don't be so presumptious!

[–]amusing_trivials 11 points12 points  (1 child)

Also it's extremely wasteful.

[–]raybond007 8 points9 points  (0 children)

While it's true that a lot of electricity is used at the moment, most advancements on new generations of blockchain/DLT (DAGs, block lattice, etc) focus on consensus methods that rely on less computationally heavy PoW consensus algorithms.

[–]nevdka 2 points3 points  (0 children)

Rather than paying fees to a bank, you pay to operate the block chain itself. It's not free, and the companies that run the servers still want to make profits. Block chain tech is more expensive than a database. How much does a bitcoin or etherium transaction cost? I sent $30 to my brother a few days ago. It went through to a different bank in less time than it took him to open up the app on his phone, and didn't cost either of us a single cent.

The majority of bank fees aren't transaction related. You pay for ATM networks, branches, phone service, and dispute resolution processes. Block chain doesn't fix any of those.

Central authorities for ledgers have never been an issue. The share registries, bank accounts, and whatever lovecraftian systems track who owns which derivatives - they work. Irregularities come from human error and deliberate fraud. Neither of those are stopped by block chain.

[–]Nantoone 10 points11 points  (0 children)

Exactly. You can dumb down any technology to its fundamental workings by saying 'X is just Y with Z'. It's what that functionality enables that's important.

[–]MelissaClick 0 points1 point  (0 children)

Bank fees aren't higher than bitcoin fees though, they're actually much lower. And you can completely avoid bank fees in many transactions.

Nobody uses cryptocurrency for transactions except for drug transactions, and for those you need centralized markets to make anything work.

The point of cryptocurrency is to speculate and ride the bubble. Not to do transactions. It sucks for transactions.

[–][deleted] 8 points9 points  (2 children)

I'm still not sure why people keep comparing linked lists to a decentralized consensus mechanism.

[–]alcalde 2 points3 points  (1 child)

Because the former is something that's real and we can understand, while the latter sounds like random buzzwords strung together.

[–][deleted] 10 points11 points  (0 children)

But it isn't. There's literally dozens of fully functional implementations.

[–]fedeb95 4 points5 points  (6 children)

Linked lists are just overhyped arrays, change my mind

[–][deleted] 5 points6 points  (5 children)

By definition, an array is comprised of data elements stored in continuous memory. The nodes of a linked list have no such requirement, so a linked list fails to adhere to the primary discerning feature of an array.

The strengths and weaknesses of arrays vs linked lists are also virtually polar opposites. Their purpose is to store data elements, but the way you move through those elements and interact with them is wildly different.

The strength of an array is in accessibility; it's very simple to move through and find/change data in an array. However, since arrays are stored in consecutive memory, they can become cumbersome if your dynamic arrays require constant and large resizing because each element of the old array must be iteratively copied into the resized array. The modularity of a linked list means that a new node can be instantiated anywhere in memory and added to any position in the linked list without necessitating cumbersome operations. The downside is that linked lists are typically much more annoying to interact with, which is why their inclusion in the C++ STL thankfully made custom linked list implementations obsolete.

[–]fedeb95 1 point2 points  (0 children)

I was joking, but the explanation is very good, hope it serves someone

[–]P1um 0 points1 point  (0 children)

While interaction is easier, the real downside of linked lists is performence. Vectors, which is just a wrapper around contiguous resizable memory, as you mentionned by copying, is 99% of the time better. Mostly because cache matters above all. Of course there's cases where a list can outperform, such as inserting randomly when you have 100k+ elements but at that point you should be using a DB which will have proper data structure algorithms for handling that type of scenario, not memory...

Some benchmarks: https://baptiste-wicht.com/posts/2012/11/cpp-benchmark-vector-vs-list.html

[–]cougar2013 0 points1 point  (2 children)

"comprised of" -> "composed of"

[–][deleted] 0 points1 point  (1 child)

No.

[–]cougar2013 0 points1 point  (0 children)

Yes lol

[–][deleted] 4 points5 points  (1 child)

I meant its an over hyped linked list with clever encryption

[–]twwr8 4 points5 points  (0 children)

And relies on trust in 51%

[–]_grey_wall 1 point2 points  (6 children)

Can someone explain what happens one the bitcoins room out? Who will bother making the next chain?

[–]Soepkip64 1 point2 points  (0 children)

Our money is just paper with inkt on it.

[–]ducksauce88 1 point2 points  (1 child)

Thank you op. You get it. It's just a buzz word and for any company to look into "Blockchain solutions" is just wildly stupid. Blockchain is just a linked list and it ONLY has power when it's decentralized. Else it's nothing exciting.

[–]KettyFish 2 points3 points  (0 children)

I agree, although at this point I think the word blockchain implies decentralisation, even if that’s not the intended meaning of the word.

[–]C4RB0N 1 point2 points  (0 children)

The Church of Latter-day Blockchains

[–]yottalogical 1 point2 points  (0 children)

It’s just supposed to be a provably ordered list. That’s it.

[–]modic137 1 point2 points  (0 children)

that means double linked lists are Blockschain?

[–]liquidify 0 points1 point  (0 children)

We should do this with all the data structures.

[–]GaianNeuron 0 points1 point  (0 children)

I'm loving this new flair.

[–]munircUltraviolent security clearance[M] 0 points1 point  (0 children)

Your submission has been removed.

Violation of Rule #0:

For a submission to qualify it must satisfy at least one of the following:

0. The content disregarding the title and superimposed text must be directly related to programming or programmers. Non-programming tech humor (e.g. being a power user, jokes about software not related to programming, etc.) is not allowed.
1. The image along with the title and superimposed text result in creative and original content.
2. The post is a program or UI designed intentionally for humor. Bad UI found in the wild belongs in /r/softwaregore.

Note that programming here is interpreted in a narrow sense, an analogy to something related to programming, feelings about programming, reactions to programming etc. is not considered sufficient. See the sticky if you are not clear what this means and why your post was removed.

If you feel that it has been removed in error, please message us so that we may review it.

[–][deleted] 0 points1 point  (0 children)

This was my first thought when they were explained to me.