diff --git a/_posts/2016-04-15-why-equihash.md b/_posts/2016-04-15-why-equihash.md
index 71a485c..8834d43 100644
--- a/_posts/2016-04-15-why-equihash.md
+++ b/_posts/2016-04-15-why-equihash.md
@@ -10,7 +10,7 @@ post_date: 2016-04-15 00:00:00
---
In our last blog post, we announced that we have started using Equihash as the proof-of-work for block mining in Zcash (#27).
-Equihash is a Proof-of-Work algorithm devised by Alex Biryukov and Dmitry Khovratovich. It is based on a computer science and cryptography concept called the Generalized Birthday Problem.
+Equihash is a Proof-of-Work algorithm devised by Alex Biryukov and Dmitry Khovratovich. It is based on a computer science and cryptography concept called the Generalized Birthday Problem.
Why are we using it?
Equihash has very efficient verification. This could in the future be important for light clients on constrained devices, or for implementing a Zcash client inside Ethereum (like
BTC Relay, but for Zcash).
diff --git a/_posts/2016-11-29-zcash-private-transactions.md b/_posts/2016-11-29-zcash-private-transactions.md
index be98459..b897f30 100644
--- a/_posts/2016-11-29-zcash-private-transactions.md
+++ b/_posts/2016-11-29-zcash-private-transactions.md
@@ -25,7 +25,7 @@ Suppose :math:`\mathsf{PK}_1` is Alice's address and she wishes to send her 1 BT
Now suppose each note also contains a random 'serial number' (aka unique identifier) :math:`r.` We will soon see this is helpful for obtaining privacy. Thus, the database may look like this.
-:math:`\mathsf{Note}_1=` :math:`(\mathsf{PK}_1,r_1)`, :math:`\mathsf{Note}_2=` :math:`(\mathsf{PK}_1,r_1)`, :math:`\mathsf{Note}_3=` :math:`(\mathsf{PK}_2,r_2)`
+:math:`\mathsf{Note}_1=` :math:`(\mathsf{PK}_1,r_1)`, :math:`\mathsf{Note}_2=` :math:`(\mathsf{PK}_1,r_2)`, :math:`\mathsf{Note}_3=` :math:`(\mathsf{PK}_2,r_3)`
A natural first step towards privacy would be to have the node store only "encryptions", or simply hashes, of the notes, rather than the notes themselves.
@@ -64,7 +64,7 @@ More precisely, she does the following.
She randomly chooses a new serial number :math:`r_4` and defines the new note :math:`\mathsf{Note}_4=` :math:`(\mathsf{PK}_4,r_4).`
She sends :math:`\mathsf{Note}_4` to Bob privately.
She sends the nullifier of :math:`\mathsf{Note}_1,` :math:`\mathsf{nf}_2=` :math:`\mathbf{HASH}(\mathsf{r}_1)` to all nodes.
-
She sends the hash of the new note :math:`\mathsf{H}_4=,` :math:`\mathbf{HASH}(\mathsf{Note}_4)` to all nodes.
+
She sends the hash of the new note :math:`\mathsf{H}_4=` :math:`\mathbf{HASH}(\mathsf{Note}_4)` to all nodes.
Now, when a node receives :math:`\mathsf{nf}_2` and :math:`\mathsf{H}_4,` it will check whether the note corresponding to :math:`\mathsf{nf}_2` has already been spent, simply by checking if :math:`\mathsf{nf}_2` already exists in the nullifier set. If it doesn't, the node adds :math:`\mathsf{nf}_2` to the nullifier set and adds :math:`\mathsf{H}_4` to the set of hashed notes; thereby validating the transaction between Alice and Bob.
@@ -97,27 +97,21 @@ Now, when a node receives :math:`\mathsf{nf}_2` and :math:`\mathsf{H}_4,` it wil
This is where Zero-Knowledge proofs come to the rescue:
-In addition to the steps above, Alice will publish a proof-string :math:`\pi` convincing the nodes that whomever published this transaction knows values :math:`\mathsf{PK}_1,` :math:`\mathsf{sk}_1,` and :math:`r_1` such that
-
- -
+In addition to the steps above, Alice will publish a proof-string :math:`\pi` convincing the nodes that whomever published this transaction knows values :math:`\mathsf{PK}_1,` :math:`\mathsf{sk}_1,` and :math:`r_1` such that
- The hash of the note :math:`\mathsf{Note}_1=` (:math:`\mathsf{PK}_1,` :math:`r_1)` exists in the set of hashed notes.
- :math:`\mathsf{sk}_1` is the private key corresponding to :math:`\mathsf{PK}_1` (and thus, whomever knows it is the rightful owner of :math:`\mathsf{Note}_1`).
- The hash of :math:`r_1` is :math:`\mathsf{nf}_2`, (and thus, if :math:`\mathsf{nf}_2` - that we now know is the nullifier of :math:`\mathsf{Note}_1` - is not currently in the nullifier set, :math:`\mathsf{Note}_1` still hasn't been spent).
-
-
+
+
The properties of Zero-Knowledge proofs will ensure no information about :math:`\mathsf{PK}_1,` :math:`\mathsf{sk}_1,` or :math:`r_1` are revealed by :math:`\pi`.
The main places above where we cheated or omitted details
We emphasize that this has been an oversimplified description, and recommend the protocol spec for full details.
Here are some of the main things that were overlooked:
- -
-
- The hashed notes need to be stored not just as a list, but in a Merkle tree. This plays an important role in making the Zero-Knowledge proofs efficient. Moreover, we need to store a computationally hiding and binding commitment of the note, rather than just its hash.
- - The nullifier needs to be defined in a slightly more complex way to ensure future privacy of the receiver in relation to the sender.
- - We did not go into details on how to eliminate the need for a private channel between sender and recipient.
-
-
+ - The nullifier needs to be defined in a slightly more complex way to ensure future privacy of the receiver in relation to the sender.
+ - We did not go into details on how to eliminate the need for a private channel between sender and recipient.
\ No newline at end of file
diff --git a/_posts/2017-05-01-release-cycle-and-lifetimes.md b/_posts/2017-05-01-release-cycle-and-lifetimes.md
index 67edf6b..3a0787b 100644
--- a/_posts/2017-05-01-release-cycle-and-lifetimes.md
+++ b/_posts/2017-05-01-release-cycle-and-lifetimes.md
@@ -71,4 +71,4 @@ Please reach out to us with any feedback on this new release policy. You can fin
-
+
\ No newline at end of file
diff --git a/_posts/2017-09-22-release-cycle-update.md b/_posts/2017-09-22-release-cycle-update.md
index ec3af0e..fad4b4a 100644
--- a/_posts/2017-09-22-release-cycle-update.md
+++ b/_posts/2017-09-22-release-cycle-update.md
@@ -27,4 +27,4 @@ As we stated previously, once a version is deprecated via the end-of-support hal
At block 193076, all nodes running version 1.0.9 which do not have the