Bridge
Last updated
Last updated
A Bridge is a mechanism that allows Privacy Ledgers to communicate with one another. Bridges ensure complete transaction privacy between financial institutions, even when the issuer isn't present.
Bridges utilize zero knowledge proofs and homomorphic commitments to enable:
Fully encrypted, peer-to-peer data and token transactions;
Quantum-secure on-chain privacy;
Cryptographic proof of original token legitimacy across networks;
Auditor view to confirm transaction and circulation validity;
Cryptographic proof of correctness for state updates
All cross-chain transfers occur on Bridges between two Privacy Ledgers and the Commit Chain. Raylz uses a smart contract on each Privacy Ledger to deal with the transaction, while the transaction is coordinated through the Commit Chain.
Since smart contracts cannot automatically pull or push data to external sources, a Bridge communicates transaction events from one blockchain to another.
All events are encrypted and submitted with cryptographic proofs to ensure correctness. Operationally, this enables competing banks to participate in a network and exchange value with their peers without revealing transaction data to third-party participants.
Bridges support the ISO 20022 standard. Each Bridge can be configured to issue and receive requests that conform to a specified messaging standard, and can be extended to support additional messaging standards as required by an institution's use cases.
Block headers notify other Privacy Ledgers that the originating Privacy Ledger is online and issuing new blocks. They also allow light clients a limited view into a Privacy Ledger's history. Light clients can use compact proof information (such as a Merkle proof of inclusion) and validate it against the block headers to ensure a specific transaction is included in the block.
Privacy Ledgers can perform internal and external transactions. Internal transactions take place within one Privacy Ledger, while external transactions occur between Privacy Ledgers.
Internal transactions are signed by the wallets of the users that hold accounts within a Privacy Ledger. Internal transactions are usually traditional day-to-day payments.
Unlike traditional public blockchains, internal transactions are private. The Network Operator never exposes internal transaction information to external entities.
External transactions represent the movement of funds from one Privacy Ledger to another. These transactions are also called 'cross-chain transactions'.
External transactions begin when the sender performs a 'lock' (or burn) transaction. This removes funds from circulation on the originating side. The relayer then publishes the sender's block header to the Commit Chain and produces a Merkle proof of inclusion for verification purposes. When combined with the block header, anyone can verify that a hash of a transaction is present in the block. Private transaction information is only posted to the Privacy Ledger, similar to the approach taken by zkLedger.
Each party has a Pedersen commitment entry commit for all network participants.
Since this commitment scheme is additively homomorphic, updates are performed by adding debit amounts to a sender's entry and credit amounts to the recipient's entry. Any remaining entries receives an additional commitment to a 0 value.
The sender must provide a proof of funds and a range proof to enforce an anti-money-laundering threshold. These proofs, particularly the range proof, add an additional compliance layer to an institution.
Cross-chain transactions are encrypted and given a private signaling tag. For anyone other than the recipient, cross-chain transaction data is indistinguishable without verification measures.
Raylz's private signaling mechanism identifies transactions by a hash of the shared secret, the hash of a previous block, and the recipient's public key. Relayers for each Privacy Ledger have (n-1) identifiers, one for each Network Participant. Each relayer performs a lookup on a block and fetches the transactions for the relayer's destination Ledger. These transactions can then be decrypted and verified alongside the posted block header.
If the transactions successfully pass these checks, then the recipient may perform the subsequent actions derived from this initial transaction.
Raylz supports different types of audits. Some audits involve selective disclosure of information, while others relying purely on group-homomorphic cryptography.
Main auditors can request the session keys used to encrypt individual transactions to check for consistency with the posted commitment values. Any auditor can check that transaction hashes posted to the Commit Chain are included in blocks without having to know the actual transaction details.
Similarly to zkLedger, an external auditor can verify that all the balances belonging to the individual system entities collectively add up to the right amount and that each transaction has a debit amount that corresponds to a credit amount.
Privacy Ledgers post new block headers to the Commit Chain at intervals defined by the . Block headers serve two purposes: as a wellness check for the VEN, and to provide external parties with information about a Privacy Ledger.