<p>Generally, what you want to hide is the correspondence between outputs and inputs. So, for example, say you send me one unit of currency and then I send one unit of currency to someone else. What we don't need to hide:</p>

<ol>
<li>You had one unit of currency to send.</li>
<li>You wanted to send that one unit of currency somewhere.</li>
<li>You no longer have the one unit of currency you had in step 1.</li>
<li>I had one unit of currency.</li>
<li>I want to send that one unit of currency somewhere.</li>
<li>My transfer of one unit of currency will prevent me from sending one unit of currency that I could previous send.</li>
</ol>

<p>What we don't want to reveal:</p>

<ol>
<li>The one unit of currency that I transferred is the same unit of currency that you transferred.</li>
</ol>

<p>There are various cryptographic techniques that can be used to reveal the six things we do need to reveal without revealing the one thing we don't want to reveal. Zcash, for example, does this by having a person prove that they rendered unusable one output that they previously could have used without revealing which output they've rendered unusable. So if you send me one unit of zcash and I send one unit of zcash somewhere, it is not possible to connect the unit you send me with the unit I sent. All you know is that I previously had one unit of zcash I could send and now I do not, but it can be any unit of zcash send previously.</p>

CC BY-SA 4.0
2018-12-27T04:20:43.283Z
2018-12-27T04:20:43.283Z
David Schwartz
<blockquote>
  <p><strong>So what are ways to hide all transactions</strong></p>
</blockquote>

<p>In the blockchain used by Bitcoin it is not ever possible to hide transaction details because the integrity of the whole system depends on those being public.</p>

<p>However the sensitive parts of those details are mostly Bitcoin-addresses and amounts. There is a privacy issue if observers can infer information by comparing use of the same address across multiple transactions.</p>

<p>This is why Bitcoin (for example) is often described as not anonymous but as psedonymous. You can't see people's names in transaction data but you can see the Bitcoin-addresses.</p>

<p>Generally people hide their identity by </p>

<ul>
<li>never re-using Bitcoin-addresses and by </li>
<li>using <a href="https://en.wikipedia.org/wiki/Cryptocurrency_tumbler" rel="nofollow noreferrer">coin tumblers</a>.</li>
</ul>

<p>This makes it very very difficult for third-party observers to associate a transaction with a specific person.</p>

CC BY-SA 4.0
2018-11-17T14:59:57.663Z
2018-11-17T14:59:57.663Z
RedGrittyBrick
<p>I am new to block chain and was looking at how block chain work mainly proof of stake based . They check validity by going through all the transactions which is something concerning as everyone can see the transactions. So what are ways to hide all transactions and also make everyone able to check validity of new block.
This question is not only for block chain relm but also for cryptography.</p>

<blockchain><hash><cryptography><proof-of-stake>
I am just wondering what are the methods which can hide all the transactions and also able to validate transactions in an block chain?
Tarak Patel
# I am just wondering what are the methods which can hide all the transactions and also able to validate transactions in an block chain?

(Asked by: username_0 on 2018-11-17)

I am new to block chain and was looking at how block chain work mainly proof of stake based . They check validity by going through all the transactions which is something concerning as everyone can see the transactions. So what are ways to hide all transactions and also make everyone able to check validity of new block.
This question is not only for block chain relm but also for cryptography.

**Tags:** blockchain, hash, cryptography, proof-of-stake


---

## 2 answers

### Answer by username_1 on 2018-12-27. Score: 1

Generally, what you want to hide is the correspondence between outputs and inputs. So, for example, say you send me one unit of currency and then I send one unit of currency to someone else. What we don't need to hide:

1. You had one unit of currency to send.
2. You wanted to send that one unit of currency somewhere.
3. You no longer have the one unit of currency you had in step 1.
4. I had one unit of currency.
5. I want to send that one unit of currency somewhere.
6. My transfer of one unit of currency will prevent me from sending one unit of currency that I could previous send.

What we don't want to reveal:

1. The one unit of currency that I transferred is the same unit of currency that you transferred.

There are various cryptographic techniques that can be used to reveal the six things we do need to reveal without revealing the one thing we don't want to reveal. Zcash, for example, does this by having a person prove that they rendered unusable one output that they previously could have used without revealing which output they've rendered unusable. So if you send me one unit of zcash and I send one unit of zcash somewhere, it is not possible to connect the unit you send me with the unit I sent. All you know is that I previously had one unit of zcash I could send and now I do not, but it can be any unit of zcash send previously.


---

### Answer by username_2 on 2018-11-17. Score: 1

> **So what are ways to hide all transactions**

In the blockchain used by Bitcoin it is not ever possible to hide transaction details because the integrity of the whole system depends on those being public.

However the sensitive parts of those details are mostly Bitcoin-addresses and amounts. There is a privacy issue if observers can infer information by comparing use of the same address across multiple transactions.

This is why Bitcoin (for example) is often described as not anonymous but as psedonymous. You can't see people's names in transaction data but you can see the Bitcoin-addresses.

Generally people hide their identity by

* never re-using Bitcoin-addresses and by
* using [coin tumblers](https://en.wikipedia.org/wiki/Cryptocurrency_tumbler).

This makes it very very difficult for third-party observers to associate a transaction with a specific person.


---

