bsips/bsip-0007.md

64 lines
2.3 KiB
Markdown
Raw Normal View History

2015-12-16 11:37:08 +00:00
BSIP: 0007
Title: Privacy (STEALTH) Mode
Authors: Daniel Larimer <Dan@cryptonomex.com>
Fabian Schuh <Fabian@BitShares.org>
Status: Draft
Type: Informational
Created: 2015-12-16
Discussion: <https://github.com/cryptonomex/graphene/issues/452>
<https://bitsharestalk.org/index.php/topic,20104.0.html>
<https://bitsharestalk.org/index.php/topic,20499.0.html>
Worker: tbd
# Abstract
Privacy Mode Transfers (a.k.a. Stealth Transfers) are used to maintain user
privacy. This feature helps set BitShares apart from most other crypto
currencies and offers tremendous value to the users who are most interested in
privacy, liberty, and freedom.
In practise they combine the techniques of *blinding* for the transfer amount
and *stealth addresses* (similar to TITAN in BitShares 1) to hide involved
parties.
# Specifications
This proposal involves creating a new front-end feature on the account page in
the wallet to enter the *privacy mode*. Here, users will be able to create
*private accounts* which are nothing but labeled private keys. They will also be
able to manage *private contacts* which are nothing more than labeled public
keys. Neither private accounts nor private contacts are tracked on the
blockchain since those keys are not used directly.
Users will be able to monitor their private balances and take the following
actions:
* Transfer from public account to their own private balance
* Transfer from one of their private accounts to one of their private contacts
* Transfer from one of their private accounts to any public account
* Register a new account using a private balance.
* Receive a private transfer from a 3rd party given a transfer receipt.
# Implementation Aspects
This proposal will require the use of this library to perform the necessary
crypto operations in javascript (see [1]).
# Backup Considerations
Because private transfers are not recoverable from blockchain data alone,
backups of your wallet after receiving a new private transfer are required.
# Discussion
For the best user experience this proposal is best combined with proposal for
*hosted wallets* (to be defined).
# Copyright
This document is placed in the public domain.
# See Also
* [1] https://github.com/arhag/crypto-experiments/tree/emscripten/emscripten/libsecp256k1-demo