Posts From Category: crypto

MINA zkApp staking pool

This article is published on HackMD.

Currently, when delegating to a block producer (aka validator) on MINA, the distribution of rewards is conducted off-chain, so block producers are responsible for calculating and distributing payouts according to their terms and conditions. Typical terms and conditions would include the fee percentage, the payout frequency, and perhaps the payout algorithm used. While the delegator’s funds are not at risk (you merely delegate the right to produce a block), a pool operator can steal any rewards in the worst-case scenario. The only recourse for a delegator would be to switch, which due to the latency involved in delegation transactions, would result in at least two epochs of rewards lost.

Read More

An Introduction to MinaExplorer's BigQuery Public Dataset

This article is published on Medium.

Mina is a succinct blockchain, which means while we can verify the chain’s current state using a zero-knowledge proof, the prior history is not retained. So, if we want to analyze the chain’s history (for example, to see individual transactions), we need to obtain it from an archive node. The official implementation of an archive node stores its data to a Postgres database, which typically requires the use of recursive queries to determine the canonical chain information.

Read More

Evaluating a Mina staking pool’s performance

This article is published on Medium.

Mina uses a proof of stake consensus mechanism with a block producer selection similar to Ouroboros, known as Ouroboros Samisika. The opportunity to produce a block for a slot is determined by a verifiable random function (VRF). This selection can be thought of like a lottery with each block producer independently running this function for each slot. If they get a VRF output greater than a threshold proportional to the producer’s stake, they get the chance to produce a block at the designated slot.

Read More

Running a Mina Archive Node

This article is published on Medium.

Mina is a succinct blockchain, and as a result, consensus nodes only store the recent history of the chain before discarding it (the last k blocks, currently 290). While prior transaction history is not required to prove the current state is valid (this is handled via a recursive zero-knowledge proof), many applications would like access to this prior transaction history. Examples include block explorers and wallets. To solve this problem, users may optionally run an archive node that stores a summary of each block seen in a Postgres database.

Read More

Introduction to the Coda Javascript SDK

This article is published on Medium.

This post provides an introduction to the current implementation of the Coda Javascript SDK. Using the SDK, it is possible with Javascript to generate keys, sign and verify messages, and sign transactions that can be broadcast to the network. From the package’s Readme:

This is a NodeJS client SDK that allows you to sign transactions and strings using Coda’s keypairs. The project contains Typescript and ReasonML typings but can be used from plain NodeJS as well.

Read More

Consensus on the Coda Blockchain

This article is published on Medium.

Coda is a succinct blockchain where full nodes only require downloading and verification of a tiny proof to ensure that the state of the blockchain is valid. It achieves this through incrementally computed SNARKs where the latest block contains a proof that validates the new block in addition to the previous SNARK.

Coda utilizes a proof of stake (POS) consensus mechanism as opposed to the proof of work (POW) consensus mechanism popularized by Bitcoin. POS consensus algorithms have unique challenges, most notably the nothing at stake issue. Whereas in POW, miners are forced to complete work that expends energy and has a cost, in a POS system it is essentially free to participate, and an adversary can try different things to see what is favorable at no cost.

Read More

Running Coda with Docker

Docker provides one of the simplest ways of getting a Coda node up and running while providing the benefits of container isolation. It also resolves issues around dependencies on unsupported systems and allows specifying restart policies should the daemon crash.

It is important to use the correct image for each testnet release. The tags for all releases are available on DockerHub. For testnet 3.2b this tag is 0.0.12-beta-feature-bump-genesis-timestamp-3e9b174. This image is updated for each testnet, so the image used in the below commands should be updated accordingly.

At its simplest, we can start a Coda node with the following command. We’ll build upon this basic command for other Coda specific functions such as block production and SNARK workers.

$ docker run -d --name coda \
-p 8302:8302 \
-p 8303:8303 \
--restart always \
codaprotocol/coda-daemon:0.0.12-beta-feature-bump-genesis-timestamp-3e9b174 daemon \
-peer <PEER_1> \
-peer <PEER_2>

Read More

Prototyping a Coda Blockchain Explorer

This article is published on Medium.

A block explorer is a tool typically used to visualise the current and historical state of a blockchain including all transaction information. Coda, a succinct blockchain, presents some interesting challenges in this regard as this prior state information is not required to be stored by end-users or even block producers, but rather the protocol relies on cryptographic proofs to prove the current chain state (and thus everything preceding it).

Coda currently provides an option for users to run an archive node that persists block data. This data is then exportable via the GraphQL API and it is this data that has been used to produce a prototype block explorer to help users become better acquainted with the testnet and Coda’s functionality.

Prototyping a Coda Blockchain Explorer

Read More

