5 ms·
>> The value of a blockchain stems from the fact that, combined with proof-of-work, a single history of transactions can be agreed upon without a central party.
by ChemicalWarfare 9y ago
>> The value of a blockchain stems from the fact that, combined with proof-of-work, a single history of transactions can be agreed upon without a central party.
PoW is not the only consensus algorithm out there. Sure, in a completely trustless scenario which is what bitcoin and some ethereum apps are doing - something like PoW or PoS needs to be in place (although Ripple has a different approach for example).
For internal private blockchains, this is not really necessary however and would just reduce the tx approval rate.
- joosters 9y agoProof of Stake has some difficult problems to overcome, and it's not clear if they are solvable or not, see the paper https://download.wpsoftware.net/bitcoin/pos.pdf https://download.wpsoftware.net/bitcoin/pos.pdf for some background. It's likely that PoS really just degrades into PoW, with stake holders needing to perform calculations as fast as possible to prevent attackers from out-competing them and generating alternate versions of the blockchain. Adding complicated fines and 'punishments' to deter PoS cheaters just increases the amount of work that they need to do, but cannot stop the problem.
- drdeca 9y agoDoes it seem reasonably likely to you that PoS could increase the proportion of computational resources that attackers would need, provided that the attackers control a low enough proportion of the tokens?
- joosters 9y agoIntuitively, I'd say no. I can't see how you can ever prevent a '51%' attack (that is, 51% of compute power). No matter how many coins you own, the attackers can validate their own holdings and disavow the honest stakeholders. At first glance, it seems to be a solvable problem because you can try to put obstacles in place that punish attackers (e.g. fining PoS attackers who generate 'false' results). But you cannot make these inducements to honesty bite, the attackers can happily keep churning out false results until they take over. The problem is worsened because PoS is meant to save wasteful power usage. Honest participants are not likely to dedicate vast computational resources to it, while the attackers will be strongly motivated to do so. The end result seems likely to be an arms race, leading to an effective slide back to PoW, just with added complexity.
- kristjansson 9y ago> internal private block chains What are the possible use cases for something like this?
- girvo 9y agoA project I'm working on at work is utilising it for confidential computing between a number of parties that want to share data between themselves, but are direct competitors and don't trust each other.
- danbruc 9y agoNothing that is not as easily done with a database. Once you remove the proof of work which enables pseudonymity you are left with a kind of replicated database.
- buckie 9y agotl;dr -- private blockchains make it possible to distribute a common piece of infrastructure between businesses with competing interests. The sit between the stream of new inputs and the database. I've built one of these types of systems (kadena.io). The key differences between a replicated DB, though let's use consul instead because it's closer to a private/permissioned blockchain (distributed) and the differences are the same, are two-fold: #1 They are designed to run in a multi-administrative context (i.e. where you don't own all the servers). Imagine running consul where you only had direct access to 20% of the nodes. You could do it, but you'll eventually have problems as it's possible for a few misconfigured servers to slow/halt/collapse the cluster. The problem is that in multi-admin you can't directly fix the troublesome servers. The system itself needs to be robust against them -- you need BFT consensus (for this and other reasons). #2 The killer feature of private blockchains is having a smart contract language. It allows you to write and run code that runs on my servers without me having to trust/audit your code. This is only possible because of the frankly ridiculous level of security that the system provides. It is also a fundamentally new feature. For a new language that's actually appropriate for serious work (which EVM-based langs are not) take a look at Pact on the aforementioned site. Simply, if you want to be able to host logic and data, with the infrastructure distributed among multiple administrative units (businesses/firms) that don't completely trust each other, then you end up building a "private blockchain". You need a decentralized way to replicate new information (consensus), that is robust against bad nodes (BFT), that linearizes the new information (blockchain-like), that can execute logic on your machine written by individuals that you don't trust (smart contracts), that tracks/enforces auth at every level (PPK-Sigs everywhere!).