Salesforce Blockchain is a new way to build trusted networks. With Salesforce Blockchain, you can quickly create these networks using point-and-click tools. Network partners can be internal or external to your company, and you don’t have to know anything about the operating systems or technology a partner may use.
In this post, we’ll go into some more detail about what blockchain technology is, what’s different about Salesforce Blockchain, what Salesforce Blockchain means for application development, and what you can do to learn more.
Let’s start with a look at the basics of blockchain.
What is blockchain?
Blockchain is a technology that uses cryptography to create a secure linkage between records.
The nature of the cryptographic linkage makes this series of interconnected records (also called a ledger) more resistant to spontaneous changes to data in a record. Publishing an update to an individual record entry also requires altering the cryptographic hash that was generated as the record was created. And any records added to the ledger after an altered record must be re-validated and re-added to the ledger (also with updated hashes). In a blockchain, a change to a record’s value is typically published as a new ledger entry.
When this single blockchain is connected to some kind of network that can: 1) handle communication between partners (aka ‘nodes’) and 2) provide an agreed upon system for each partner to verify changes to network data, then an individual blockchain can be replicated across different partner nodes of the network.
This replication creates multiple blockchain ledgers, containing identical records that have been independently verified. This is also called a distributed ledger, or a blockchain network.
What is Salesforce Blockchain?
Salesforce Blockchain is a new way to create, secure and share data from applications with a network of partners. This is because Salesforce Blockchain provides the infrastructure of a distributed ledger, and adds on the power of Salesforce metadata. A partner can securely publish and independently verify records on Salesforce Blockchain from whatever system they use. Users in Salesforce can see and work with blockchain data in reports, automations, and all the places they expect to work with typical record data.
Salesforce Blockchain handles the difficulty of building a secure network and establishing the right authentication protocols for you. You can decide what style of authentication protocol makes sense for the network you want to build, and Salesforce Blockchain handles the complex work of network communication and data integration.
That means you can focus on application logic, not infrastructure.
How DOES Salesforce Blockchain work in an app?
When working with Salesforce Blockchain, one of the first steps will be configuring a Salesforce Blockchain application in a Salesforce org. The Blockchain Builder interface is very similar to other app builders, like Lightning App Builder. Below, you can see what the private beta version of the builder looks like:
As a part of the setup in Salesforce, the information that will be published to the ledger gets represented as External Objects. This is the piece of Salesforce Blockchain that unlocks the power of metadata. These external object representations let you create relationships between your ledger records, and give users the ability to work with ledger data as if it was just another record in Salesforce. This means you can work with blockchain data using all the familiar tools, like Process Builder, Flows, reports, and code.
Behind the scenes, however, these external objects are blockchain entities. Each record is a part of a larger, cryptographically secured ledger. Even as automations or user actions in Salesforce might seem to be performing ‘updates’ to record data, Salesforce Blockchain is handling the publication of updates securely and sequentially. This means these changes aren’t performing overwrites or spontaneous updates to a record. As a record’s data changes, the Salesforce Blockchain publishes new ledger entries for those changes, creating an auditable, independently verifiable history of what’s happening with your data.
And this history is visible to (and verified by) every partner, and reflected in each partner’s own copy of the ledger.
As you configure a Salesforce Blockchain app, you can decide if partners should be able to publish data to the blockchain, or if they should have read-only access. And outside of Salesforce, based on how you’ve configured access, partners can view data from and publish to their Salesforce Blockchain ledger through APIs.
What Salesforce Blockchain means for app developers
An important part of Salesforce Blockchain is understanding how to identify potentially valid use cases. As you consider whether or not your app is a good candidate for Salesforce Blockchain, you should ask yourself these questions:
1. Does the source of truth for app data need to be a single set of records?
If the answer is yes, then a distributed ledger isn’t going to help your app establish a single system of truth. In a distributed ledger, every partner has an identical copy of the ledger. No single ledger is the source of truth.
2. Does the application need to meet requirements (for audit-ability or regulatory compliance) that would be easier to fulfill if all changes to data were recorded as individual entries? Does the application need a granular, historical record of data and changes over time?
If the answer is yes, then the way that blockchain publishes changes to record data as additional entries on the ledger may be of use in your app. If no, then you need to determine if the kind of data contained in the ledger will be useful for your app. If it’s not a core piece of the application’s functionality, then you need to ask if there are any benefits to capturing that data at all. Without clear benefits to the app, then blockchain may not be the best way to store data for your app.
3. Does the application involve a large (or unknown) number of partners, who may or may not trust one another?
One of the benefits of the blockchain is the ability to establish secure relationships between many different parties—without requiring any integration between partners or their systems. And the blockchain network can handle scaling to accommodate a large number of partners on the network.
What’s next and what to do now
In Summer ’19, customers can access Salesforce Blockchain through a private beta program. Your account executive can help you find out about the nomination process for the beta.
In the meantime, you can learn more about Salesforce Blockchain with the resources below.