NEM Catapult: A Viable Private DLT Solution for Business
Coming from the tech side of He3Labs, and after building interactive demos using a private blockchain, I may provide a new perspective on distributed ledgers and their use in business.
Earlier, we wrote on how businesses can benefit from keeping private business data on a private blockchain. Having personally built software using a private blockchain run on private servers and seeing how naturally the DLT fit into that system, I consider the point made: useful blockchain does not necessarily require public decentralization. A business can benefit greatly from the properties of a trusted, private DLT.
Today, I want to explore how DLT, and specifically NEM’s latest “Catapult” open source release, fits into a business’s technical stack. I will touch on:
- Where DLT fits with existing business systems
- How to use NEM Catapult and its feature set as a viable DLT solution
- How to use NEM Catapult for cost-effective business value
Where DLT Fits In
With any business, you must manage the user experience. On the tech side, this experience is championed by a front-end in the form of an application on your desktop/laptop computer, a mobile app, web page, interactive kiosk, etc.
The front-end handles the colorful display of business specifics and the ability for the user to input their information / a request. Because this device usually lives in the hands of the user and is ultimately subject to scrutiny and hacking, the logic carrying out sensitive business details doesn’t live on the front-end.
Where the front-end is the one device a user is interacting with, the back-end owns the logic of how the business operates. The back-end is a number of services, often run on multiple computers, communicating with each other. In a basic system you likely have services like these running in your back-end.
- Browser web service
- REST web service
- SQL Database
- Logging / Metrics
DLT fits in with these back-end services as a specialized database; it trades raw speed for cryptographic security of its entries. As with any business, you store sensitive information in a database. As has likely happened already at your business, someone with access — often accidentally — too easily alters database entries that should not be altered, say, for accounting purposes. However, with DLT even though you have full, administrative access over your own private DLT servers, you can thwart all attempts to alter the ledger.
Adding yet another system to maintain always sounds burdensome, but as businesses grow, they’re always adding features with value to the back-end, such as
- A system to handle GPS lookups
- Tracking social media connections
- Services to automate sending and receiving email
- A customer rewards program
You can think of DLT, with its source of truth, as an addition that supports and augments these other systems. Once you see it in use, you will find new places in your business logic pipeline where you want increased confidence in your data, especially for reporting and auditing.
Now that we want to see what DLT looks like in our system, we have to choose one to add to our back-end. In the wide world of blockchain technologies, there is much talk about what this blockchain or that DLT might do for your business. However, eventually one has to implement the technology such that businesses can actually make use of it. This is why we at He3Labs have selected NEM Catapult as a proven, operational, and open sourced DLT platform that matches our development approach for many applications..
How NEM Catapult and its feature set serve as a viable DLT solution
A blockchain built for business data, NEM Catapult allows for private or hybrid chain deployments. I’ll dive right into some of its strongest built-in features:
Easy Creation of Tokens / Currency:
NEM calls these ‘mosaics’. A mosaic is defined and owned by an account. You can specify if a supply is fixed or mutable, and if the token can be transferred between users. As an example, NEM’s public cryptocurrency, XEM, is transferable and has an immutable supply of 8,999,999,999 with divisibility of 6, so 0.000001 is the smallest unit of XEM.
Multiple transactions can be grouped together such that if any one of them fails for any reason (such as, not enough funds), then none of the transactions take place.
‘Atomic’ Cross-Chain Transactions:
When one wants a hybrid public/private chain deployment, eventually they also want the ability to securely transact across the chains. A special set of transactions makes it possible to atomically transact across multiple NEM blockchains.
Multi-Level Multi-Signature Accounts:
Multi-signature accounts allow for joint control over an account. The addition of ‘multi-level’ allows you great flexibility in structuring signatures required to access an account. NEM provides some visual examples here.
In our research at He3Labs we have been grouping NEM’s features together in continually surprising ways.
Situation: In your business, it comes time to make a decision large enough that it ought to be put to a vote of the Chief Officers, as well as all of the Vice Presidents. You will be voting on funding weekly, company-wide “Ice Cream Fridaes” for 3 months in the summer.
Background: Your business has already set up a multi-level, multi-signature NEM account for these situations, we’ll call it Voting. For Voting to begin a new vote, we say it requires either the signature of the CEO, or any two signatures from these accounts: CFO, COO, CTO.
- The transaction is proposed, it contains text explaining the particulars of this vote and it is now awaiting signatures.
- Once valid co-signers have signed, the transaction is complete and Voting creates, supplies and disburses a new mosaic. This mosaic will have a non-transferrable, immutable supply, and the supply will be equal to the number of Vice Presidents, as well as the Chief Officers.
- In one aggregate transaction, the mosaic is created, and each VP and CO receive 1 of this new mosaic. They are notified that a vote is taking place, and because the original transaction creating this token contains a description of the vote itself, voters can look to this trusted source, and ensure that they are voting on the right measure.
- Because the mosaic is non-transferable, the VPs and COs can only give the token back to Voting. If they do choose to vote, they will send a transaction from their account to the Voting account, with their voting token. In the message of this transaction they will supply their encrypted ballot that only the Voting account can read.
Result: At the end of the vote, the Voting account can quickly see how many valid ballots there are to tally, as only incoming transactions with the correct token will be considered. With a DLT-backed approach there can be no double votes, or otherwise stuffing the ballot box against the funding of ice cream socials.
This is just one way a DLT can be useful, and I chose to look at governance of the business itself. Note that the topic of secure, anonymous voting is a complex one, and this quick example falls far short. But, instead of displaying another example of a joint bank account or a supply chain, I wanted to showcase how much latitude in business logic NEM’s features can give you.
How NEM Catapult Adds Business Value
Here are some of the business benefits of a business backend system including NEM Catapult:
Service Availability / Uptime: Most businesses need to provide some manner of guarantee about service availability. DLT is designed and built from a very low level to make use of many servers and always be available to process the next transaction.
Maintenance: Adding DLT is yet another moving part to your back-end; it will require knowledge of how to configure it. However, once it’s running and has several nodes connected, a blockchain has very high availability and resiliency by design; it basically doesn’t need maintenance. Very few software products achieve this as elegantly as DLT can.
Integration: Further, as a business grows, the back-end is adding new services, new value added over time. Integration of a business-wide source of truth like DLT with your added services can shed a bright light on areas often neglected. e.g. Your business may pay for another service, one with its own guarantees of availability / performance. With DLT, you can now keep an indisputable record to compare against expectations.
Secure Data Management: Security through encryption is part of DLT at its most basic level. In addition, Catapult gives you the tools to easily structure authorization to access or update sensitive business data.
Cost Effective: Catapult is a lean C++ application designed from the ground-up to securely store vital business transactions on a network of computers, while eliminating the possibility of corruption. Catapult is so bulletproof that it can be run not only on a private network of computers (as in a businesses’ private DLT) but even a global distributed network of untrusted computers. It is also free for commercial use and a junior developer could have a basic, private NEM system up and ready for transactions in minutes, with either Tech Bureau’s Docker image (https://github.com/tech-bureau/catapult-service-bootstrap) or He3Labs’ Vagrant box (https://gitlab.com/he3labs-public/catapult-server-vagrant) for NEM’s open source release.
Built-in Features: “Smart contract languages” while powerful are also notoriously difficult to debug. NEM has distilled its main interactions into a handful of features that allow for declaratively building the structure you want, and without the possibility of introducing subtle coding errors.
Auditability / Reporting: Auditing and reporting will help you stay in control of business activity in departments, such as sales. Business metrics can provide key insight for future decisions, and DLT excels at both keeping a perfect record of events as well as knowing exactly who was involved in authorizing each event.
You might want to see more about our DLT-backed demos here: https://www.he3labs.com/blog/2018/9/4/he3labs-demonstrates-blockchain-e-government-at-the-100th-annual-crow-fair
Or here: https://youtu.be/N1mMr3sS1BA?t=210