[ann] Bitcoin Core 0.9.3 has been released

[ann] Bitcoin Core 0.9.3 has been released
2014-09-27 19:32 ` Melvin Carvalho
  
From: Wladimir @ 2014-09-27 13:56 UTC (permalink / raw)
  To: Bitcoin Dev

Bitcoin Core version 0.9.3 is now available from:

  https://bitcoin.org/bin/0.9.3/

This is a new minor version release, bringing only bug fixes and updated
translations. Upgrading to this release is recommended.

Please report bugs using the issue tracker at github:

  https://github.com/bitcoin/bitcoin/issues

Upgrading and downgrading
==========================

How to Upgrade
--------------

If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
bitcoind/bitcoin-qt (on Linux).

If you are upgrading from version 0.7.2 or earlier, the first time you run
0.9.3 your blockchain files will be re-indexed, which will take anywhere from
30 minutes to several hours, depending on the speed of your machine.

Downgrading warnings
--------------------

The 'chainstate' for this release is not always compatible with previous
releases, so if you run 0.9.x and then decide to switch back to a
0.8.x release you might get a blockchain validation error when starting the
old release (due to 'pruned outputs' being omitted from the index of
unspent transaction outputs).

Running the old release with the -reindex option will rebuild the chainstate
data structures and correct the problem.

Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
the blockchain for missing spent coins, which will take a long time (tens
of minutes on a typical machine).

0.9.3 Release notes
=======================

RPC:
- Avoid a segfault on getblock if it can't read a block from disk
- Add paranoid return value checks in base58

Protocol and network code:
- Don't poll showmyip.com, it doesn't exist anymore
- Add a way to limit deserialized string lengths and use it
- Add a new checkpoint at block 295,000
- Increase IsStandard() scriptSig length
- Avoid querying DNS seeds, if we have open connections
- Remove a useless millisleep in socket handler
- Stricter memory limits on CNode
- Better orphan transaction handling
- Add `-maxorphantx=<n>` and `-maxorphanblocks=<n>` options for
control over the maximum orphan transactions and blocks

Wallet:
- Check redeemScript size does not exceed 520 byte limit
- Ignore (and warn about) too-long redeemScripts while loading wallet

GUI:
- fix 'opens in testnet mode when presented with a BIP-72 link with no fallback'
- AvailableCoins: acquire cs_main mutex
- Fix unicode character display on MacOSX

Miscellaneous:
- key.cpp: fail with a friendlier message on missing ssl EC support
- Remove bignum dependency for scripts
- Upgrade OpenSSL to 1.0.1i (see
https://www.openssl.org/news/secadv_20140806.txt - just to be sure, no
critical issues for Bitcoin Core)
- Upgrade miniupnpc to 1.9.20140701
- Fix boost detection in build system on some platforms

Credits
--------

Thanks to everyone who contributed to this release:

- Andrew Poelstra
- Cory Fields
- Gavin Andresen
- Jeff Garzik
- Johnathan Corgan
- Julian Haight
- Michael Ford
- Pavel Vasin
- Peter Todd
- phantomcircuit
- Pieter Wuille
- Rose Toomey
- Ruben Dario Ponticelli
- shshshsh
- Trevin Hofmann
- Warren Togami
- Wladimir J. van der Laan
- Zak Wilcox

As well as everyone that helped translating on
[Transifex](https://www.transifex.com/projects/p/bitcoin/).



 permalink raw reply	[|nested]
2014-09-27 13:56 [Bitcoin-development] [ann] Bitcoin Core 0.9.3 has been released Wladimir

  2014-09-27 19:39   ` Peter Todd
  
From: Melvin Carvalho @ 2014-09-27 19:32 UTC (permalink / raw)
  To: Wladimir;  Bitcoin Dev

