However, I don't think that this completely rules out their usefulness. Blockchains are more like "consensus abstractions" - if you have the underlying consensus (achieved through a governance model that can engender it), then it allows for uses like smart contracts that can efficiently work on top of it. The "trustless" property is also maintained - for example, even if a cryptocurrency is designed, issued and governed by a central bank, the fact that the network is decentralized and its integrity can be independently verified (even if it is centrally secured) still has some social benefit.
Not endorsing, just pointing out.
I suggest listening to this Tim Ferris podcast with Nick Szabo: http://tim.blog/2017/06/04/nick-szabo/
The entire idea is that no arbiter is truly neutral, no third party is truly trustworthy. Block chain is the onset of FAT protocols and trustful computing.
If the poor of the world can understand the social mobility that crypto currency affords them, there will be no stopping it, in my opinion.
I think it's typically used when there's agreement on the list of nodes participating in the network. (The nodes can agree to change the list of participants, Lamport wrote about it in "Reconfiguring a State Machine".)*
With "blockchain" / proof of work, computing power substitutes for voting power: you pass state transitions by controlling a majority of the compute power rather than a majority of the voting power.
Have you seen "byzantine consensus" used in the second context (with proof of work) also?
(*) When I think of the Byzantine consensus problem, it's when:
- not every node has to vote in each round (so that the system can make progress even if some nodes fail);
- you can authenticate (e.g. with cryptography) that messages come from the appropriate sender (but not whether that sender is acting "honestly");
- the goal is to reach consensus, i.e., if any node concludes that some proposition (i.e. state transition) has passed, no nodes will ever agree on contradictory proposition.
Can you expand on how crypto currencies relate to positive social mobility?
Off-handedly it seems to me it would be the opposite, although I'm admittedly fuzzy on this..
In theory crypto currencies reduce rent-seeking from intermediaries; since much financial rent seeking is established as percentages of an exchange (like a credit card transfer), removing those rents will give bigger net advantages to those transferring large amounts than those transferring small ones.
Not saying removing rent seeking is bad (it's awesome!), but I don't see how that does anything but increase the difficulty for someone with low capital to catch up; rather it should be doing the opposite.
Bringing those who are unbanked into the global financial system is a powerful way to help lift people out of poverty. In many cases, banks are unwilling or unable to serve the poor, so cryptocurrencies could potentially fill the gap. I don't think any current cryptocurrencies will achieve this, but there is some research being done on "stablecoins" which could fit the bill.
Tether?
Im not buying that. If there is a way, someone will do it. This actually seems like a huge vulnerability to me. Especially when we are talking about specialized blockchains where the participation isnt every internet connected person in the world. How do you prevent that from happening?
At times the leading BTC mining pool has controlled greater than 50% of the nodes. Would this not be enough to alter the ledger?
But you can't alter the core protocol or fundamental network rules. If you do, the other nodes will ignore you.
Somehow "the other nodes" have reached consensus about what protocols or rules to follow, and this is where we end up back at human governance.
The problem with blockchains is that they still fundamentally fail to solve the problem of mob rule, though, I suppose you could argue that's one thing you'll never fully get rid while the human element is still involved. Robot overlords or bust?
Ethereum Classic is a fork of Ethereum that held blockchain is immutable paradigm and let DAO continue to be drained.
Ethereum Classic did a hardfork last October which removed null accounts created in the DAO attack. Now, while this didn't change account balances, these were legally created accounts and the historical ledger was changed. The hardfork was controversial at the time for this reason.
You can't say that in Classic the blockchain is an immutable paradigm - it changed history just as Ethereum did.
https://github.com/neyer/dewdrop
With a much simpler version of the same concept here
https://github.com/neyer/respect
I think it's doable.
It's definitely a cool concept. The main problem being I think is incentive to adopt. Without the weight of reputation having meaning behind it, no one will care and thus the intended effect disappears.
So a bunch of fake accounts aren't going to influence a's perception of b,unless a has trusted someone who'se created those fake accounts. IN that case, the mistake a made was trusting someone (directly or indirectly) who'se created a bunch of fake accounts.
Because the input weight of a person decreases with their distance on the graph from a, the only sybil attacks that would screw you up would be ones conducted by people who you've said you trust.
My goal is to gradually expand filter bubbles, rather than try to pop them.
In fact, make a complete subgraph of order 9 or more of people who respect each other. That subgraph has order-N respect that goes to infinity for anyone who has any respect for any of its members, even transitively.
The reason I believe in our model for consensus is that it more closely resembles trust in the real world. We're more explicit than meatspace, which could be a drawback, but I think it's a better model than trustless.
Disclosure: I work for stellar.org
I'm not sure the specific formulation needed to be successful, but there is clearly value in something that helps people better manage digital trust. It's a shit show right now.
In short each node would have its own risk management profile. Entering a transaction using any settlement path or asset type (even multi-hop transactions involving multiple paths or assets) is the explicit decision of the actor in question, against that risk profile, available information, and its own priorities (eg. must complete by X date, prefer to avoid Y actor/system/asset, etc.)
Because the properties of each settlement network, asset type or actor are able to be formally defined, cross-system automation is possible and new systems with interesting properties are able to present themselves on a fair and equal footing.
Of course, with such lofty goals, it was never finished (I was keen but asked to direct attentions to urgent areas elsewhere), but recently I have begun to revisit it owing to my study of physical logistics networks and scheduling algorithms for my current startup http://8-food.com/
I'm still on the horse for now... sorry to hear you got burnt out at kraken.
Secondly, the consensus as to the schema isn't trustless even in blockchains. Deciding what to do and how to do it is and always will be trustful. What is trustless is the execution of that decision once its been made. That is the important contribution of blockchains.
Concretely, this argument conflates agreeing on a set of rules with agreeing on an arbiter to determine the application of those rules. Those aren't the same thing, because only one of them centralizes power.
> At this point they already have a consensus, they trust each other, they might as well just set up a centralized database run by a 3rd party that manages the system
This is the critical point where I don't think the argument works. Firstly: they don't necessarily trust each other. They trust the system to work within the rules they have established. It simply doesn't follow from that that they should therefore be willing to trust a 3rd party.
For what it's worth, this is why I'm interested to see how the block size situation in Bitcoin resolves itself. If it happens relatively smoothly, it's a strong point for the ability of consensus to respond to pressing needs. If it doesn't... well, I might have to reconsider my position.
Well, the properly decentralized ones let you assume that the rules aren't going to change. Many blockchains though will implement whatever changes their developers desire.
I'm currently having fun experimenting with homomorphic encryption, to see if I can't add another layer of "trustlessness"
Proponents of blockchain tech argue its revolutionary quality is its ability to act as a decentralized and trustless database. But I don't ever hear them sort through the issue of how to agree on the schema for this trustless database.
For a group of people to use a decentralized DB, they have to agree as to what to store in it, and how to store it. They need to form consensus about how the system will work, and how the data will flow.
For example I've seen people on here mention applications such as a decentralized stock exchange, and a decentralized hotel rooms marketplace.
For either of these, it's necessary to get all the users of the system in a room and agree what is in scope and what is not, and in general what can be done with the system and how. At this point they already have a consensus, they trust each other, they might as well just set up a centralized database run by a 3rd party that manages the system, keeps it up to date and adds upgrades, instead of building it on the blockchain and hoping there are no major bugs in the cloud code and that it will live off gas.
For the stock exchange, that's exactly what we already have. We have institutions that are dedicated to running exchanges, which act as neutral arbiters. They use regular old centralised databases. When they have bugs in their code or the system makes a mistake they can even roll back trades, which they couldn't do on the blockchain.
Essentially this is the same argument as OP. The 3rd party's act of ironing out issues, deciding what the rules are and how they interact is synonymous with OP's term "governance". We agree that using/running the system is different than defining/implementing the system and the latter can't be done trustlessly.
And also governance gets a lot easier when you also run the system centralized ;)