pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Update to 0.13.1



Module Name:	pkgsrc-wip
Committed By:	Greg Troxel <gdt%ir.bbn.com@localhost>
Pushed By:	gdt
Date:		Tue Nov 29 16:25:01 2016 -0500
Changeset:	b25ec4bfa3bfdd7266a6177ab46268632b3721b7

Modified Files:
	bitcoin/Makefile
	bitcoin/distinfo

Log Message:
Update to 0.13.1

Upstream 0.13.1 notes:

Segregated witness soft fork
----------------------------

Segregated witness (segwit) is a soft fork that, if activated, will
allow transaction-producing software to separate (segregate) transaction
signatures (witnesses) from the part of the data in a transaction that is
covered by the txid.

Null dummy soft fork
-------------------

Combined with the segwit soft fork is an additional change that turns a
long-existing network relay policy into a consensus rule. The
`OP_CHECKMULTISIG` and `OP_CHECKMULTISIGVERIFY` opcodes consume an extra
stack element ("dummy element") after signature validation. The dummy
element is not inspected in any manner, and could be replaced by any
value without invalidating the script.

Upstream 0.13.0 notes:

Database cache memory increased
--------------------------------

As a result of growth of the UTXO set, performance with the prior default
database cache of 100 MiB has suffered.
For this reason the default was changed to 300 MiB in this release.

bitcoin-cli: arguments privacy
------------------------------

The RPC command line client gained a new argument, `-stdin`
to read extra arguments from standard input, one per line until EOF/Ctrl-D.

It is recommended to use this for sensitive information such as wallet
passphrases, as command-line arguments can usually be read from the process
table by any user on the system.

C++11 and Python 3
------------------

Various code modernizations have been done. The Bitcoin Core code base has
started using C++11. This means that a C++11-capable compiler is now needed for
building. Effectively this means GCC 4.7 or higher, or Clang 3.3 or higher.

For running the functional tests in `qa/rpc-tests`, Python3.4 or higher is now
required.

Compact Block support (BIP 152)
-------------------------------

Support for block relay using the Compact Blocks protocol has been implemented
in PR 8068.

Hierarchical Deterministic Key Generation
-----------------------------------------

Newly created wallets will use hierarchical deterministic key generation
according to BIP32 (keypath m/0'/0'/k').
Existing wallets will still use traditional key generation.

Segregated Witness
------------------

The code preparations for Segregated Witness ("segwit"), as described in [BIP
141](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki), [BIP
143](https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki), [BIP
144](https://github.com/bitcoin/bips/blob/master/bip-0144.mediawiki), and [BIP
145](https://github.com/bitcoin/bips/blob/master/bip-0145.mediawiki) are
finished and included in this release.  However, BIP 141 does not yet specify
activation parameters on mainnet, and so this release does not support segwit
use on mainnet.  Testnet use is supported, and after BIP 141 is updated with
proposed parameters, a future release of Bitcoin Core is expected that
implements those parameters for mainnet.

Mining transaction selection ("Child Pays For Parent")
------------------------------------------------------

The mining transaction selection algorithm has been replaced with an algorithm
that selects transactions based on their feerate inclusive of unconfirmed
ancestor transactions.  This means that a low-fee transaction can become more
likely to be selected if a high-fee transaction that spends its outputs is
relayed.

Reindexing changes
------------------

In earlier versions, reindexing did validation while reading through the block
files on disk. These two have now been split up, so that all blocks are known
before validation starts. This was necessary to make certain optimizations that
are available during normal synchronizations also available during reindexing.

Removal of internal miner
--------------------------

As CPU mining has been useless for a long time, the internal miner has been
removed in this release, and replaced with a simpler implementation for the
test framework.

New bytespersigop implementation
--------------------------------

The former implementation of the bytespersigop filter accidentally broke bare
multisig (which is meant to be controlled by the `permitbaremultisig` option),
since the consensus protocol always counts these older transaction forms as 20
sigops for backwards compatibility. Simply fixing this bug by counting more
accurately would have reintroduced a vulnerability. It has therefore been
replaced with a new implementation that rather than filter such transactions,
instead treats them (for fee purposes only) as if they were in fact the size
of a transaction actually using all 20 sigops.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=b25ec4bfa3bfdd7266a6177ab46268632b3721b7

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 bitcoin/Makefile | 2 +-
 bitcoin/distinfo | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diffs:
diff --git a/bitcoin/Makefile b/bitcoin/Makefile
index 1f7e30e..e6eb4f8 100644
--- a/bitcoin/Makefile
+++ b/bitcoin/Makefile
@@ -1,7 +1,7 @@
 # $NetBSD$
 
 # TODO: update to latest release
-DISTNAME=       bitcoin-0.12.1
+DISTNAME=       bitcoin-0.13.1
 CATEGORIES=	finance
 MASTER_SITES=   ${MASTER_SITE_GITHUB:=bitcoin/}
 GITHUB_TAG=     v${PKGVERSION_NOREV}
diff --git a/bitcoin/distinfo b/bitcoin/distinfo
index d81f5ba..79e8f44 100644
--- a/bitcoin/distinfo
+++ b/bitcoin/distinfo
@@ -1,8 +1,8 @@
 $NetBSD$
 
-SHA1 (bitcoin-0.12.1.tar.gz) = a4aa233bf4587169925c6b7c1dfc288ef3b0bc40
-RMD160 (bitcoin-0.12.1.tar.gz) = c556b0a6cf61587d05eb046aec20c18f035d0ebb
-SHA512 (bitcoin-0.12.1.tar.gz) = a79b88c505c9b53affaf305e9a37d4fc3574c88df816fae5e0a3164692b5f61c0b17b4fb007c86fe69e6e95d1745b592c12a7cbd4996cfc6d7e7a0f207668912
-Size (bitcoin-0.12.1.tar.gz) = 6751284 bytes
+SHA1 (bitcoin-0.13.1.tar.gz) = c61dbb3a89d452e83e4ce454ee677c64dfda46b3
+RMD160 (bitcoin-0.13.1.tar.gz) = 9c6df67f2c835a785cea7d57fdae271d141f448d
+SHA512 (bitcoin-0.13.1.tar.gz) = 05c5d9454c3256912bab422ad79b289a7bd67730f7ff4f5f50d010ec5a1eda89b6eb84f688cda875e950a832f8c427b22119e8bb678fc4ee5213272e22bc45d5
+Size (bitcoin-0.13.1.tar.gz) = 5952081 bytes
 SHA1 (patch-src_leveldb_port_port__posix.h) = 6a3cde12951b9801e8ffe19b6134ca48ad0d876c
 SHA1 (patch-src_netbase.cpp) = 4de772e3b5f23ef6c29fedc70455f7a8705df591


Home | Main Index | Thread Index | Old Index