[-- Attachment #1: Type: text/plain, Size: 4454 bytes --]

On 27 September 2014 15:56, Wladimir <laanwj@gmail•com> wrote:

> Bitcoin Core version 0.9.3 is now available from:
>
>   https://bitcoin.org/bin/0.9.3/
>
> This is a new minor version release, bringing only bug fixes and updated
> translations. Upgrading to this release is recommended.
>
> Please report bugs using the issue tracker at github:
>
>   https://github.com/bitcoin/bitcoin/issues
>
> Upgrading and downgrading
> ==========================
>
> How to Upgrade
> --------------
>
> If you are running an older version, shut it down. Wait until it has
> completely
> shut down (which might take a few minutes for older versions), then run the
> installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac)
> or
> bitcoind/bitcoin-qt (on Linux).
>
> If you are upgrading from version 0.7.2 or earlier, the first time you run
> 0.9.3 your blockchain files will be re-indexed, which will take anywhere
> from
> 30 minutes to several hours, depending on the speed of your machine.
>
> Downgrading warnings
> --------------------
>
> The 'chainstate' for this release is not always compatible with previous
> releases, so if you run 0.9.x and then decide to switch back to a
> 0.8.x release you might get a blockchain validation error when starting the
> old release (due to 'pruned outputs' being omitted from the index of
> unspent transaction outputs).
>
> Running the old release with the -reindex option will rebuild the
> chainstate
> data structures and correct the problem.
>
> Also, the first time you run a 0.8.x release on a 0.9 wallet it will rescan
> the blockchain for missing spent coins, which will take a long time (tens
> of minutes on a typical machine).
>
> 0.9.3 Release notes
> =======================
>
> RPC:
> - Avoid a segfault on getblock if it can't read a block from disk
> - Add paranoid return value checks in base58
>
> Protocol and network code:
> - Don't poll showmyip.com, it doesn't exist anymore
> - Add a way to limit deserialized string lengths and use it
> - Add a new checkpoint at block 295,000
> - Increase IsStandard() scriptSig length
> - Avoid querying DNS seeds, if we have open connections
> - Remove a useless millisleep in socket handler
> - Stricter memory limits on CNode
> - Better orphan transaction handling
> - Add `-maxorphantx=<n>` and `-maxorphanblocks=<n>` options for
> control over the maximum orphan transactions and blocks
>
> Wallet:
> - Check redeemScript size does not exceed 520 byte limit
> - Ignore (and warn about) too-long redeemScripts while loading wallet
>
> GUI:
> - fix 'opens in testnet mode when presented with a BIP-72 link with no
> fallback'
> - AvailableCoins: acquire cs_main mutex
> - Fix unicode character display on MacOSX
>
> Miscellaneous:
> - key.cpp: fail with a friendlier message on missing ssl EC support
> - Remove bignum dependency for scripts
> - Upgrade OpenSSL to 1.0.1i (see
> https://www.openssl.org/news/secadv_20140806.txt - just to be sure, no
> critical issues for Bitcoin Core)
> - Upgrade miniupnpc to 1.9.20140701
> - Fix boost detection in build system on some platforms
>
> Credits
> --------
>
> Thanks to everyone who contributed to this release:
>
> - Andrew Poelstra
> - Cory Fields
> - Gavin Andresen
> - Jeff Garzik
> - Johnathan Corgan
> - Julian Haight
> - Michael Ford
> - Pavel Vasin
> - Peter Todd
> - phantomcircuit
> - Pieter Wuille
> - Rose Toomey
> - Ruben Dario Ponticelli
> - shshshsh
> - Trevin Hofmann
> - Warren Togami
> - Wladimir J. van der Laan
> - Zak Wilcox
>
> As well as everyone that helped translating on
> [Transifex](https://www.transifex.com/projects/p/bitcoin/).
>

Great work!

Apologies if this has been covered.  But I was curious about:

- Increase IsStandard() scriptSig length

Is there some place I read more to understand this change?


>
>
> ------------------------------------------------------------------------------
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
>
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists•sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>

[-- Attachment #2: Type: text/html, Size: 5987 bytes --]

 permalink raw reply	[|nested]
2014-09-27 19:32 ` Melvin Carvalho

  
From: Peter Todd @ 2014-09-27 19:39 UTC (permalink / raw)
  To: Melvin Carvalho;  Bitcoin Dev

[-- Attachment #1: Type: text/plain, Size: 2538 bytes --]

On Sat, Sep 27, 2014 at 09:32:02PM +0200, Melvin Carvalho wrote:
> > As well as everyone that helped translating on
> > [Transifex](https://www.transifex.com/projects/p/bitcoin/).
> >
> 
> Great work!
> 
> Apologies if this has been covered.  But I was curious about:
> 
> - Increase IsStandard() scriptSig length
> 
> Is there some place I read more to understand this change?

commit 84fe0ffd685627689bbbcd14cf419938f2a100b2
Author: Peter Todd <pete@petertodd•org>
Date:   Mon Mar 10 16:38:44 2014 -0400

    Increase IsStandard() scriptSig length

    Removes the limits on number of pubkeys for P2SH CHECKMULTISIG outputs.
    Previously with the 500 byte scriptSig limit there were odd restrictions
    where even a 1-of-12 P2SH could be spent in a standard transaction(1),
    yet multisig scriptPubKey's requiring more signatures quickly ran out of
    scriptSig space.

    From a "stuff-data-in-the-blockchain" point of view not much has changed
    as with the prior commit now only allowing the dummy value to be null
    the newly allowed scriptSig space can only be used for signatures. In
    any case, just using more outputs is trivial and doesn't cost much.

    1) See 779b519480d8c5346de6e635119c7ee772e97ec872240c45e558f582a37b4b73
       Mined by BTC Guild.

diff --git a/src/main.cpp b/src/main.cpp
index a0b6842..63b87b8 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -513,10 +513,14 @@ bool IsStandardTx(const CTransaction& tx, string& reason)

     BOOST_FOREACH(const CTxIn& txin, tx.vin)
     {
-        // Biggest 'standard' txin is a 3-signature 3-of-3 CHECKMULTISIG
-        // pay-to-script-hash, which is 3 ~80-byte signatures, 3
-        // ~65-byte public keys, plus a few script ops.
-        if (txin.scriptSig.size() > 500) {
+        // Biggest 'standard' txin is a 15-of-15 P2SH multisig with compressed
+        // keys. (remember the 520 byte limit on redeemScript size) That works
+        // out to a (15*(33+1))+3=513 byte redeemScript, 513+1+15*(73+1)=1624
+        // bytes of scriptSig, which we round off to 1650 bytes for some minor
+        // future-proofing. That's also enough to spend a 20-of-20
+        // CHECKMULTISIG scriptPubKey, though such a scriptPubKey is not
+        // considered standard)
+        if (txin.scriptSig.size() > 1650) {
             reason = "scriptsig-size";
             return false;
         }

-- 
'peter'[:-1]@petertodd.org
0000000000000000188beaebec22c62bcff1a5d92e5d21432e797ec717cfed3a

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 650 bytes --]

 permalink raw reply	[|nested]