Intro to Web3 on SAP: Baseline, PRVD stack, and proUBC

Intro to Web3 on SAP: Baseline, PRVD stack, and proUBC

In recent years, Bitcoin, Ethereum, NFTs, DeFi, the metaverse, and more have reinvented the way in which many view the internet, commerce, and finance. For simplicity's sake, let’s collectively refer to all of this as Web3.

But the question remains - does Web3 offer anything of value to SAP? There certainly are skeptics... but still... YES! In this blog, we'll briefly touch on what those use cases are, a few of the challenges involved and how the tools and standards of Baseline Protocol, the PRVD stack, proUBC, and Shuttle inform a working solution to bring Web3 to your SAP ecosystem.

Web3 can offer highly secure, fast, global payment and financial systems and a new trust-minimized ways for people, businesses, and AI to interact with one another. There are other benefits of an immutable, always-on, and neutral public ledger to facilitating greater trust between business counterparties too. There are many starting points to consider for Web3 and enterprise - but I think it helps to rank them on a spectrum pictured below.


Web3 technologies enable and drive adoption towards Industry 4.0

The Web3 - Enterprise Continuum can look different based on your business project goals. On the left side - it can very directly relate to how we understand crypto and Web3 in the consumer context today (e.g. NFTs, gaming, metaverse, dog tokens, loyalty programs) and how that is shaping up to be an emerging B2C channel. As we travel further to the right side - we discover advantages and use cases of Web3 that increasingly resemble conventional business process transformation but yet very purposely involve Web3 technologies to be achieved. Invoice factoring - as a hybrid example in the middle- merges the tech innovations and advantages discovered from NFTs and Decentralized Finance (aka "DeFi") and applies them into the procure-to-pay and order-to-cash contexts to deliver greater amounts working capital to SAP users and their customers, vendors, and the third party logistics carriers using stablecoins/CBDCs. On the furthest right side - the use case is less sensitive to the value of tokens but rather instead emphasizes Web3 more as a trustless yet axiomatic source of truth on business processes for very conventional Business Process Management (BPM) and Supply Chain Execution use cases natively through SAP, ServiceNow, Excel spreadsheets and more.

Every business process in SAP can benefit from Web3 - but keep in mind these are immutable and public ledgers we're working with here in the public blockchain world. 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 that leaks data 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 in spite of the exciting possibilities at hand.

But this double edge sword also means 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. Rather - Baseline acknowledges the privacy risks that are evident and determines best practices to ensure private data is never placed directly, permanently on-chain. The primary ingredient the Baseline integration pattern uses to address this problem 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.

In addition to keeping data secure from intrusion, zero knowledge proofs have a very powerful characteristic to express consistency of state of data. This means Baseline integration pattern can be used to gain higher assurances that business partners are working from verifiably in-sync sets of data between each other. 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 while retaining your privacy in doing so.

Zero knowledge proofs can really be a tough subject to get your head around at first. But it's not simply just "Trust me, bro". Zero knowledge proofs were an established 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 yet academic context, check out this video by WIRED.

The Baseline pattern, using zero knowledge proofs, thereby can solve and prevent real world business problems working with data. Let's consider an example that more obviously leans more into a BPM and Supply Chain context of Web3.  Say: 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 an immutable, global, tamper-proof record of who truly possessed 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? What if this alternative was also purposely designed to be leak-free? Certainly, that would be the more secure and effective option to go for. 

When you really reflect upon it: the Baseline Protocol Integration pattern (BPI) is really an entirely new kind of integration pattern that stands alongside APIs and EDI. Not necessarily to replace either, but to augment them with a new mechanism to verify data integrity across either conventional enterprise systems and/or public blockchain landscapes in a lightweight and privacy preserving manner.

More about the Baseline Protocol is explained in this excellent video:

So let's now talk about PRVD stack, proUBC, and Shuttle! Regardless of what kind of Web3 / Baseline project you want to bring to your enterprise - PRVD stack, proUBC, and Shuttle bring the tools necessary to bring your concept to reality.

PRVD stack is 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 (CLI) automates several configuration and deployment tasks performed through these API microservices. You can check out more information specific to the PRVD stack APIs and the CLI here.

proUBC acts as an ABAP-based SDK for S/4 HANA for these microservices - and includes some lightweight extensions (tables, classes, interfaces, reports, etc) to easily use Baseline and Web3 throughout S/4 HANA.

You can check out the open source proUBC abap Git repo here.

Beyond proUBC - there are other PRVD stack SDKs for a multitude of programming languages and platforms (Python, Ruby, Javascript, Golang, PHP, Java, .NET, iOS/Swift, Groovy, Rust) to implement the PRVD stack into applications as well.

All the above-mentioned API microservices and software are open source and have been recently added to the PRVD charter, an OASIS Open Project. They currently reside in the Provide Platform Github organization but will at a later point in time migrate to a new home in the OASIS Open Github organization.

Understanding this can be a lot of new tech to take in and try to 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 and Baseline on SAP and the tools of PRVD stack, proUBC, and Shuttle - get ready to try it out! In subsequent blog entries, we’ll cover step-by-step technical instructions of enabling proUBC in your SAP environment to develop Web3 and Baseline Protocol-based apps and services with PRVD.

In future blog series, we’ll take on deep dives of active and potential use cases across the 5 contexts of Enterprise Web3 adoption: Web3 as B2C channel, Web3 B2B Services, Invoice Factoring Solutions, Core Finance & Sustainability Optimization, and BPM & Supply Chain Execution.

Read more

Chainlink Integration with SAP via PRVD

Provide's very own Ryan Fleischmann has submitted our entry to the Chainlink Fall 2022 Hackathon. Our submission integrates Chainlink price feeds into the SAP S/4 HANA enterprise resource planning system - the #1 ERP system used by Fortune 500 businesses and other global organizations for finance, supply chain and other business processes. In so few words - we used Chainlink price feeds to update the foreign currency rates in SAP. This effort showcases the maturity level of the PRVD stack (the BRI-1 implementation of the Baseline Protocol).

November 18, 2022