Overview
The development of any business directly depends on the effective interaction between business owners. This kind of interaction is called B2B. Information technologies eliminating intermediaries are used to improve the B2B field. Also, these technologies keep sensitive data private under democratic and transparent working conditions.
Industry
Distributed ledger (or a blockchain) is a breakthrough decentralization solution bringing business relations to a new level, providing data privacy, confidentiality, and a public ledger with global access.
Decentralization makes it possible to give each business owner access to resources. Participants can interact in the global Internet network, authorize and identify enterprises using Business ID.
A Business ID is a digital identifier that allows companies to register ownership of physical objects, digital assets, intellectual property, etc. in a distributed network, make transparent payments, and resolve disputes.
Company
Opporty is a research project bringing innovations to the B2B field, business authorization and identification systems. It increases the blockchain scalability using the mathematical methods of optimization and cryptography.
Currently, Opporty consists of:
- Cybersecurity and cryptology specialists.
- DAPP interface designers and performers.
- DevOPS specialists organizing and setting up the infrastructure of blockchain projects.
- Microservice architecture developers.
Background
Information technology should be applied and companies’ interaction should be improved to strengthen relations between them.
The issue of business reputation is raised every time an entity signs a contract with a new counterparty. No one wants to start business relationships and exchange money with unreliable enterprises.
How could you protect yourself? Of course, the first thing to do is to start checking a future partner/supplier through search engines, business registries, various sites, and directories.
Unfortunately, such resources are not always trustworthy. A study by Gartner shows that at least 15% of the reviews are paid. Also, Harvard Business School claims that more than 20% of reviews on Yelp are paid.
On the one hand, you cannot fully rely on reviews. On the other hand, the refusal of new contracts hinders business development.
Opporty has created a B2B / B2C marketplace with a Proof-of-Expertise protocol and a company reputation calculation system to eliminate the lack of trust between suppliers.
This solution addresses the problem of low data privacy in traditional blockchain structures, enhances the security of transaction data, and leaves them accessible to all network participants.
By default, business transactions assume data privacy as well as their inaccessibility to third parties.
Small and medium businesses are most interested in blockchain and a new protocol.
Statistics show that only 20% of small companies and startups (mostly services) in the United States remain on the market one year after launch.
The remaining 80% are not able to withstand competition, attract enough customers, and quickly start gaining profit.
Small businesses need to make much effort to stay on the market:
- Sell high-quality goods/services at competitive prices, which is hard at an early stage of business formation.
- Quickly find suppliers.
- Find ways to reduce costs, in particular, build business processes correctly and eliminate as many intermediaries as possible.
- Create a sales funnel and a marketing strategy.
- Use modern technology in an attempt to outrun competitors.
The market is full of e-commerce platforms placing an emphasis on timely delivery and good products. But few companies guarantee the quality of the services provided. That is why consumers trust only old players, while new ones are perceived with skepticism.
It is important for businesses to solve the problem of mutual distrust. Service companies resolve disputes only in court, relying on traditional legal mechanisms, which forces all parties to spend much time and money.
Opporty’s PoE is a fast and efficient solution that prevents these loses. The most important thing is that the interaction of smart contracts and the ability to make business transactions on the blockchain lead to transparency and security of business transactions.
At the same time, these advantages can be ensured only when using innovative cryptographic abstractions and methods.
The Challenge
Business transactions on the blockchain would be possible only if sensitive information is hidden, meaning the blockchain should be able to store confidential data and disclose it only after some party permits.
There are permissionless (without permission) and permissioned (with permission) blockchains.
Permissionless:
Ethereum is an example of a blockchain without permissions. There are no entry and use barriers. Anyone can create a node, start mining software/hardware, access a wallet, add data to it, and carry out transactions within the blockchain (subject to the blockchain rules). There is no way to censor somebody on a permissionless eth chain.
Permissioned:
Permissioned blockchains are also called private. It is necessary to obtain permission and prove that you are exactly who you claim to be (identification) in order to participate in the mining process or use the blockchain data.
In addition to blockchains with and without permissions, there are also hybrid blockchains. For example, the blockchain may be publicly available to read information but, at the same time, permission to access a personal network or its transactions should be obtained.
For example, Ripple is a permissionless hybrid blockchain in which central operators act as transaction validators and create their own nodes around the world, even if it is possible to perform operations using their XRP ticker without permissions.
To increase the trust necessary for B2B transactions, it is imperative to use a permissionless blockchain. Also, it is important to create a mechanism concealing valuable confidential data.
A solution using Ring Transactions was found to ensure privacy.
Like regular cryptographic signatures, ring signatures confirm the ownership of the tokens spent in transactions (“inputs”). But with ring signatures, you can add completely different tokens (“a bait”) to the same transaction without showing which of them was really signed. Since coins are “mixed”, spies do not know which coin was really spent and which one was is a bait.
This approach ensures transaction confidentiality but completely eliminates scalability since the size of transactions and blocks increases by a hundred times.
In such situation, the main goal is to find an effective mechanism to ensure privacy and maintain a high scalability level.
The Solution
There are different ways to ensure the confidentiality of transactions. All they have certain drawbacks. An innovative method not interfering with decentralization and scalability is needed.
One of the most reliable and fast approaches is the construction of zero-knowledge proofs using the zk-SNARKs protocol.
The zk-SNARKs definition
At the highest level, zk-SNARKs allow a verifier to check whether a party being verified knows a secret parameter satisfying certain requirements. At the same time, this parameter should not be disclosed to the verifier or anyone else. That is, you can prove that something is true or not without disclosing all the parameters. Checking the transaction validity in the blockchain is a good example. You can check the validity without revealing the ins and outs of a transaction.
The acronym zk-SNARKs means “zero-knowledge succinct non-interactive argument of knowledge” and refers to a proof construction in which the possession of certain information, for example, a secret key, can be proved without disclosing this information as well as initiating interaction between the party being verified and the verifier.
With a zero-knowledge argument, the party being verified can convince the verifier not only that the parameter exists, but also that they actually know this parameter (again, without disclosing any information about this parameter).
A succinct zero-knowledge argument can be checked within a few milliseconds. The proof length is only a few hundred bytes, even for statements about very large programs. In the first zero-knowledge argument protocols, the party being verified and the verifier had to exchange messages for several rounds. But in “non-interactive” constructions, the argument consists of one message sent from the party being verified to the verifier.
Currently, the most effective way to create a zero-knowledge argument that is not interactive and short enough to publish in a blockchain is to have an initial setup phase that generates common parameters shared by the party being verified and the verifier. These system parameters are publicly available. For example, random data was extracted from the Chernobyl radioactive remains (for complete randomization and security of the initial data) for zcash cryptocurrency.
The properties of zk-SNARKs
Basically, the argument must have three properties:
- correctness: if an argument is true and the party being verified knows how to prove this, they would be able to successfully persuade the verifier;
- validity: if the argument is false, the party being verified has no chance to prove otherwise;
- zero-knowledge: interaction shows nothing except that the statement is true.
The components of zk-SNARKs
In short, zk-SNARKs have 3 main components in their current implementation:
Task coding in the form of polynomials:
It has been proved that any problem recorded algorithmically can also be converted into quadratic arithmetic programs.
That is, it is possible to convert an iterative algorithm into a mathematical form — polynomials.
Random sample succinctness
The verifier chooses some secret point. Then laborious polynomial multiplying and function equality checking are replaced with simple multiplying and function equality checking by points on polynomials.
This significantly reduces both proof size and verification time.
Homomorphic coding / encryption
The encoding/encryption function with homomorphic properties is used. This allows the verifier to calculate derivatives and obtain operation results for encrypted values without disclosing encrypted values themselves.
Zero-Knowledge blockchain applications
By checking the equality of all polynomials at any point, we can confirm that the program result was calculated and that it was calculated correctly.
This allows to realize three important things in the blockchain:
- Transaction privacy;
- Identifier storage;
- Scaling.
It is necessary to blindly check the equality of polynomials. This is possible only if elliptic curve pairings are used.
Elliptic curve pairings (or bilinear mappings) can be considered as an addition to the 30-year history of elliptic curves using for cryptographic purposes, including encryption and digital signatures. Pairing introduces “encrypted multiplication” greatly expanding the capabilities of protocols based on elliptic curves. It would be impossible to conduct homomorphic encryption and encoding without a bilinear property of pairings.
Transaction privacy and validation
In Ethereum, transactions are verified by linking the sender’s and recipient’s addresses, input and output values in a public blockchain. Opporty’s Plasma uses zk-SNARKs to prove that the requirements set for a current transaction have been fulfilled without disclosing important information about the addresses or values involved.
The sender of a secure transaction creates evidence showing that the following is highly probable:
- Input values are summed with output values for each transmission.
- The sender has private exit keys in input records. This gives them the right to spend UTXO.
- Private exit keys are linked with the entire transaction’s signature in such a way that the transaction cannot be changed by a party not knowing these private keys.
The validation of secure transactions is thus performed.
Digital Identity and Zero-Knowledge proofs
Zero-Knowledge also allows storing data on Digital Identity without disclosing private information. All that is required for this is a confirmation of knowledge showing that a person provides trustworthy information about themselves. This is a form of digital fingerprint confirming identity. The reliability of this check is based on the use of a cryptographic hash function ensuring that the identity is valid.
If a hash function is used for a variable data set, for example, personal data that may have different lengths, output data can always have a fixed value. This is the guarantee of an honest and transparent checking procedure. Intervention is extremely unlikely and requires tremendous computing power or good luck.
When data is hashed, input information cannot be easily determined based on output. In the case of autonomous identity, people’s personal information can be stored in a private database, possibly even a centralized one. However, information is then hashed and value is stored in a separate database that is publicly available and uses the blockchain.
zk-SNARKs application for scaling
Also, zk-SNARKs can help with improving scalability. This technology, developed primarily for privacy needs, is also suitable for scaling and can help Plasma much better than other approaches adopted so far.
zk-SNARKs are similar to cryptographic hashes that compress computational data into small and easily verifiable fingerprints, even if computations are performed off-chain. In addition to signatures, zk-SNARKs verify the correctness of this operation.
zk-SNARK tests are generated off-chain. They require large computational power, so it makes sense to keep them off-chain as long as the tests are checked. This system reduces internal resources used per operation, which allows performing more operations by increasing scalability.
zk-SNARKs eliminates the need to explicitly verify transaction signatures one at a time. All block signatures can be confirmed simultaneously. This means that the computation requirements for blockchain synchronization can be significantly reduced.
To sum up, zk-SNARKs are applied in the blockchain for solving a number of important tasks. That is why Opporty’s PoE protocol uses them everywhere.
Results/Achievements
By pairing elliptic curves and using their properties, Opporty has achieved three key goals:
- Privacy and confidentiality of data and business transactions.
- Authorization, obtaining permission and Business ID.
- Higher scalability due to compressing history and calculating validation outside the main chain.
All three properties are critical for modern B2B interactions. Mathematically, ZK arguments provide the opportunity to prove a solution without showing results. The PoE protocol uses Zero-Knowledge for specific business tasks.