Accessing the business network with APIs

Organizations, individuals, systems, and devices interact with the blockchain via a set of business network APIs. We'll see in a moment how these APIs are created, but for now it's enough to know that a blockchain network is consumed like a regular IT system. The difference is internal—these APIs are implemented on a blockchain infrastructure, and this ultimately provides a simpler and richer set of APIs than would otherwise be practically possible. However, consumers of blockchain APIs don't need to worry about this—they just issue APIs, and the services they require just happen. The trade-off that's occurring is that the blockchain infrastructure requires more coordination between the organizations in the business network. They have to agree on participants, assets, transactions, and events in advance, and how they evolve. While they can, and should, process, store, and communicate information uniquely when outside the blockchain, they must agree when it's on the blockchain. That's the trade-off: up-front agreement for the promise of radical simplification of business processes in normal running.

At a high level, business network APIs are easy to understand. In a vehicle network, we might have APIs such as buyVehicle(), insureVehicle(), transferVehicle(), registerVehicle(), and so on. These APIs are domain-specific—the APIs just mentioned would be very different to those in a commercial paper network—issuePaper(), movePaper(), and redeemPaper(). It's important that APIs are domain-specific because it makes them meaningful to the participants in the network who are using them—such APIs speak the language of the participants.