Security Announcement

A bug related to transaction priority handling may allow an attacker to crash Zcash nodes (Denial of Service) via a specially crafted transaction. A fix is implemented in zcashd release 1.0.8-1.
Please see the official announcement for more details and update your Zcash node to 1.0.8-1.

Language

Introducing Project Alchemy

Jay Graber | Sep 19, 2016

Bridging Zcash and Ethereum

Bridging Zcash and Ethereum

The technical innovation that Zcash is contributing to cryptocurrency is the introduction of reliably private transactions on the blockchain through the application of zero-knowledge proofs. However, much of the value in this ecosystem comes from projects building on each other's strengths. The open, programmable platform that Ethereum introduced is inspiring developers to build new systems that were not possible before. Our team has also been inspired to start brainstorming potential applications.

One of the projects we're looking forward to working on is codenamed Project Alchemy. This will be a Zcash-Ethereum integration that will enable a decentralized exchange between the two blockchains. The core component we're focused on first is a cross-chain Order that will allow decentralized order execution.

Here’s the basic outline of how it would work: Sellers will be able to publish an Ethereum contract called an Order, and anyone can fulfill it by sending out an appropriately formatted Zcash transaction. The funds the initiator wants to exchange will be essentially held in escrow by the smart contract while they wait for a buyer to match them. A buyer will be able to create a Zcash transaction that may contain the destination address, and the validity of this transaction will be verified by the Ethereum contract before the funds are released to complete the trade.

An implementation of a bridge for Bitcoin-to-Ether exchange already exists in BTC Relay, so we are planning to model an exchange for Zcash along these lines [1]. There are several steps necessary to further develop this idea. One component is an implementation of the BLAKE2b hash function in Solidity, which is necessary to check Zcash’s proof of work — this has already been written. The hash function will be used to implement an Equihash verifier. Once we can verify Zcash’s proof of work, we can create an example contract template for the Order logic. From there, we would need UI components to place, discover, and fulfill orders on the two blockchains.

The small but dedicated Zcash team is currently devoting our time and energy toward launching a secure, usable open blockchain. We don’t have the capacity to build out all of the things we'd like to see exist right away, but we’re excited to start developing projects like this after launch.

Please join us in discussing projects like this on our Forum or Slack channels (including #alchemy for this project).

[1]The same building blocks with minor modifications will also allow Bitcoin-Ethereum decentralized exchange, thus enabling currency to flow between the three systems through a decentralized market-price mechanism.

Project Alchemy, Ethereum | View all tags