Browse Source

Merge branch 'master' into dPoW

pull/28/head
jl777 7 years ago
committed by GitHub
parent
commit
a487e5a1d3
  1. 4
      README.md
  2. 2
      contrib/debian/changelog
  3. 14
      contrib/debian/control
  4. 2
      depends/packages/libcurl.mk
  5. 1
      src/Makefile.am
  6. 34
      zcutil/build-debian-package.sh

4
README.md

@ -145,15 +145,19 @@ mv ~/.komodo ~/.komodo.old && mkdir ~/.komodo && cp ~/.komodo.old/komodo.conf ~/
komodod now has jumblr_deposit and jumblr_secret RPC calls.
Jumblr works like described previously where all the nodes with jumblr active synchronize their tx activity during the same block to maximize the mixing effect. However, unlike all other mixers/tumblers, you never give up control of your coins to anybody else. JUMBLR uses a one to many allocation of funds, ie. one deposit address and many secret addresses. You can always run multiple komodod daemons to get multiple active deposit addresses.
JUMBLR implements t -> z, z -> z and z -> t transactions to maximize privacy of the destination t (transparent) address. So while it is transparent, its first activity is funds coming from an untracable z address.
Which of the three stages is done is randomly selected at each turn. Also when there is more than one possible transaction at the selected stage, a random one is selected. This randomization prevents analyzing incoming z ->t transactions by its size to correlate it to the originating address.
jumblr_deposit <depositaddr> designates the deposit address as the jumblr deposit address for that session. You can select an address that already has funds in it and it will immediately start jumblr process. If there are no funds, it will wait until you send funds to it.
There are three sizes of a jumblr transaction: 10 KMD, 100 KMD and 1000 KMD. There is also a fixed interval of blocks where all jumblr nodes are active. Currently it is set to be 10, but this is subject to change. Only during every 10*10 blocks are the largest 1000 KMD transactions processed, so this concentrates all the large transactions every N*N blocks.
jumblr_secret <secretaddress> notifies JUMBLR where to send the final z -> t transactions. In order to allow larger accounts to obtain privacy, up to 777 secret addresses are supported. Whenever a z -> t stage is activated, a random secret address from the list of the then active secret addresses is selected.
Practical Advice:
Obtaining privacy used to be very difficult. JUMBLR makes it as simple as issuing two command line calls. Higher level layers can be added to help manage the addresses, ie. linking them at the passphrase level. Such matters are left to each implementation.
Once obtained, it is very easy to lose all the privacy. With a single errant transaction that combines some previously used address and the secretaddress, well, the secretaddress is no longer so private.
The advice is to setup a totally separate node!
This might seem a bit drastic, but if you want to maintain privacy, it is best to make it look like all the transactions are coming from a different node. The easiest way for most people to do this is to actually have a different node.
It can be a dedicated laptop (recommended) or a VPS (for smaller amounts) with a totally fresh komodod wallet. Generate an address on this wallet and use that as the jumblr_secret address on your main node. As the JUMBLR operates funds will teleport into your secret node's address. If you are careful and never use the same IP address for both your nodes, you will be able to maintain very good privacy.
Of course, don't send emails that link the two accounts together! Dont use secret address funds for home delivery purchases! Etc. There are many ways to lose the privacy, just think about what linkages can be dont at the IP and blockchain level and that should be a useful preparation.
What if you have 100,000 KMD and you dont want others to know you are such a whale?

2
contrib/debian/changelog

@ -1,4 +1,4 @@
zcash (1.0.8) jessie; urgency=medium
komodo (1.0.8) jessie; urgency=medium
* 1.0.8 release.

14
contrib/debian/control

@ -1,21 +1,21 @@
Source: zcash
Source: komodo
Section: utils
Priority: optional
Maintainer: Zcash Company <team@z.cash>
Homepage: https://z.cash
Homepage: https://komodoplatform.com/
Build-Depends: autoconf, automake, bsdmainutils, build-essential,
git, g++-multilib, libc6-dev, libtool,
m4, ncurses-dev, pkg-config, python,
unzip, wget, zlib1g-dev
Vcs-Git: https://github.com/zcash/zcash.git
Vcs-Browser: https://github.com/zcash/zcash
Vcs-Git: https://github.com/jl777/komodo
Vcs-Browser: https://github.com/jl777/komodo
Package: zcash
Package: komodo
Architecture: amd64
Depends: ${shlibs:Depends}
Description: HTTPS for money.
Based on Bitcoin's code, it intends to offer a far higher standard
of privacy and anonymity through a sophisticiated zero-knowledge
proving scheme which preserves confidentiality of transaction metadata.
This package provides the daemon, zcashd, and the CLI tool,
zcash-cli, to interact with the daemon.
This package provides the daemon, komodod, and the CLI tool,
komodo-cli, to interact with the daemon.

2
depends/packages/libcurl.mk

@ -3,6 +3,7 @@ $(package)_version=7.54.0
$(package)_download_path=https://curl.haxx.se/download
$(package)_file_name=curl-$($(package)_version).tar.gz
$(package)_sha256_hash=a84b635941c74e26cce69dd817489bec687eb1f230e7d1897fc5b5f108b59adf
$(package)_config_opts_linux=--disable-shared --enable-static --prefix=$(host_prefix)
$(package)_config_opts_mingw32=--enable-mingw --disable-shared --enable-static --prefix=$(host_prefix) --host=x86_64-w64-mingw32
$(package)_config_opts_darwin=--disable-shared --enable-static --prefix=$(host_prefix)
@ -29,6 +30,7 @@ define $(package)_build_cmds
endef
endif
define $(package)_stage_cmds
$(MAKE) DESTDIR=$($(package)_staging_dir) install
endef

