BSIP-0007
This commit is contained in:
parent
689a039236
commit
df563b8341
1 changed files with 63 additions and 0 deletions
63
bsip-0007.md
Normal file
63
bsip-0007.md
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
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
|
Loading…
Reference in a new issue