Calling Git a blockchain to rebrand bad tech
rubenerd.com
rubenerd.com
All the “HODL”, “diamond hands” and other memes in those circles essentially amount to trying to rally people to (artificially) increase the price of Bitcoin/Ethereum/whatever.
And the more they succeed in doing so, the larger the incentive to run scams or waste power running “mining” computers.
However, one of the things that fuel my believe on blockchain is how many the arguments against it are falacies and/or full of ignorance like this one.
"Someone made the wrong assertion that git is blockchain IMPLIES THAT blockchain is going down and their adepts are desperate" a very simple fallacy to realize to be honest, not worthy of hacker news.
Also ignorant things like: "stumping up in a complicated, exclusionary, and non-existent proof-of-stake system its advocates claim is just around the corner every six months"
1. It is not complicated, I understand it 2. It is less exclusionary than proof of work 3. It exists 4. It launches next month (aprox 15th September) on Ethereum
Also, I don't follow Eth but are proof-of-stake pools prohibited? Can one address stake more than X (1?) Eth?
Blockchain seems to have been introduced as a solution in search of a problem. Then it turned into a buzzword (I mean my dentist was talking to me about blockchain a week ago since she knows I am in tech) that is (was?) being applied to random things without being asked what are we solving for.
The technology for blockchain is interesting, but there are so few actual use cases that a blockchain actually does anything useful and even those few use cases you need to make sure there is incentive for it to be distributed enough.
Not being beholden to a central authority (whether that authority be Twitter, PayPal, or the US government) is intrinsically valuable to a lot of people. Blockchains are just a convenient and proven way of enabling that sort of independence.
Granted, decentralization is a bit of a niche, and the cryptocurrency gold rush has made it way more mainstream than it has any right to be at this point in time given its drawbacks. But that doesn't mean it's not valuable.
As for blockchain specifically: yes, decentralized payments seems to be the primary use case. But once you have a decentralized payments system, that enables the creation of a whole bunch of other decentralized applications that would not have otherwise been possible. That's why most "blockchain" projects start with a currency and then build from there: it's hard to build decentralized cloud storage[1] or decentralized DNS[2][3] without first having a decentralized way to pay for those services.
[1]: https://sia.tech/
I think anyone who’s trying to achieve trustlessness by introducing more complexity into software is running a fools’ errand. Make simple, auditable systems.
"Lots of mining is centralized in large pools." or "lots of people choose to buy their Bitcoin through Coinbase" is not anywhere near the same level of dependence on a central authority as "PayPal can freeze my account at any time and I'm SOL". It's like claiming the internet is a centralized system because AWS exists.
Most buy coins through exchanges, via fiat as an intermediary. They upload a driver's license which the intermediary keeps on file for KYC purposes.
If Bitcoin or cryptocurrency in general is supposed to decentralize finance how is it going to attain that goal if "doing it properly" requires installing a miner or exchanging cash for a flash drive in a Walmart parking lot? We're talking about the typical person globally whose conception of the internet might just be Facebook.
As soon as you have a trust model, "blockchain" goes out the window as a good answer.
[1] https://www.coingecko.com/en/categories/cosmos-ecosystem
This is the fundamental problem with blockchain/web3 and you will notice that everyone shilling for it is very careful to focus on one side of the coin.
The fact that some of those systems start to approach usability is also a very weak reason to switch from the existing usable systems. The non-buzzword web3 exists, works, and is called "micro-transactions".
I don’t find the idea of a microtransaction every time someone visits a site to be repugnant at all. It costs me money to send my site to people requesting it. Why shouldn’t I be able to say that my sending it to them is conditional on them compensating me for that cost?
This doesn’t take a cryptocurrency to implement, I believe amazon used to have a similar service to facilitate sub-penny transactions. But it does take a cryptocurrency to implement it in a decentralized way, a way that’s credibly impartial, and can’t ban you because you irritated amazon, and can’t try to raise its take once network effects have set in.
(Cryptocurrencies have their own problems, like the persistent issues with scaling, but let’s say those are solved within our lifetimes and the cost of doing something on Ethereum is within an OOM of doing it on AWS.)
If something like this “pay me a tenth of a penny to view my site” became commonplace, that could enable new trades that otherwise couldn’t exist. For example, I’m not willing to put ads on my site and not enough people are going to donate to me to make updating my site not something I do out of the goodness of my heart. But if I could have this arrangement, maybe things would look different. It would be one more way of being compensated for making things that other people want to use, and it would have much better incentives than advertising.
That’s an example of how cryptocurrencies can create value by moving money around.
That's the type of facetious claim that leads everyone to tune off Blockchain/web3 snake oil salespersons. If your notion of value depends on your ability to generate artificial scarsity then it's not worth even debating.
> I don’t find the idea of a microtransaction every time someone visits a site to be repugnant at all. It costs me money (...)
Completely irrelevant. Like everything else in the whole world, if you're considering providing a service to the public but you think it would cost you too much to justify the trouble, then don't, and go do something fruitful with your life.
Just because you can come up with an idea to provide something, that does not mean you are automatically owed profit or even revenue, nor does it mean you are free to force everyone to hand over their hard-earned money to you just because you want to install your parking meter on their mouse button.
Charging a fee to visit a site, even a very small fee, is a dark path.
First, there is an ethical dilemma built in because you are charging users for an unknown quantity; in order to know what you’re selling visitors will have to buy it from you first. The cost of those initial visits is traditionally a cost of business accepted by the seller.
Let’s frame this with an analogy to a retail store. I business owner accepts the cost of leasing a building, and the cost of staffing it. When you visit the store you make no promise of purchase, and the owner accepts that they have an obligation to demonstrate a value proposition which visitors will accept.
Websites are effectively the same: owners accept the cost of the lease (domain, hosting) and have to provide a value proposition worthy of purchase. If the value proposition isn’t there, the business fails.
You may be thinking now of strip clubs and music venues, where you have to pay a cover charge to enter. This seems analogous to web3, but it has a key difference: you are provided a lot of information before you pay that cover charge. You can see how many people are there, if the place looks clean and well maintained, maybe you can hear the music from outside and you get to decide if the cover is a decent value. Web3 is blind, you get charged a fee before you have any information about what the value is.
Secondly, there is a question about the fairness of charging a secondary fee to use the internet. You are already paying an ISP to access the internet, and web3 wants you to pay a new fee to also simply use the internet.
This may be a trivial question for many people, but what about the impoverished? Poor people exist everywhere, and one of the beautiful parts of the internet is that we find ways to connect even the very poor. Governments and philanthropies around the world find ways to overcome the architectural cost of providing connectivity to even the poorest, and adding yet another burden to them is, to me, unquestionably wrong.
Thirdly, there is the question of what happens to innovation when people have to decide blindly if they want to visit a new site? If I know that clicking a link will have a real cost, will I?
Another beautiful thing about the internet is that it provides a platform to so many to pitch their… whatever. Anyone can put up a site and try their luck on the market without the requirement of loans and staff. This is why network neutrality is so important, we can’t allow the big players to control the flow of traffic and stifle innovation from new faces.
Web3 violates this by making you question the value of a click. Are you going to click on the link from the new guy? Maybe, but maybe not. Without transactional visits the question doesn’t exist.
It may seem simple from your perspective, but charging per visit in the web3 fashion has real sustainability questions we need to address, and crypto bros really want us to just not worry about it.
It is not as permissionless as PoW. Anybody can mine a GPU mineable coin, but to stake you need to find existing owners willing to sell you enough coins to stake with.
This reflects the fact that PoW is also a distribution method in addition to a consensus method, while PoS is only the latter.
I tried reading the Tezos proof-of-stake scheme [0], but it seems like it has some very obvious holes that leave security gaps wide open (namely, once you get to somewhere around 50%, probably less, you can completely predict and control the PRNG outputs, giving you full capture of the network), which makes me feel like I still don't quite understand it.
I won't go into whether it's exclusionary or not. That depends on your economic viewpoint. Personally, I think they're about the same -- those with the wealth control the network.
And they've consistently been pushing back The Merge's launch date less than a month than the go-to date. I remember when they wanted to launch it in April 2022. And then May. And then June [1].
[0] https://tezos.gitlab.io/active/proof_of_stake.html [1] https://eips.ethereum.org/EIPS/eip-4345
You can only influence the RNG if you go last. That is to say, you could not completely predict or control the RNG unless you control 100% of the stake. At 50% of the stake, you go last 50% of the time, and even when you go last you don't have the ability to fully control the RNG (although you could do a pretty good job at 50%, at substantial expense to yourself).
The only means anyone has of influencing the RNG is by not revealing their random contribution, which they're punished for by losing their staking rewards. (The original tezos whitepaper had a higher penalty, I believe you forfeit an additional "safety bond", but I don't know if that made it into the implementation.) The hope is that incentives like these are enough to discourage that behavior. All cryptocurrencies depend on incentives for security, in part for cases like these.
But this is a particularly bad case where someone with a sub-33% stake could attack the chain. Fortunately, at <33% control of the stake, the damage you could cause from that attack is small and the attack would be very expensive, so it’s not considered a major problem. I think the worst you could do is censor some transactions for a time, and deprive some others of their staking rewards.
(Although I was a protocol developer, I never worked on anything related to this, so don't take my word as gospel.)
You have a bias seemingly in favor of blockchains, you see a blockchain critic making a poor argument, and that reinforces your belief in blockchains.
I think the linked post makes good points (e.g. git and blockchains are related but not broadly comparable) wrapped up in a lot of unnecessary opinion.
Surely the rational approach is to just discount bad arguments, not to treat them as evidence to reinforce the opposite position.
I’m not sure this is an argument really.
On technical merits, the first point is kind of invalid. You can't rewrite history in git without changing commit IDs. And the two others are the same point: git doesn't have a distributed consesus mechanism.
It would be very easy to build one, though, which gets git close enough for comparison purposes. And the "blockchain" term only hints at the merkle tree aspect.
Now, on rebranding: while I feel the comparison apt, it shouldn't be used as a successfull example of blockchain technology. It can to an extent, but blockchain means something different in people's mind. I'd still do the comparison while pointing out the difference.
And that's something I often do, when explaining how either works.
And to me, blockchain (including consensus) is still a mathematical curiosity that hasn't proven useful yet. I've seen some interesting PoW proposals, like mail anti-spam, or rate limiting/captcha.
It doesn't have an automated distributed consensus mechanism.
It does have a manual distributed consensus mechanism; that's basically how every popular open source project works. You fork the project, make a change, and if your commit is an improvement over the project you forked people will be inclined to merge it into their repositories, eventually arriving at a consensus.
In practice this process is often more centralized than distributed, but it doesn't have to be. If you want to 51% attack a popular repo, all you have to do is make constant, quality improvements to the project over time, and eventually your fork may well become the dominant one even over the objections of any centralized authorities.
But "not changing commit IDs" isn't part of git's utility. Not inherently.
This is easily proven by the fact that people do rewrite history. Because it's a useful feature to have.
To say that you can't rewrite history without changing commit IDs is like saying you can't prove a certain point without using the letter 'e'. Like… why are you even bringing up such a restriction?
> but blockchain means something different in people's mind
Right. Blockchain means "distributed ledger", which git is not. To say that git is one too is a technicality on the level of saying it's "wrong" to say "have your cake and eat it too", when it's actually "eat your cake and have it too".
It's not wrong, just not meaningful.
The only reason, in my opinion, to talk about the similarities between "blockchain" and git is to do exactly what this article does: to remove confusion in the mind of the listener that they are in any way meaningfully similar.
> I've seen some interesting PoW proposals, like mail anti-spam, or rate limiting/captcha.
Maybe in the future you'll mine the next cryptocurrency by proof of work in the form of "help this self-driving car that's stuck at an intersection it doesn't understand".
How is that not a useful, intentional feature of git? Commit IDs (hashes) ensure DAG consistency as well as many other benefits. Linus explains it better than I could[0].
> This is easily proven by the fact that people do rewrite history. Because it's a useful feature to have.
It depends on the context. Try to rewrite commits in a PR for any public repo and see whether others agree it's a useful feature.
Anyway, I think you're proving the counter point: this is a shared feature of git and block chains - you know when history has been rewritten because the hashes changed.
It is closer than you seem to think: rewriting history in a public, published repository will wreak havoc across contributors'clones. Contributors will have to contact upstream and ask if there was a reason, if it was intentional, or a malicious event. Especially if the root commit was changed, in which case you can't even attempt to merge repositories.
I don't really see why you couldn't backtrack the bitcoin blockchain, pretend an arbitrary block is the most recent one, and start your fork from there. The difference is,is that if you want to include some subsequent blocks, you will have to provide some proofs of work.
In both cases, some convincing is needed to move the consensus base to a new one.
https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History
In the important note:
> One of the cardinal rules of Git is that, since so much work is local within your clone, you have a great deal of freedom to rewrite your history locally. However, once you push your work, it is a different story entirely, and you should consider pushed work as final unless you have good reason to change it. In short, you should avoid pushing your work until you’re happy with it and ready to share it with the rest of the world.
Also:
> it can rewrite huge swaths of your history, so you probably shouldn’t use it unless your project isn’t yet public and other people haven’t based work off the commits you’re about to rewrite
This is git 101. People can still choose to follow your rewritten history fork though, and it's also the case for bitcoin.
In git it's a hiccup if upstream does it. But it does work. For buttcoin you get the DAO split.
A company can have a flag day, and keep a mapping of old hash to new hash for audit purposes.
I'm not saying do it willy nilly, but repos are fundamentally below the humans and any needs they have. Blockchains say code is law, and a fork (see eth DAO) is a complete clusterfuck.
Scrubbing some PII you legally need to remove from the corp codebase? Some poking, yes, but not a disaster.
Whereas they say there's plenty of child porn in the bitcoin Blockchain.
on the other hand, i believe blockchain is used for many projects that don't need that new feature, where something similar to git would suffice. in other words a lot of blockchain uses are not innovative in that they don't enable something that would not have been possible without blockchain.
another part is that there are no general purpose libraries that are decoupled from file based version control (that i am aware of) that could be used. so people turn to blockchain because it is the most obvious thing to use. just like people use kubernetes even when in many cases that is overkill and unnecessary to solve a particular problem.
It is the consensus part of a crypto currency blockchains that is the part I usually have objections to. I have increasingly started to realize that it is surprisingly few situations you want such a rigid type of consensus and consistency. In computer systems you usually want something much more efficient and in human systems, in the places where you really need consensus it is usually very required to have systems like our institutions that are filled with checks and balances for fault tolerance and fairness. And in most places you just have to realize consensus in a society is really hard and reeeeally slow - and I don't know if that is possible to change.
I'd personally argue that "blockchain" is a bad way to describe immutable, decentralized ledgers, because it inherently leaves out some of the defining aspects.
However, the term has been way too established for a long time now, so the whole discussion is moot.
[0]: https://www3.fossil-scm.org/site.cgi/doc/2022-05-28/www/bloc...
Does he have any examples of people making this claim? Otherwise the post just seems like a lengthy strawman (or what's the name for an argument based on defeating a made-up statement?).
There is no alternative as far as I know.
It's not much different than the problem of micronations[1]. Exciting as they are for D&Ders of a sort, they aren't real nations for the simple reason that they lack a defining feature of a nation (among others): that everyone else think they're a nation.
Cryptocurrency is perhaps not as extreme; a reasonably large number of people appear to be persuaded that units of cryptocurrency are a real asset, and some begrudging convertibility into other kinds of assets (a defining feature of a currency) does exist. Still, it suffers from a similar problem, in kind if not in degree.
This is the difficult part for me with Cryptocurrency. Sure, the idea is cool, but I can't really use crypto with any of the services I use except for maybe my VPS provider or other technical services (which requires me to provide an email address anyway). I'd love to hear about mainstream services allowing financial transactions through cryptocurrency. Pornhub is the only mainstream/non-tech service I can think of.
The only practical use for me with cryptocurrency would be to convert it back into USD eventually.
I suspect those may have been edge cases though.
Let's not assume that it's going to be the end-all and be-all, because it's not. It's a medium of exchange between members of a community (BTC, ETH, Doge, or whatever).
The common misconception that "oh crypto is such a scam" type of group is that they assume this is designed to replace something else. It's not a replacement of any kind, it's a tool for a medium of exchange between communities.
Permissionless means that there is no central entity needed to observe or even approve my actions with my assets.
What existing solutions?
I strongly disagree, self-soverignty is a personal decision. It doesn't matter in what country you live.
same in everything: probably 85% of songs i don't like, 10% i'll listen to, 5% is amazing.
85% of crypto is nonsense, 10% is interesting, 5% transformative.
i find it a useful mental model to not be annoyed at everything i encounter. if theres tons of people saying taylor swift is great theres probably one song im gonna like. apply it to crypto too.
[1] https://donotpay.com/learn/spam-accounts-for-approximately-p...
Pareto would be that 80% of all crypto transactions are done by 20% of all the cryptocurrencies (given 10,953 active cryptos, that would be 2,190), which also doesn't stand since ~99% of all crypto transactions are done by the top 10 cryptos (BTC, ETH, etc.), textbook oligopoly [2].
[1] https://en.wikipedia.org/wiki/Sturgeon%27s_law
[2] https://coinmarketcap.com/charts https://www.statista.com/statistics/1269302/crypto-market-sh...
And I'm being generous.
* "As of July 2022, there are 20,268 cryptocurrencies in existence. However, not all cryptocurrencies are active or valuable. Discounting many “dead” cryptos leaves only around 10,953 active cryptocurrencies." [1] — 15% of active cryptocurrencies in 2022 would be ~1,643, the point still stands.
[1] https://explodingtopics.com/blog/number-of-cryptocurrencies
I wouldn't even classify buying illegal drugs on the internet, which is the most moral of all cryptocurrency use cases, as "transformative".
I suspect this person has misinterpreted the messaging they’re hearing and misunderstood the position being taken.
It’s also unclear if they don’t know how to spell Ethereum or if they’re weakening their argument by purposely misspelling it.
It annoys me that crypto bros think that bitcoin was the first use of bloody cks of data with hashing for an immutable ledger. Its common practice in many industries. Inc the one I work in (lotteries)
Bitcoin is a clever trick. But it's underlying tech is not anything radically new. It's just using some best practices for a perticular use case.
Evidence: https://twitter.com/smdiehl/status/1499637399751692288
The entire article is arguing a strawman.
I usually see that claim from people trying to claim blockchains are nothing new, as in "git has existed forever, blockchains are dumb."
This is a super low-quality article.
reddit/moons thing is interesting as a kind of experiment of all issues there and problems to solve
im not convinced yet that the result will be something good, a kind of hypercapitalistic zero-sum internet rat race
Good day sir.
(i.e. once you've made a link between two blocks it can't be changed)