Updated ascii art + btcpd security-warnings.md

This commit is contained in:
Jon Layton 2018-03-08 15:52:38 -06:00
parent 9ee1d690dc
commit dcd729ed12
3 changed files with 51 additions and 33 deletions

View File

@ -4,8 +4,8 @@ Security Warnings
Security Audit
--------------
Zcash has been subjected to a formal third-party security review. For security
announcements, audit results and other general security information, see
Bitcoin Private's originally forked codebase, Zcash, has been subjected to a formal third-party security review. For security
announcements, audit results, and other general security information, see
https://z.cash/support/security.html
x86-64 Only
@ -47,7 +47,7 @@ runnng on your OS can read your wallet.dat file.
Side-Channel Attacks
--------------------
This implementation of Zcash is not resistant to side-channel attacks. You
This implementation of Bitcoin Private is not resistant to side-channel attacks. You
should assume (even unprivileged) users who are running on the hardware, or who
are physically near the hardware, that your `btcpd` process is running on will
be able to:
@ -84,7 +84,7 @@ Users should also refrain from changing the default setting that only allows RPC
Block Chain Reorganization: Major Differences
-------------------------------------------------
Users should be aware of new behavior in Zcash that differs significantly from Bitcoin: in the case of a block chain reorganization, Bitcoin's coinbase maturity rule helps to ensure that any reorganization shorter than the maturity interval will not invalidate any of the rolled-back transactions. Zcash keeps Bitcoin's 100-block maturity interval for generation transactions, but because JoinSplits must be anchored within a block, this provides more limited protection against transactions becoming invalidated. In the case of a block chain reorganization for Zcash, all JoinSplits which were anchored within the reorganization interval and any transactions that depend on them will become invalid, rolling back transactions and reverting funds to the original owner. The transaction rebroadcast mechanism inherited from Bitcoin will not successfully rebroadcast transactions depending on invalidated JoinSplits if the anchor needs to change. The creator of an invalidated JoinSplit, as well as the creators of all transactions dependent on it, must rebroadcast the transactions themselves.
Users should be aware of new behavior in Bitcoin Private (and Zcash) that differs significantly from Bitcoin: in the case of a block chain reorganization, Bitcoin's coinbase maturity rule helps to ensure that any reorganization shorter than the maturity interval will not invalidate any of the rolled-back transactions. BTCP & Zcash keep Bitcoin's 100-block maturity interval for generation transactions, but because JoinSplits must be anchored within a block, this provides more limited protection against transactions becoming invalidated. In the case of a block chain reorganization for BTCP & Zcash, all JoinSplits which were anchored within the reorganization interval and any transactions that depend on them will become invalid, rolling back transactions and reverting funds to the original owner. The transaction rebroadcast mechanism inherited from Bitcoin will not successfully rebroadcast transactions depending on invalidated JoinSplits if the anchor needs to change. The creator of an invalidated JoinSplit, as well as the creators of all transactions dependent on it, must rebroadcast the transactions themselves.
Receivers of funds from a JoinSplit can mitigate the risk of relying on funds received from transactions that may be rolled back by using a higher minconf (minimum number of confirmations).

View File