First steps with the Coda GraphQL API

Coda is a cryptocurrency that uses a succinct blockchain that is enabled through the recursive composition of zk-SNARKs. For clients, this means they can verify the chain with only a few kB of data which opens up exciting opportunities for scalable blockchain applications.

Coda recently launched their public testnet and encourages users who want to help develop the protocol to join the testnet and complete various weekly challenges. While Coda has a traditional command-line interface (CLI) that will be familiar to anyone running a full node implementation, e.g. Bitcoin Core, it also exposes a GraphQL API that we will explore in this article.

Read More

Zcash Insight Blockchain Explorer

With the launch of 2.0.7, zcashd now includes full support for the Insight blockchain explorer. The Insight explorer, which will be familiar to those who have used one of the many popular block explorers it powers, was developed by Bitpay as part of its bitcore suite of tools. The tool, released under a permissive open-source license (MIT), contains many development tools to “build bitcoin and blockchain applications” but we will concentrate on installing the explorer portion for this article which has been ported to support Zcash.

The Insight block explorer on Zcash testnet

Read More

Zcash Shielded Transactions on the Raspberry Pi

If you are running a home node, then a single-board computer is an excellent choice due to its low power draw and the fact you can dedicate the low-cost machine to a single purpose. The Raspberry Pi, in particular, has been popularised for cryptocurrency nodes by the likes of the Casa Node and RaspiBlitz which constitute full Bitcoin/Litecoin and Lightning nodes.

Read More

WinZEC Tips, Tricks and Troubleshooting

This article is published on Medium.

WinZEC (formerly Zcash4Win) was the first port of the official Zcash client (known as zcashd) to Windows. As a result, it still powers a large proportion of the Zcash nodes on the network for those who wish to use shielded transactions on a Windows machine. WinZEC is comprised of two major components, the Swing wallet GUI(the interface that you see when you open WinZEC) originally by vaklinov and the Windows port of zcashd by radix42.

Read More

Why Zcash is set to shine in 2018

This article is published on Medium.

2017 was an excellent year for Zcash as the protocol developed, matured, and the ecosystem expanded. The market-cap surpassed $1 Billion, and it is now well supported on various exchanges. There are many repeated concerns and sources of misinformation spread about Zcash and, while the technology is still in its infancy, it is rapidly evolving to actively address these concerns. Such concerns primarily focus on the nature of the trusted setup, the performance cost of completing a shielded transaction and the fact that private transactions are not mandatory for all Zcash transactions.

Read More

An Introduction to Payment Disclosure in Zcash

This article is published on Medium.

Zcash is a privacy-focussed decentralised cryptocurrency. Whereas in Bitcoin all transactions are public on the blockchain, so anyone can see and verify them, in Zcash when using shielded transactions, all amounts in addition to the sender and receiver are encrypted, and verification is completed through the use of zero-knowledge proofs.

Read More

Bitcoin volatility is at an all time low

This article is published on Medium.

Bitcoin’s history of volatility is legendary with periods during late 2013 where there were daily changes of over 40% in either direction. However, since that time Bitcoin’s volatility has gradually decreased to the point where now it is at an all time low and more comparable to other assets such as Gold.

Read More

How big is Bitcoin? Canadian Edition

This article is published on Medium.

There are many ways to measure the size of the Bitcoin such as the number of transactions or total transaction volume. However, these are not easily comparable to other assets and so typically the size of Bitcoin is expressed as its market capitalization, which is simply the total $ value of all the Bitcoins that exist. Using the market capitalization (also known as market cap) value we are able to compare the scale of Bitcoin with other cryptocurrencies, gold, stocks or any other asset class.

Read More

2015 Canadian Bitcoin Index Year in Review

This article is published on Medium.

2015 saw increasing competition for your Canadian Dollar (CAD) when buying Bitcoin. Led by Quadriga CX, it was a tumultuous year where we saw exchanges come (Taurus, Coinsquare), go (Vault of Satoshi) and established non-Canadian domiciled exchanges expand into the Canadian Dollar market (Kraken, Coinbase) as well as Vancouver-based Cointrader finally opening a CAD orderbook. And then there was Cavitex… announcing it’s closure in February only to reopen following a Coinsetter acquisition.

Read More

Bitcoin mining with Amazon Web Services

This article was originally published via Tumblr.

Arriving a little bit late to the Bitcoin party I was intrigued by the mining process so thought I would give it a go on a lazy afternoon with help from this blog post. Rather than tie up my home PC or commit to long term hosted mining contracts I used Amazon Web Services to provision a suitable machine for a few cents an hour. Thanks to the availability of suitable Bitcoin miners on GitHub the process is remarkably simple to get up and running.

Read More