Introducing Blockchain Scanning with Zebra


Zcash Viewing Keys

When a Zcash consumer creates a shielded transaction, they encrypt it to the recipient’s handle. With the ability to entry the info hidden behind the encryption is a obligatory situation for the recipient to spend the funds, nevertheless it’s not adequate for the reason that recipient additionally must show possession of the spending key similar to the handle. 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 study what transactions belong to them. They attempt to decrypt every transaction within the blockchain to see if they will unlock the shielded information. We consult with this course of as scanning or trial decryption. Mild purchasers can carry out the scanning domestically in order that the general public server they convey with doesn’t study something about their transactions. Nevertheless, some customers function their very own infrastructure. These are usually enterprise customers, comparable to exchanges, that are greatest served utilizing a scanning service carefully 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 achieve this, Zebra must assist wallets able to changing the pockets in zcashd. As a primary step towards this aim, 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 leads to persistent storage. This performance ought to enable 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 Zebra’s inside state service and shops the TXIDs, referring to transactions that comprise 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 guide. If you wish to give it a strive, you should utilize this device to learn the scanning outcomes. Should you submit the scanning key from ZECpages, it is going to print all posts from the board to straightforward output. The subsequent step for the scanner is to implement a gRPC frontend, exposing the scanner’s capabilities to Zebra customers.

When you have any suggestions or strategies, tell us in our Discord, or on the Zcash Group Discussion board.

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


Please enter your comment!
Please enter your name here