  It is said that blockchain will contribute to the digital transformation of
society in a wide range of ways, from the management of public and private
documents to the traceability in various industries, as well as digital
currencies. A number of so-called blockchain platforms have been developed, and
experiments and applications have been carried out on them. But are these
platforms really conducive to practical use of the blockchain concept?
  To answer the question, we need to better understand what the technology
called blockchain really is. We need to sort out the confusion we see in
understanding what blockchain was invented for and what it means. We also need
to clarify the structure of its applications.
  This document provides a generic model of understanding blockchain and its
applications. We introduce design patterns to classify the platforms. We
categorize possible use cases by identifying the structure among applications,
and organize the functional, performance, operational and legal requirements
for each such case.
  Based on the categorization and criteria, we evaluated and compared the
following platforms: Hyperledger Fabric, Hyperledger Iroha, Hyperledger Indy,
Ethereum, Quorum/Hyperledger Besu, Ethereum 2.0, Polkadot, Corda and BBc-1. We
have tried to be fair in our evaluations and comparisons, but we also expect to
provoke discussion.
  The intended readers for this document is anyone involved in development of
application systems who wants to understand blockchain and their platforms,
including non-engineers and non-technologists. The assessments in this document
will allow readers to understand the technological requirements for the
blockchain platforms, to question existing technologies, and to choose the
appropriate platforms for the applications they envision. The comparisons
hopefully will also be useful as a guide for designing new technologies.