@ -69,31 +69,49 @@ void TriggerRefresh();
void ConnectMetricsScreen();
void ThreadShowMetricsScreen();
/**
* Heart image: https://commons.wikimedia.org/wiki/File:Heart_coraz%C3%B3n.svg
* License: CC BY-SA 3.0
*
* Rendering options:
* Logo: img2txt -W 90 -H 20 -f utf8 -d none -g design.png >> design.ansi
*/
/* https://github.com/hit9/img2txt */
const std::string METRICS_ART =
" ::: ::: \n"
" ;...:::....% \n"
" X8;..................;:X \n"
" ......;8t:... ...:;8;....; ;888888 %88888S \n"
" t;....: ... ... :S 8 :8 @ : \n"
" S....: ... ... S S  : \n"
" t...; ;.................. %  \n"
" ....t %.................;  X \n"
" 8.... :......:  X \n"
" ....; :......:   \n"
" ....; ;.....;S @ : \n"
" ....; :......:  @ \n"
" ....: ........;:::::::::: : 8 \n"
" ....t ...................; % :@ \n"
" ;....: X... X...X S 8 \n"
" 8....;S ... ... %S S 8 \n"
" S;......% %... ...%Xt:.....S S 8 \n"
" ;:....................:; 8 S \n"
" 8...:::;...: \n"
" ... ... \n";
std::string("") +
" \n"+
" ........ \n"+
" .*(%%%%%%%%%%%%%%%%%%%%#(, \n"+
" .*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(* \n"+
" ,%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(. \n"+
" *#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%# \n"+
" (%%%%%%%%%%%%%%%%%%%%%%%%%,/#%%%%%%%%%%%%%%%%%%%%%%%, \n"+
" #%%%%%%%%%%%%%%%%%%%%%%%%%%/ (%%%##%%%%%%%%%%%%%%%%%, \n"+
" (%%%%%%%%%%%%%%%%%%%%%%%%%%%# *%%%%. ,%%%%%%%%%%%%%%%, \n"+
" *%%%%%%%%%%%%%%%%%%*(#%%%%%%%%, #%%%/ #%%%%%%%%%%%%%%%%% \n"+
" /%%%%%%%%%%%%%%%%%%/ .,(# .%%%% .%%%%%%%%%%%%%%%%%%%* \n"+
" %%%%%%%%%%%%%%%%%%%% ,/#( /%%%%%%%%%%%%%%%%%%%%* \n"+
" .#%%%%%%%%%%%%%%%%%%%%#(,. .#%%%%%%%%%%%%%%%%%%%%%( \n"+
" %%%%%%%%%%%%%%%%%%%%%%%%%%%# .(%%%%%%%%%%%%%%%%%%* \n"+
" (%%%%%%%%%%%%%%%%%%%%%%%%%%%% *. #%%%%%%%%%%%%%%%%/ \n"+
" /%%%%%%%%%%%%%%%%%%%%%%%%%%%%/ /%%%%%%(, %%%%%%%%%%%%%%%% \n"+
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%# ,%%%%%%%%%%# #%%%%%%%%%%%%%%/ \n"+
" *%%%%%%%%%%%%%%%%%%%%%%%%%%%%, #%%%%%%%%%%%# *%%%%%%%%%%%%%%%. \n"+
" #%%%%%%%%%%%%%%%%%%%%%%%%%%%% .%%%%%%%%%%%%# *%%%%%%%%%%%%%%%( \n"+
" .%%%%%%%%%%%%%%%%%%%%%%%%%%%%/ /%%%%%%%%%%%% #%%%%%%%%%%%%%%%# \n"+
" *%%%%%%%%%%%%%%%%%%%%%%%%%%%# .,**,. #%%%%%%%%%%%%%%%%% \n"+
" *%%%%%%%%%%%%%%%%%%%%%%%%%%%, ,%%%%%%%%%%%%%%%%%%% \n"+
" *%%%%%%%%%%%%%%%%%%%%%%%%%%% *. ,/%%%%%%%%%%%%%%%%%%%%%% \n"+
" .%%%%%%%%%%%%%%%%%%%%%%%%%%/ /%%%%%%%%%%%%%%%%%%%(,,%%%%%%%%%%%%%%%%%%%# \n"+
" #%%%%%%%%%%%%%%%%%%%%%%%%# ,%%%%%%%%%%%%* (%%%%%%%%%%%%%%%%%/ \n"+
" ,%%%%%%%%%%%%%%%%%%%%%%%%, #%%%%%%%%%%%%%# %%%%%%%%%%%%%%%%%. \n"+
" %%%%%%%%%%%%%%%%%#*(%%%# %%%%%%%%%%%%%%%/ #%%%%%%%%%%%%%%%/ \n"+
" /%%%%%%%%%%%%%%%( /%%%%%%%%%%%%%%#. #%%%%%%%%%%%%%%% \n"+
" (%%%%%%%%%%%%%% ,%%%%%%%%%%%%%%( %%%%%%%%%%%%%%%* \n"+
" %%%%%%%%%%%%%(,. #%%%/ (%%%%%%%%%%%%%%* \n"+
" .#%%%%%%%%%%%%%%%%%%#/, .%%%% #%%%%%%%%%%%%%%( \n"+
" %%%%%%%%%%%%%%%%%%%%%( (%%%# /%%%%%%%%%%%%%%%* \n"+
" /%%%%%%%%%%%%%%%%%%#. *%%%%, . .*%%%%%%%%%%%%%%%%%, \n"+
" ,%%%%%%%%%%%%%%%%%* #%%%/ (%%%%%%%%%%%%%%%%%%%%%%%%%%%%# \n"+
" (%%%%%%%%%%%%%%% .%%%%. %%%%%%%%%%%%%%%%%%%%%%%%%%%%. \n"+
" (%%%%%%%%%%%%%#(,. (%%%# /%%%%%%%%%%%%%%%%%%%%%%%%%%, \n"+
" /%%%%%%%%%%%%%%%%%%%%#,. .%%%%%%%%%%%%%%%%%%%%%%%%%. \n"+
" ,#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%( \n"+
" .#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/ \n"+
" ,#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/, \n"+
" ,/#%%%%%%%%%%%%%%%%%%%#/. \n"+
" ..... ";

View File

@ -891,8 +891,8 @@ void SetThreadPriority(int nPriority)
std::string PrivacyInfo()
{
return "\n" +
FormatParagraph(strprintf(_("In order to ensure you are adequately protecting your privacy when using Bitcoin Private, please see <%s>."),
"https://z.cash/support/security/index.html")) + "\n";
FormatParagraph(strprintf(_("To ensure you are fully protecting your privacy when running BTCP, see <%s>."),
"doc/security-warnings.md")) + "\n";
}
std::string LicenseInfo()