The problem is that they want a system that's trustless and that's simply not what most engineers care about. We want a system that's fast and efficient.
The problem is that they want a system that's trustless and that's simply not what most engineers care about. We want a system that's fast and efficient.
WAT?
This is a bit No True Scotsman. It's like "secured by math!" about Bitcoin - the ecosystem is rife with fraud and error.
So too with Ethereum. Given that smart contract functionality is literally Ethereum's unique selling point, you can't claim that is somehow not something that can be discussed as a problem with Ethereum. They broke the immutability guarantee for one bad smart contract, after all.
You really can't say "Ethereum is completely secure!! Except for everything that people actually use it for" without being more than a little disingenuous yourself.
Now you may legitimately argue that Ethereum is poorly designed to encourage secure contract authorship. And I would agree with you in many respects. But that is a distinct concern from the security of Ethereum itself. Conflating the two is at best confusing and at worst maliciously spurious.
Blockchains are a social construct and what ultimately protects them are the participants. Exactly like actual currencies they are subject to market forces; people either believe in and want the currency or they don't. It's this confidence that gives the currency strength.
More simply:
"On medium to long time scales, humans are quite good at consensus. Even if an adversary had access to unlimited hashing power, and came out with a 51% attack of any major blockchain that reverted even the last month of history, convincing the community that this chain is legitimate is much harder than just outrunning the main chain’s hashpower. They would need to subvert block explorers, every trusted member in the community, the New York Times, archive.org, and many other sources on the internet; all in all, convincing the world that the new attack chain is the one that came first in the information technology-dense 21st century is about as hard as convincing the world that the US moon landings never happened. These social considerations are what ultimately protect any blockchain in the long term, regardless of whether or not the blockchain’s community admits it (note that Bitcoin Core does admit this primacy of the social layer)." [1]
[1] https://medium.com/@VitalikButerin/a-proof-of-stake-design-p...
The subtlety here is making the distinction between confidence and resistance to attack. They're not the same thing at all. And what's interesting here is that, going off the model of real currencies, one could assume market forces will prevail here. Developed nations let their currencies float precisely because on the whole they're confident that the market will ultimately punish any malicious attacker who attempts to destroy the currency by selling large amounts of it.
It's not their job to fix someone else's bad idea.
https://www.stellar.org/developers/guides/concepts/scp.html
disclosure: I work at stellar
Name a problem that would best be solved with blockchain.
Money. E.g. Bitcoin.
No, precisely no credit cards work that way. That's why they're called credit cards.
If I buy something with a credit card for $2k and have $2k in my bank account, the $2k is still there until I pay the credit card company. It could take years or be paid off immediately.
It's not a "pull" at all.
A centralized organization (.com or .gov) that can achieve consensus amongst participants can do just fine with Postgres and a REST API.
Adversarial participants are common, but typically that's solved with a third-party overseer that administers the system. Finding use cases that demand decentralization are harder.
Bitcoin was created to remove central banks/govts from the money creation process, but in most cases, if you don't trust the central authority, you just don't participate. With cash, you can't easily get around dealing with the govt.
- Assets move directly between entities — transfer and settlement are one-and-the-same — eliminating counterparty risk (https://en.wikipedia.org/wiki/Credit_risk#Counterparty_risk)
- Assets move instantly, and settlement time is ~10 minutes (settlement can also be instant if the parties trust the other won’t “double spend”)
- The transfer mechanism is public infrastructure and is always improving — everyone has a shared incentive to make it better, similar to Internet protocols like email and http
- Assets and end-user data are privately controlled, and strong security for assets can be achieved by using multiple signing keys across several parties
- Policy rules about the movement of assets can be enforced programmatically — whether those are “terms and conditions” or regulatory requirements
- Assets are fungible and play nice together — e.g., you can use reward points to buy mobile minutes
- A single transaction can include multiple entities and assets, on both sides of the transaction — e.g., you could execute a merger of two companies in a single transaction, with the inputs to the transaction being all stockholders across all share classes for both companies, and the outputs being all the newco shares going to all the new stockholders (again, no escrow service needed)
- Every transaction is added to an immutable record which, while anonymous, can be used to construct a perfect audit trail of an asset’s movement when combined with the private data held by the entities using the system — this defends against fraud, and also gives issuers transparency into asset movements
- It’s easy to integrate new parties
- Like the Internet itself, it’s a global system
Worth a read: https://blog.chain.com/wall-street-meet-block-chain-b2747909...
Well, no they aren't, because they're proposals.
You don't want that. So we're at a bit of an impasse.
Distributed systems these days mostly argue that you do your trusting up front, outside of the protocol itself. You then validate that the actors share the secrets you all agreed upon, and then optimize the agreement process. Only the most robust systems actually consider "active" dissent; most distributed systems engineers consider this a special case that is most often focused on the idea of "incorrectness" as opposed to "maliciousness."
You can see elements of these assumptions in more modern data structures used for eventual consistency, like CRDTs. CRDTs are amazing and fast and often abstract-able to a trivial programming model. Anyone can use them, but they have to be monotonic, so we can't ever forget bad input, just try and cancel it out.
That's not really what I meant by "bad". I meant bad as in intent, not structural and immediately verifiable message integrity.
If all entities in the coalescing set can independently verify that a message does not meet its signature requirements, it will be rejected and idempotence is maintained.
If ONE member is somehow deceived about key validity it'll propagate the message into every other member's state, eventually.
Does it solve the problem? Or did it just make a step in the right direction?
A hard proof of work algorithm is required for decentralized coin chains to work. Otherwise it would be easy to create a denial of service attack by rogue agents filling up your blockchain with worthless blocks.
By carefully attacking the network links between miners, someone can significantly extend the amount of time that an attack can take place in. These attacks are expensive, but orthogonal to any PoW algorithm.
Then the problem transforms into: "can I trigger enough small pluralities of miners to split and form opposing but equally long viewpoints?" The only resolution to such a scenairo is to discard most of the divergent blockchains arbitrarily by human consensus.
Beyond this: https://www.coindesk.com/carbon-footprint-bitcoin/
Which is sort of unvalidated and points to one or two actors in the space suggesting that they want to move to non-fossil fuels and one that miiiiight be.
http://technode.com/2017/02/27/bitcoin-mining-sichuan-cheap-... https://www.washingtonpost.com/world/asia_pacific/in-chinas-...
Of course, there is also cheap coal power in China, so the environmental impact may be very significant.
Going forward, I anticipate the rise of solar mining in some favorable areas. Possibly geothermal as well. Since Bitcoin mining can be done anywhere with decent internet access, it seems natural that it should gravitate toward renewables over time. Fossil fuels continue to get more expensive, while renewables get cheaper. Of course, building e.g. solar panels isn't without environmental impact, either.
https://bitcoinmagazine.com/articles/bitmain-reveals-plans-f...
(was planned then, I believe it's in service now)