1
src/Makefile.am

@ -32,6 +32,7 @@ else
LIBBITCOIN_SERVER=libbitcoin_server.a
endif
LIBBITCOIN_WALLET=libbitcoin_wallet.a
LIBBITCOIN_COMMON=libbitcoin_common.a
LIBBITCOIN_CLI=libbitcoin_cli.a

34
zcutil/build-debian-package.sh

@ -5,8 +5,8 @@
set -e
set -x
BUILD_PATH="/tmp/zcbuild"
PACKAGE_NAME="zcash"
BUILD_PATH="/tmp/kmdbuild"
PACKAGE_NAME="komodo"
SRC_PATH=`pwd`
SRC_DEB=$SRC_PATH/contrib/debian
SRC_DOC=$SRC_PATH/doc
@ -17,7 +17,7 @@ if [ ! -d $BUILD_PATH ]; then
mkdir $BUILD_PATH
fi
PACKAGE_VERSION=$($SRC_PATH/src/zcashd --version | grep version | cut -d' ' -f4 | tr -d v)
PACKAGE_VERSION=$($SRC_PATH/src/komodod --version | grep version | cut -d' ' -f4 | tr -d v)
BUILD_DIR="$BUILD_PATH/$PACKAGE_NAME-$PACKAGE_VERSION-amd64"
if [ -d $BUILD_DIR ]; then
@ -28,7 +28,7 @@ DEB_BIN=$BUILD_DIR/usr/bin
DEB_CMP=$BUILD_DIR/usr/share/bash-completion/completions
DEB_DOC=$BUILD_DIR/usr/share/doc/$PACKAGE_NAME
DEB_MAN=$BUILD_DIR/usr/share/man/man1
mkdir -p $BUILD_DIR/DEBIAN $DEB_CMP $DEB_BIN $DEB_DOC $DEB_MAN
mkdir -p $BUILD_DIR/DEBIAN $DEB_BIN $DEB_DOC
chmod 0755 -R $BUILD_DIR/*
# Package maintainer scripts (currently empty)
@ -37,32 +37,32 @@ chmod 0755 -R $BUILD_DIR/*
#cp $SRC_DEB/preinst $BUILD_DIR/DEBIAN
#cp $SRC_DEB/prerm $BUILD_DIR/DEBIAN
# Copy binaries
cp $SRC_PATH/src/zcashd $DEB_BIN
cp $SRC_PATH/src/zcash-cli $DEB_BIN
cp $SRC_PATH/zcutil/fetch-params.sh $DEB_BIN/zcash-fetch-params
cp $SRC_PATH/src/komodod $DEB_BIN
cp $SRC_PATH/src/komodo-cli $DEB_BIN
cp $SRC_PATH/zcutil/fetch-params.sh $DEB_BIN/komodo-fetch-params
# Copy docs
cp $SRC_PATH/doc/release-notes/release-notes-1.0.0.md $DEB_DOC/changelog
cp $SRC_DEB/changelog $DEB_DOC/changelog.Debian
cp $SRC_DEB/copyright $DEB_DOC
cp -r $SRC_DEB/examples $DEB_DOC
# Copy manpages
cp $SRC_DOC/man/zcashd.1 $DEB_MAN
cp $SRC_DOC/man/zcash-cli.1 $DEB_MAN
cp $SRC_DOC/man/zcash-fetch-params.1 $DEB_MAN
# Copy bash completion files
cp $SRC_PATH/contrib/bitcoind.bash-completion $DEB_CMP/zcashd
cp $SRC_PATH/contrib/bitcoin-cli.bash-completion $DEB_CMP/zcash-cli
#cp $SRC_DOC/man/zcashd.1 $DEB_MAN
#cp $SRC_DOC/man/zcash-cli.1 $DEB_MAN
#cp $SRC_DOC/man/zcash-fetch-params.1 $DEB_MAN
# Copy bash completion files TODO: fix them for komodo
#cp $SRC_PATH/contrib/bitcoind.bash-completion $DEB_CMP/komodod
#cp $SRC_PATH/contrib/bitcoin-cli.bash-completion $DEB_CMP/komodod-cli
# Gzip files
gzip --best -n $DEB_DOC/changelog
gzip --best -n $DEB_DOC/changelog.Debian
gzip --best -n $DEB_MAN/zcashd.1
gzip --best -n $DEB_MAN/zcash-cli.1
gzip --best -n $DEB_MAN/zcash-fetch-params.1
#gzip --best -n $DEB_MAN/zcashd.1
#gzip --best -n $DEB_MAN/zcash-cli.1
#gzip --best -n $DEB_MAN/zcash-fetch-params.1
cd $SRC_PATH/contrib
# Create the control file
dpkg-shlibdeps $DEB_BIN/zcashd $DEB_BIN/zcash-cli
dpkg-shlibdeps $DEB_BIN/komodod $DEB_BIN/komodo-cli
dpkg-gencontrol -P$BUILD_DIR
# Create the Debian package

Loading…
Cancel
Save