17

Similar to this question about Ethereum and Bitcoin:

What advantages and disadvantages does Open Blockchain (OBC) have over Ethereum? What can you do with OBC that you simply cannot with Ethereum? What price do you pay for these additional functionalities ?

21
+50

Open Blockchain (OBC) is the IBM's current contribution (open-sourced) to the Hyperledger consortium led by the Linux Foundation. IBM says that it does not assume that the Hyperledger will necessarily be based on OBC.

I would not necessarily qualify things below as 'advantages' or 'disadvantages', because it depends on the application context, but I would call them 'differences'.

  1. Consensus mechanism. While Ethereum is currently using a variant of Proof of Work and is planning to transition to a variant of Proof Of Stake, OBC's initial implementation will give a choice of No-consensus, classic PBFT (Practical Byzantine Fault Tolerance) called SIEVE (enhanced PBFT). PBFT algorithms usually require that number of participants is known (to achieve supermajority).

  2. Smart contract language in OBC is currently go-lang (planned support for Java and Javascript), which runs inside a Docker container, whereas Ethereum has its own Virtual machine with an instruction set

  3. Docker containers are only available on Linux at the moment, while the Ethereum Virtual Machine (EVM) has implementations on more platforms.

  4. A Docker-contained program can run faster than EVM code, but it can also be non-deterministic if the programmer makes some mistakes. EVM code is always deterministic due to the architecture of the Virtual Machine.

  5. Docker-contained smart contract execution can go into 'infinite loops'. Although Docker is very good at limiting resources available to the execution, it will have to use some sort of timeout logic to terminate execution that is going on for too long. Timeouts are very hard (or perhaps impossible) to implement deterministically. EVM solves the problem of excessive execution time by charging fees per instruction. This way is totally deterministic.

  6. Application deployment on Open Blockchain would probably happen in some way external to the protocol. If someone uses the same blockchain for many applications, that might create a deployment management challenge per se. Ethereum's applications are deployed in the same way as other transactions are done - so the deployment is embedded. Some people argue it is bad for modularity, but it is just a point of view.

  7. Open Blockchain promises to support data encryption out of the box, whereas encryption on Ethereum will need to be implemented by the applications themselves. One thing to think about is that encrypted data are opaque for most of the network nodes, so they can only interact with other things on the blockchain in a very limited way.

  8. Open Blockchain does not have a native currency, Ethereum has Ether.

  9. Open Blockchain includes Membership service, which issues so-called 'transactions certificates' - things that one needs to create transactions. These can both expire and be revoked. That probably means that the access to the OBC is controlled by the Membership service. In Ethereum, transactions are signed by private keys, which do not expire and cannot be revoked.

  10. Depending on the implementation of Membership service, it might become a special target for cyberattacks. In Ethereum, cyberattack has to be directed to a majority of miners (in future - validators) to be successful.

  • "Some people argue it is bad for modularity, but it is just a point of view." Can you expand on this? Who argues that it would be bad for modularity and what is the argument? – MrChico Mar 4 '16 at 1:19
  • @MrChico this is my frivolous interpretation of what I have heard in this 'Epicentre bitcoin' interview with Tendermint (in many ways very similar to Open Blockchain): youtu.be/EfFVh1DIKds?t=31m15s – Alexey Akhunov Mar 4 '16 at 20:57
  • can someone please help me understand in what context is the word 'detereministic' being used in point 4 and 5. – srbamb May 10 '16 at 12:37
  • @srbamb This might help regarding determinism: ethereum.stackexchange.com/questions/301/… – eth Dec 20 '16 at 10:47
5

Names change and here's where things stand currently.

The Hyperledger Project is basically a collection of blockchain technologies, contributed by various companies.

IBM's contribution to it is Hyperledger fabric (with a formal Gerrit repository), which was previously called Open Blockchain (OBC):

The fabric is an implementation of blockchain technology, leveraging familiar and proven technologies. It is a modular architecture allowing pluggable implementations of various function. It features powerful container technology to host any mainstream language for smart contracts development.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.