Saturday, July 6, 2024

Introducing Blockchain Scanning with Zebra

Zcash Viewing Keys

When a Zcash person creates a shielded transaction, they encrypt it to the recipient’s tackle. Having the ability to entry the information 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 comparable to the tackle. 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 in regards to 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’ll unlock the shielded information. We discuss 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 be taught something about their transactions. Nevertheless, some customers function their very own infrastructure. These are usually enterprise customers, corresponding to exchanges, that are finest 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 achieve this, 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 way 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 e-book. If you wish to give it a attempt, you need to use this device to learn the scanning outcomes. If you happen to submit the scanning key from ZECpages, it can print all posts from the board to straightforward output. The following step for the scanner is to implement a gRPC frontend, exposing the scanner’s capabilities to Zebra customers.

When you’ve got any suggestions or ideas, tell us in our Discord, or on the Zcash Neighborhood Discussion board.

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

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles