Introducing Blockchain Scanning with Zebra

Zcash Viewing Keys

When a Zcash person creates a shielded transaction, they encrypt it to the recipient’s deal with. With the ability to entry the info hidden behind the encryption is a needed situation for the recipient to spend the funds, however it’s not adequate for the reason that recipient additionally must show possession of the spending key comparable to the deal with. To decrypt the shielded transaction, the recipient makes use of a so-called viewing key, which they derive from their spending key. A viewing key permits decryption of the shielded information however reveals nothing concerning the spending key, successfully permitting “viewing” of shielded transactions however not spending of them.

Blockchain Scanning with Zebra

All Zcash customers use their viewing keys to find out about what transactions belong to them. They attempt to decrypt every transaction within the blockchain to see if they’ll unlock the shielded information. We discuss with this course of as scanning or trial decryption. Gentle purchasers can carry out the scanning regionally in order that the general public server they impart with doesn’t study something about their transactions. Nevertheless, some customers function their very own infrastructure. These are sometimes enterprise customers, equivalent to exchanges, that are greatest served utilizing a scanning service intently linked to their full node.

At Zcon4, the Electrical Coin Firm and Zcash Basis agreed to maneuver the Zcash ecosystem to Zebra. To have the ability to accomplish that, Zebra must help wallets able to changing the pockets in zcashd. As a primary step towards this objective, we determined to increase Zebra with a blockchain scanner that accepts viewing keys and performs the trial decryption of shielded transactions. The scanner then shops the ends in persistent storage. This performance ought to permit for an environment friendly implementation of wallets counting on Zebra.

Implementation Particulars

The present scanner is a brand new crate within the Zebra repository, within the type of a minimal viable product. It depends on the librustzcash library to carry out the scanning, and helps solely Sapling. It reads all blocks by means of Zebra’s inner state service and shops the TXIDs, referring to transactions that include notes decryptable by the supplied viewing keys. The storage is a separate occasion of RocksDB that Zebra additionally makes use of for storing the state.

The present model of the scanner is documented for customers in our Zebra ebook. If you wish to give it a attempt, you need to use this software to learn the scanning outcomes. When you submit the scanning key from ZECpages, it’s going to print all posts from the board to plain output. The following step for the scanner is to implement a gRPC frontend, exposing the scanner’s capabilities to Zebra customers.

If in case you have any suggestions or strategies, tell us in our Discord, or on the Zcash Neighborhood Discussion board.

The publish Introducing Blockchain Scanning with Zebra appeared first on Zcash Basis.

Related Articles


Please enter your comment!
Please enter your name here

Latest Articles