Email, BitTorrent, Git are all "decentralized systems" and they have nothing to do with finance and do not use blockchain tech.
I realize crypto is hot right now, but lets try to have some perspective.
Email, BitTorrent, Git are all "decentralized systems" and they have nothing to do with finance and do not use blockchain tech.
I realize crypto is hot right now, but lets try to have some perspective.
Rather, in Git's version a single person or group decides what the truth is and everyone follows that (or forks). It's human/social consensus. It can be as strong or stronger than bitcoin since any issues or conflicts are resolved to satisfaction in meatspace.
Bitcoin Core and Bitcoin Cash are two forks of Bitcoin and nobody seems to be able to decide which is the proper one, people argue back and forth.
Meanwhile in the repositories of both chains, people happily submit changes and commit them under the watch of the lead developers who control and check what goes in, rejecting harmful or bad merge requests, etc.
Git, Bitcoin, Ethereum, and Certificate Transparency logs are all examples of merkle trees (and argubly blockchains).
If you come across a forest of different forks of Ruby On Rails, you can identify the project's main master by looking for the longest sequence of commits by known project participants...
I'm building a P2P project and everyone keeps asking me when I'm going to integrate blockchain into it. To what end?!
Blockchain is a way of solving the double-spend problem with distributed consensus. That's all. It's not even necessarily the best way to do that. But because someone built a Ponzi scheme on top of it, it's entered the public consciousness and now anything without a server is a ~blockchain~ app.
More computers. More processing power. More bandwidth and storage. You just need to organize it effectively.
The reason Bitcoin and such are so slow is not because they're distributed systems. It's because transactions are propagated throughout the network in a flood fill, and there's a proof of work for each one. Bitcoin is inherently slow because of its design.
It's a first-generation product. There are serious academic efforts to build blockchains that can rival credit card processors in performance: https://www.businessinsider.com.au/australian-scientist-have...
There are a lot of problems with these efforts, but there's the possibility they'll work them out.
I don't think blockchain is revolutionary or fundamentally new technology. But it's launching distributed systems into the public space and that can only be a good thing.
Blockchain-based systems allow storing a shared, verifiable state. Anybody has a chance (depending on mining resources) to make a decision regarding the next state change in the system by mining the next block, but this block will be rejected if the state change is invalid (e.g., in case of Bitcoin a transaction spends non-existing funds).
This is very different comparing to existing technologies that usually store state in a centralized place that is owned by a single company.
A benefit of full decentralization that is commonly mentioned is that this system is hard or even impossible to censor since even if a nation-state decides to stop transactions from a single actor, mining nodes in other countries will process these transactions fine.
Another benefit is that since all state changes are verified by every other node, it is impossible to perform invalid transaction changes. For example, a bank can reduce everyone's accounts by 5%, but Bitcoin network won't do this.
My questions are: how important these benefits are for practical purposes (mind that we are talking about public, permissionless blockchains here), and can we go away with faster but less centralized systems like NEO?
That wouldn't be the case for Git though. With git every repository is authoritative. Github is merely were most people put their repos to be discovered and use it as a central source of truth (which is totally fine for what most people do)
You can also use a USB stick (did that in Uni when wifi was failing, it's quite fun)
You also don't need full decentralization as Mastodon shows. You only need enough that it becomes hard to single out a user and block only them or a group of users. In the fediverse there is basically no universally blocked instance, every instance federate with atleast some others.
This is different to Git that allows to perform any changes to text files without imposing any restrictions or checks on what changes can be performed. The ability to have a shared, verifiable state that can only be changed according to predefined rules, can be checked by anyone, and, theoretically, cannot be censored is the main selling point of public blockchain based systems like Bitcoin and Ethereum.
The main question is how much of that do we really need in practice to solve actual, real-world problems.
The rest is fairly easy since you can enforce restriction with hooks that can do arbitrary edits and checks on the repository.
I imagine you can make git behave exactly like bitcoin with only a few simply hooks.
The main selling point of bitcoin is really only the "cannot be censored" part and that is a bit meh, tbh. The moment you need to use real cash to obtain it, the government can come, kick down your door and threaten you. Such things have happened in ISIS-controlled regions when people tried to buy bitcoin or otherwise get cash out of country.
As for your question regarding practical purposes I think that a blockchain run by multiple banks or states can provide the same benefit for people as a fully decentralized system. I get that this is where censorship and control comes in but do you really want to live in a world where value can be moved around arbitrarily without regulation?
Also, while the blockchain itself is run decentralized the development is still somewhat centralized and most folks do not have the understanding or interest to investigate changes being made to the source that powers such blockchains.
I don't thing we disagree here. I am just pointing out that blockchain/Bitcoin/Ethereum is different because it allows to main a shared, verifiable state, something that BitTorrent, Git and Email do not provide. An ability to have this shared state is the main selling point of blockhain based systems.
In my understanding the main selling point of blockchains is to outsource the accepting of state changes to a consensus protocol which does not involve human interaction/interference. And just as git a blockchain still works if only one or few actors are involved.
Agree. git works for vaguely defined rules like "is this README readable, up to date, and useful" where human input is necessary.
Blockchains can be used to enforce clearly defined rules like rules of a smart contract or rules of spending virtual money.
So roughly speaking: git = blockchain - distributed_consensus + fork_merges