Intro to Web3 on SAP: Baseline, PRVD Stack, and proUBC
The basic what, why, and how to bring Web3, SAP, and other enterprise systems together using the Baseline standard, PRVD Stack, and proUBC
Bitcoin, Ethereum, NFTs, DeFi, metaverse and more in recent years have already reinvented the way in which many view the internet, commerce, and finance. We will collectively refer to all of this as Web3
But does Web3 offer anything of value to SAP? There certainly are skeptics... but still... YES!
Web3 can offer highly secure, fast, global payment and financial systems and a new trust-minimized ways people, businesses, and AI to interact with one another to optimize business processes in a never-before-seen way. There are other benefits of an immutable, always-on, and neutral public ledger to facilitating greater trust between business counterparties too.
Every business process in SAP can benefit from Web3 - but keep in mind these are immutable and public ledgers we're working with here. Meaning you can't simply change the data inside the blockchain the way you can inside a database in the event you make a mistake or unfortunately fall victim to a scam. Take it as a double-edged sword: there are wrong ways to implement Web3 with SAP to say the least.
But that also infers there's a right way to implement Web3 along SAP.
The Baseline Protocol standard informs some best practices on what the right way to implement Web3 alongside an enterprise system like SAP should look like. And further, it's not just an integration to public blockchains for novelty's sake of it. Even apart from the benefits using Web3 with SAP, there are very powerful aspects of implementing the Baseline integration pattern to gain higher assurances that business partners are working from verifiably in-sync sets of data between each other. The primary ingredient the Baseline integration pattern uses to achieve this is the zero-knowledge proof: a mechanism using cryptography that allows a prover (say Alice) and a verifier (say Bob) to confirm some attestation of data is true without revealing the underlying data in the process of doing the verification. It's great for verifying data synchronization between databases - but also a necessary feature if you wanted to use the services of smart contracts on public blockchains and wanted to retain your privacy in doing so.
Zero knowledge proofs can really be a tough subject to get your head around at first. It's not so simply "Trust me, bro". Zero knowledge proofs were an established a field of scientific study in mathematics long before the advent of Bitcoin. For a very practical explanation of zero knowledge proofs in a far less Web3-intensive, more commonly relatable, but academicy context: check out this video by WIRED.
The Baseline pattern, using zero knowledge proofs, can solve and prevent real world business problems working with data. For example: if a supplier misses a delivery date for a purchase order and blames the SAP integration for not processing the correct date earlier - how would you obtain impartial witness to such a thing being true? Digging through your own middleware logs could maybe answer the question for yourself - but a an immutable, global, tamper-proof record of who truly had what data at what time might be nicer to have if there's a million dollar lawsuit concerning the missed delivery date. Also more practically - if your supplier wanted to check if their copy of your purchase order matched yours - how could they check this? and how could you know they made good faith efforts to keep data in-sync? Sure this could be done through APIs - but what if you had an alternative that didn't require your suppliers to use live access credentials to your system of record and was also purposely designed to be leak-free? Certainly that would be the more secure and effective option to go for.
More about the Baseline Protocol is explained in this excellent video
So let's now talk about PRVD Stack and proUBC!
PRVD Stack and proUBC are purpose built for Web3 readiness and compliance to the Baseline Protocol standards with these API microservices
- Ident. An API microservice for managing authentication with decentralized identifiers (DIDs) and verified credentials (VCs)
- Baseline. An API microservice built for compliance to the Baseline Protocol standard for creating and managing workgroups, message schemas, and other configuration for creating a Baseline Protocol zero-knowledge proof workflow.
- Vault. An API microservice for securely generating, storing, and using digital wallet private keys and other cryptographic secrets
- Nchain. An API microservice for initiating smart contract remote procedure calls on public and private blockchains
- Privacy. A general purpose API microservice for generating and verifying zero-knowledge proofs.
The PRVD command line interface automates several configuration and deployment tasks performed through these API microservices.
proUBC acts as an ABAP-based SDK for S/4 HANA for these microservices - and includes some lightweight extensions (tables, classes, interfaces, reports, ect) to easily use Baseline and Web3 throughout S/4 HANA.
All the above mentioned API microservices and software are open source and have been recently added to the PRVD Oasis charter. They currently reside in the provideplatform Github organization but will at a later point in time migrate to a new home in the PRVD Oasis Github organization.
Understanding this can be a lot of new tech to take in and implement at once - Provide also offers a low/no-code design tool known as Shuttle to make implementation of the Baseline integration pattern and Web3 synchronization with SAP and other platforms like ServiceNow or Microsoft Excel easy. Shuttle augments and integrates around the very same configurations performed through the PRVD stack, PRVD CLI, proUBC, and other app-specific connectors built on the PRVD stack
Now that you know more about Web3, Baseline, PRVD stack, proUBC, and Shuttle - get ready to try it out!