From df563b83416f23f8f99f8e9e52115d8a7e405733 Mon Sep 17 00:00:00 2001 From: Fabian Schuh Date: Wed, 16 Dec 2015 12:37:08 +0100 Subject: [PATCH] BSIP-0007 --- bsip-0007.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 bsip-0007.md diff --git a/bsip-0007.md b/bsip-0007.md new file mode 100644 index 0000000..306a174 --- /dev/null +++ b/bsip-0007.md @@ -0,0 +1,63 @@ + BSIP: 0007 + Title: Privacy (STEALTH) Mode + Authors: Daniel Larimer + Fabian Schuh + Status: Draft + Type: Informational + Created: 2015-12-16 + Discussion: + + + 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