Re: [Bitcoin-development] Bitcoin Cooperative Proof-of-Stake whitpaper

2014-05-21 Thread Odinn Cyberguerrilla
 I completed a whitepaper for Bitcoin a proof-of-stake version which uses a
 single nomadic verifiable mint agent and distributed replication of a
 single blockchain by compensated full nodes to achieve 6-hop, sub-second
 transaction acknowledgement times. Plus it pays dividends to holders
 instead of wasting it on miners. Subsidized transaction fees are thus
 lower.


I look at this and agree of course that the nodes are decreasing, see,
https://getaddr.bitnodes.io/   But when I see stuff in the white paper
like misbehaving nodes in the context of an audit agent, a single
non-forking blockchain, the notion of Misbehaving nodes that would be
banned from the network so as to motivat(e) honest behavior, ~ really,
all of this does sound as though a sort of morality is being formulated
rather than a mathematical solution.

This is not to say that the white paper hasn't addressed a problem that
needs to be addressed, namely... the problem of the nodes disappearing,
and a few other things.  But to take that and then layer onto that the
issues associated with proof of stake... There does seem to be a simpler
way to address this and I think first without suggesting the complex issue
of some kind of thing that would involve dividends for those in a
proof-of-stake system, consensus achieved by stake-weighted voting, and so
forth, one would be better off removing all references to voting and
stake, and determining ways simply to incentivize more substantively those
who actually run a full node.  Additionally I am hesitant to characterize
behavior as has been described in the white paper, as it would seem that
(in such a system) there would be an inclination or a tendency to exclude
certain patterns or groups of participants rather than determine ways in
which all participants or potential peers can serve the network.




 https://docs.google.com/document/d/1C4m-MFnxw0JjDorzrKs_IRQRqD9ila79o0IDt6KsbcE


 Because the code is not yet written, this idea is half-baked so to speak.
 Comments appreciated on my project thread, which will be a development
 diary. I plan a hard fork of the Bitcoin blockchain in early 2016, after a
 year of public system testing, and conditioned on wide approval.

 https://bitcointalk.org/index.php?topic=584719.msg6397403#msg6397403

 -Steve

 Stephen L. Reed
 Austin, Texas, USA
 512.791.7860--
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.
 Get unparalleled scalability from the best Selenium testing platform
 available
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development




--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] DNS seeds unstable

2014-05-21 Thread Alex Kotenko
okay, I've set it up with bind forwarding requests to two dnsseeds running
on separate ports. Though I see a problem with testnet DNS seed itself. It
runs, but somehow it only returns one IP address. Exactly same DNS seeder
looking for mainnet nodes is working fine.

You can reach seeds through
mainnet seed:
dig @node.alexykot.me bitcoin-seed.alexykot.me A
or directly
dig -p 8353 @node.alexykot.me bitcoin-seed.alexykot.me A

testnet seed
dig @node.alexykot.me testnet-seed.alexykot.me A
or directly
dig -p 18353 @node.alexykot.me testnet-seed.alexykot.me A

So what can be the problem with testnet DNS seeder?


Best regards,
Alex Kotenko


2014-05-20 1:50 GMT+01:00 Robert McKay rob...@mckay.com:

 On Tue, 20 May 2014 01:44:29 +0100, Robert McKay wrote:
  On Mon, 19 May 2014 19:49:52 -0400, Jeff Garzik wrote:
  On Mon, May 19, 2014 at 4:36 PM, Robert McKay rob...@mckay.com
  wrote:
  It should be possible to configure bind as a DNS forwarder.. this
  can
  be done in a zone context.. then you can forward the different
  zones
  to
  different dnsseed daemons running on different non-public IPs or
  two
  different ports on the same IP (or on one single non-public IP
  since
  there's really no reason to expose the dnsseed directly daemon at
  all).
 
  Quite the opposite.  dnsseed data rotates through a lot of addresses
  if available.  Using the bind/zone-xfer system would result in fewer
  total addresses going through to the clients, thanks to the addition
  of caching levels that the bind/zone-xfer system brings.
 
  That said, if the choice is between no-service and bind, bind it is
  ;p
 
  Setting it up as a zone forwarder causes each request to go through
  to
  the dnsseed backend for each request.

 This stackoverflow describes a similar situation;

 http://stackoverflow.com/questions/15338232/how-to-forward-a-subzone

 you can additionally specify the port to forward too;

 http://www.zytrax.com/books/dns/ch7/queries.html#forwarders

 it should be possible to forward to different ports on 127.0.0.1 for
 each dnsseed instance.

 Rob


 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.
 Get unparalleled scalability from the best Selenium testing platform
 available
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] DNS seeds unstable

2014-05-21 Thread Andreas Schildbach
Great, thanks for this contribution!

Do you plan to have your seeds reachable on port 53 eventually?
Currently bitcoinj cannot deal with nonstandard ports I think.


On 05/21/2014 11:23 AM, Alex Kotenko wrote:
 okay, I've set it up with bind forwarding requests to two dnsseeds
 running on separate ports. Though I see a problem with testnet DNS seed
 itself. It runs, but somehow it only returns one IP address. Exactly
 same DNS seeder looking for mainnet nodes is working fine. 
 
 You can reach seeds through
 mainnet seed:
 dig @node.alexykot.me http://node.alexykot.me bitcoin-seed.alexykot.me
 http://bitcoin-seed.alexykot.me A
 or directly
 dig -p 8353 @node.alexykot.me http://node.alexykot.me
 bitcoin-seed.alexykot.me http://bitcoin-seed.alexykot.me A
 
 testnet seed
 dig @node.alexykot.me http://node.alexykot.me testnet-seed.alexykot.me
 http://testnet-seed.alexykot.me A
 or directly
 dig -p 18353 @node.alexykot.me http://node.alexykot.me
 testnet-seed.alexykot.me http://testnet-seed.alexykot.me A
 
 So what can be the problem with testnet DNS seeder?
 
 
 Best regards, 
 Alex Kotenko
 
 
 2014-05-20 1:50 GMT+01:00 Robert McKay rob...@mckay.com
 mailto:rob...@mckay.com:
 
 On Tue, 20 May 2014 01:44:29 +0100, Robert McKay wrote:
  On Mon, 19 May 2014 19:49:52 -0400, Jeff Garzik wrote:
  On Mon, May 19, 2014 at 4:36 PM, Robert McKay rob...@mckay.com
 mailto:rob...@mckay.com
  wrote:
  It should be possible to configure bind as a DNS forwarder.. this
  can
  be done in a zone context.. then you can forward the different
  zones
  to
  different dnsseed daemons running on different non-public IPs or
  two
  different ports on the same IP (or on one single non-public IP
  since
  there's really no reason to expose the dnsseed directly daemon at
  all).
 
  Quite the opposite.  dnsseed data rotates through a lot of addresses
  if available.  Using the bind/zone-xfer system would result in fewer
  total addresses going through to the clients, thanks to the addition
  of caching levels that the bind/zone-xfer system brings.
 
  That said, if the choice is between no-service and bind, bind it is
  ;p
 
  Setting it up as a zone forwarder causes each request to go through
  to
  the dnsseed backend for each request.
 
 This stackoverflow describes a similar situation;
 
 http://stackoverflow.com/questions/15338232/how-to-forward-a-subzone
 
 you can additionally specify the port to forward too;
 
 http://www.zytrax.com/books/dns/ch7/queries.html#forwarders
 
 it should be possible to forward to different ports on 127.0.0.1 for
 each dnsseed instance.
 
 Rob
 
 
 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.
 Get unparalleled scalability from the best Selenium testing platform
 available
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 mailto:Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development
 
 
 
 
 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.
 Get unparalleled scalability from the best Selenium testing platform available
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs
 
 
 
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development
 



--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] DNS seeds unstable

2014-05-21 Thread Alex Kotenko
Misunderstanding. Both seeds are available on port 53 via BIND forwarding.
Just also each DNS seed is available separately on it's own port.


Best regards,
Alex Kotenko


2014-05-21 12:03 GMT+01:00 Andreas Schildbach andr...@schildbach.de:

 Great, thanks for this contribution!

 Do you plan to have your seeds reachable on port 53 eventually?
 Currently bitcoinj cannot deal with nonstandard ports I think.


 On 05/21/2014 11:23 AM, Alex Kotenko wrote:
  okay, I've set it up with bind forwarding requests to two dnsseeds
  running on separate ports. Though I see a problem with testnet DNS seed
  itself. It runs, but somehow it only returns one IP address. Exactly
  same DNS seeder looking for mainnet nodes is working fine.
 
  You can reach seeds through
  mainnet seed:
  dig @node.alexykot.me http://node.alexykot.me bitcoin-seed.alexykot.me
  http://bitcoin-seed.alexykot.me A
  or directly
  dig -p 8353 @node.alexykot.me http://node.alexykot.me
  bitcoin-seed.alexykot.me http://bitcoin-seed.alexykot.me A
 
  testnet seed
  dig @node.alexykot.me http://node.alexykot.me testnet-seed.alexykot.me
  http://testnet-seed.alexykot.me A
  or directly
  dig -p 18353 @node.alexykot.me http://node.alexykot.me
  testnet-seed.alexykot.me http://testnet-seed.alexykot.me A
 
  So what can be the problem with testnet DNS seeder?
 
 
  Best regards,
  Alex Kotenko
 
 
  2014-05-20 1:50 GMT+01:00 Robert McKay rob...@mckay.com
  mailto:rob...@mckay.com:
 
  On Tue, 20 May 2014 01:44:29 +0100, Robert McKay wrote:
   On Mon, 19 May 2014 19:49:52 -0400, Jeff Garzik wrote:
   On Mon, May 19, 2014 at 4:36 PM, Robert McKay rob...@mckay.com
  mailto:rob...@mckay.com
   wrote:
   It should be possible to configure bind as a DNS forwarder.. this
   can
   be done in a zone context.. then you can forward the different
   zones
   to
   different dnsseed daemons running on different non-public IPs or
   two
   different ports on the same IP (or on one single non-public IP
   since
   there's really no reason to expose the dnsseed directly daemon at
   all).
  
   Quite the opposite.  dnsseed data rotates through a lot of
 addresses
   if available.  Using the bind/zone-xfer system would result in
 fewer
   total addresses going through to the clients, thanks to the
 addition
   of caching levels that the bind/zone-xfer system brings.
  
   That said, if the choice is between no-service and bind, bind it
 is
   ;p
  
   Setting it up as a zone forwarder causes each request to go through
   to
   the dnsseed backend for each request.
 
  This stackoverflow describes a similar situation;
 
  http://stackoverflow.com/questions/15338232/how-to-forward-a-subzone
 
  you can additionally specify the port to forward too;
 
  http://www.zytrax.com/books/dns/ch7/queries.html#forwarders
 
  it should be possible to forward to different ports on 127.0.0.1 for
  each dnsseed instance.
 
  Rob
 
 
 --
  Accelerate Dev Cycles with Automated Cross-Browser Testing - For
 FREE
  Instantly run your Selenium tests across 300+ browser/OS combos.
  Get unparalleled scalability from the best Selenium testing platform
  available
  Simple to use. Nothing to install. Get started now for free.
  http://p.sf.net/sfu/SauceLabs
  ___
  Bitcoin-development mailing list
  Bitcoin-development@lists.sourceforge.net
  mailto:Bitcoin-development@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/bitcoin-development
 
 
 
 
 
 --
  Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
  Instantly run your Selenium tests across 300+ browser/OS combos.
  Get unparalleled scalability from the best Selenium testing platform
 available
  Simple to use. Nothing to install. Get started now for free.
  http://p.sf.net/sfu/SauceLabs
 
 
 
  ___
  Bitcoin-development mailing list
  Bitcoin-development@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/bitcoin-development
 




 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.
 Get unparalleled scalability from the best Selenium testing platform
 available
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] DNS seeds unstable

2014-05-21 Thread Andreas Schildbach
Hmmm, not for me:

$ nslookup bitcoin-seed.alexykot.me
Server: 127.0.1.1
Address:127.0.1.1#53

** server can't find bitcoin-seed.alexykot.me: SERVFAIL

$ nslookup testnet-seed.alexykot.me
Server: 127.0.1.1
Address:127.0.1.1#53

** server can't find testnet-seed.alexykot.me: SERVFAIL


Can you look up in the logfile what requests I just made?



On 05/21/2014 01:10 PM, Alex Kotenko wrote:
 Misunderstanding. Both seeds are available on port 53 via BIND forwarding.
 Just also each DNS seed is available separately on it's own port.
 
 
 Best regards, 
 Alex Kotenko
 
 
 2014-05-21 12:03 GMT+01:00 Andreas Schildbach andr...@schildbach.de
 mailto:andr...@schildbach.de:
 
 Great, thanks for this contribution!
 
 Do you plan to have your seeds reachable on port 53 eventually?
 Currently bitcoinj cannot deal with nonstandard ports I think.
 
 
 On 05/21/2014 11:23 AM, Alex Kotenko wrote:
  okay, I've set it up with bind forwarding requests to two dnsseeds
  running on separate ports. Though I see a problem with testnet DNS
 seed
  itself. It runs, but somehow it only returns one IP address. Exactly
  same DNS seeder looking for mainnet nodes is working fine.
 
  You can reach seeds through
  mainnet seed:
  dig @node.alexykot.me http://node.alexykot.me
 http://node.alexykot.me bitcoin-seed.alexykot.me
 http://bitcoin-seed.alexykot.me
  http://bitcoin-seed.alexykot.me A
  or directly
  dig -p 8353 @node.alexykot.me http://node.alexykot.me
 http://node.alexykot.me
  bitcoin-seed.alexykot.me http://bitcoin-seed.alexykot.me
 http://bitcoin-seed.alexykot.me A
 
  testnet seed
  dig @node.alexykot.me http://node.alexykot.me
 http://node.alexykot.me testnet-seed.alexykot.me
 http://testnet-seed.alexykot.me
  http://testnet-seed.alexykot.me A
  or directly
  dig -p 18353 @node.alexykot.me http://node.alexykot.me
 http://node.alexykot.me
  testnet-seed.alexykot.me http://testnet-seed.alexykot.me
 http://testnet-seed.alexykot.me A
 
  So what can be the problem with testnet DNS seeder?
 
 
  Best regards,
  Alex Kotenko
 
 
  2014-05-20 1:50 GMT+01:00 Robert McKay rob...@mckay.com
 mailto:rob...@mckay.com
  mailto:rob...@mckay.com mailto:rob...@mckay.com:
 
  On Tue, 20 May 2014 01:44:29 +0100, Robert McKay wrote:
   On Mon, 19 May 2014 19:49:52 -0400, Jeff Garzik wrote:
   On Mon, May 19, 2014 at 4:36 PM, Robert McKay
 rob...@mckay.com mailto:rob...@mckay.com
  mailto:rob...@mckay.com mailto:rob...@mckay.com
   wrote:
   It should be possible to configure bind as a DNS
 forwarder.. this
   can
   be done in a zone context.. then you can forward the different
   zones
   to
   different dnsseed daemons running on different non-public
 IPs or
   two
   different ports on the same IP (or on one single non-public IP
   since
   there's really no reason to expose the dnsseed directly
 daemon at
   all).
  
   Quite the opposite.  dnsseed data rotates through a lot of
 addresses
   if available.  Using the bind/zone-xfer system would result
 in fewer
   total addresses going through to the clients, thanks to the
 addition
   of caching levels that the bind/zone-xfer system brings.
  
   That said, if the choice is between no-service and bind,
 bind it is
   ;p
  
   Setting it up as a zone forwarder causes each request to go
 through
   to
   the dnsseed backend for each request.
 
  This stackoverflow describes a similar situation;
 
 
 http://stackoverflow.com/questions/15338232/how-to-forward-a-subzone
 
  you can additionally specify the port to forward too;
 
  http://www.zytrax.com/books/dns/ch7/queries.html#forwarders
 
  it should be possible to forward to different ports on
 127.0.0.1 for
  each dnsseed instance.
 
  Rob
 
 
 
 --
  Accelerate Dev Cycles with Automated Cross-Browser Testing -
 For FREE
  Instantly run your Selenium tests across 300+ browser/OS combos.
  Get unparalleled scalability from the best Selenium testing
 platform
  available
  Simple to use. Nothing to install. Get started now for free.
  http://p.sf.net/sfu/SauceLabs
  ___
  Bitcoin-development mailing list
  Bitcoin-development@lists.sourceforge.net
 mailto:Bitcoin-development@lists.sourceforge.net
  mailto:Bitcoin-development@lists.sourceforge.net
 

[Bitcoin-development] PSA: Please sign your git commits

2014-05-21 Thread Wladimir
Hello all,

When you're contributing to Bitcoin Core development please sign your
git commits. This is easy to do and will help in assuring the
integrity of the tree.

How to sign your commits?
--

Provide the `-S` flag (or `--gpg-sign`) to git commit when you commit
your changes, for example

git commit -m Commit message -S

Optionally you can provide a key id after the -S option to sign with a
specific key.

What if I forgot?
-

You can retroactively sign your previous commit using --amend, for example

git commit -S --amend

If you need to go further back, you can use the interactive rebase
command with 'edit'. Replace HEAD~3 with the base commit from which
you want to start.

git rebase -i HEAD~3

Replace 'pick' by 'edit' for the commit that you want to sign and the
rebasing will stop after that commit. Then you can amend the commit as
above. Afterwards, do

git rebase --continue

As this will rewrite history, you cannot do this when your commit is
already merged. In that case, too bad, better luck next time.

If you rewrite history for another reason - for example when squashing
commits - make sure that you re-sign as the signatures will be lost.

How to check if commits are signed?
---

Use git log with show-signature,

git log --show-signature

commit 6fcdad787f1fb381a3a0fe6b1a1e45477426dccb
gpg: Signature made Wed 21 May 2014 12:27:55 PM CEST using RSA key
ID 2346C9A6
gpg: Good signature from Wladimir J. van der Laan laa...@gmail.com
Author: Wladimir J. van der Laan laa...@gmail.com
Date:   Wed May 21 12:27:37 2014 +0200

qt: Periodic language update
...

You can also pass the --show-signature option to `git show` to check a
single commit.

If you do this on the current repository you'll see that I'm almost
the only person signing commits. I would like more people to get into
this habit.

How to sign merges?


When using the github interface to merge a pull request, the resulting
merge commit is not signed.

Pieter Wullie wrote a script that simplifies merging and signing. It
can be found in contrib/devtools. Setup instructions can be found in
the README.md in that directory. After setting it up for the
repository you can use the script in the following way:

contrib/devtools/github-merge.sh 1234

Replace 1234 by the pull request number that you want to merge. It
will merge the pull request and drop you into a shell so you can
verify changes and test. Once satisfied, exit the shell and answer the
questions to merge and sign it and push upstream automatically (or
not).

Please use this script when possible for merging instead of the github
interface.

--

Wladimir

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


[Bitcoin-development] PSA: Extending BIP 70 / payment protocol

2014-05-21 Thread Jeff Garzik
Please put any payment protocol extensions into a new draft BIP.  BIP
70 should not be updated continuously.

Mimic the IETF, where new RFCs are produced as protocols are extended.
 Once published, an IETF RFC is considered static.

That said, I think it is OK to be smart, and break the static rule a
bit for significant BIP bugs, or harmless maintenance of
links-to-resources.

-- 
Jeff Garzik
Bitcoin core developer and open source evangelist
BitPay, Inc.  https://bitpay.com/

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] PSA: Please sign your git commits

2014-05-21 Thread Wladimir
Hello Chris,

On Wed, May 21, 2014 at 6:39 PM, Chris Beams ch...@beams.io wrote:
 I'm personally happy to comply with this for any future commits, but wonder
 if you've considered the arguments against commit signing [1]? Note
 especially the reference therein to Linus' original negative opinion on
 signed commits [2].

Yes, I've read it. But would his alternative, signing tags, really
help us more here? How would that work? How would we have to structure
the process?

At least signed commits are easy to integrate into the current
development process with github - only a different way of merging has
to be used.

 I came across these when searching for a way to enable signing by default,
 e.g. a `git config` option that might allow for this. Unfortunately, there
 isn't one, meaning it's likely that most folks will forget to do this most
 of the time.

I'll remind people if they forget to do it, but I won't require it. As
you say, that would be an extra barrier, and I'm not suggesting this
because I to see people jumping through bureaucratic hoops.
But it is a pretty simple thing to do...

 If you're really serious about it, you should probably reject pull requests
 without signed commits; otherwise, signing becomes meaningless because only
 honest authors do it, and forgetful or malicious ones can avoid it without
 penalty.

This is not because I'm afraid of malicious authors, but because I
want to reduce the risk that github hacks would pose.

Something to watch for would be authors that normally sign pull
requests/merges and suddenly don't. Someone malicious may have gained
access to their github account. This just adds an extra layer of
protection.

Cheers,
Wladimir

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] PSA: Please sign your git commits

2014-05-21 Thread David A. Harding
On Wed, May 21, 2014 at 06:39:44PM +0200, Chris Beams wrote:
 I [was] searching for a way to enable signing by default [...]
 Unfortunately, there isn't one, meaning it's likely that most folks
 will forget to do this most of the time.

For all of my projects, I now I put this script in
.git/hooks/post-commit and post-merge:

#!/bin/bash -eu

if ! git log -n1 --show-signature | grep -q 'gpg: Good signature'
then
yes FORGOT TO SIGN COMMIT MESSAGE
exit 1
fi

So anytime I forget to sign, I get an obvious error and can immediately
run git commit --amend -S.

To automatically add a script like the one above to all new projects (plus
quickly add it old current projects), you can follow these instructions:

http://stackoverflow.com/questions/2293498/git-commit-hooks-global-settings

 If you're really serious about it, you should probably reject pull
 requests without signed commits; otherwise, signing becomes
 meaningless because only honest authors do it

I find signing my commits quite useful even on projects without a
default signing policy because it lets me diff from the last time I
provably reviewed the code.  Here's my script for that:

#!/bin/bash -eu

KEY=F29EC4B7

last_signed_commit=$( git log --topo-order --show-signature 
--pretty=oneline \
| grep -m1  gpg: Signature made.*RSA key ID $KEY \
| sed 's/ .*//' \
| grep .
) || { echo No signed commit found.  Dying... ; exit 1 ; }

set -x
git diff $last_signed_commit

By diffing against the last signed commit I made, I also review any
commits that were made using my name but which I didn't actually make,
such as squashes and rebases of my commits (and, of course, forgeries).

For anyone who's bored and wants to read a lot of text, I think the
definitive work on git signing is this:

http://mikegerwitz.com/papers/git-horror-story.html

-Dave
-- 
David A. Harding

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] PSA: Please sign your git commits

2014-05-21 Thread Gregory Maxwell
On Wed, May 21, 2014 at 1:30 PM, Mark Friedenbach m...@monetize.io wrote:
 Honest question: what would signed commits do to help us here anyway?
 What's the problem being solved?

 Unfortunately git places signatures in the history itself, so it's not
 like we could use easily use signatures to indicate acceptance after
 code review, like we could if we were using monotone for example. Git
 just wasn't designed for a commit-signing workflow.

Just makes it easier to sort out things like your git account (or the
git site) being compromised and used to submit commits.

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] PSA: Please sign your git commits

2014-05-21 Thread Chris Beams

On May 21, 2014, at 10:25 PM, David A. Harding d...@dtrt.org wrote:

 On Wed, May 21, 2014 at 06:39:44PM +0200, Chris Beams wrote:
 I [was] searching for a way to enable signing by default [...]
 Unfortunately, there isn't one, meaning it's likely that most folks
 will forget to do this most of the time.
 
 For all of my projects, I now I put this script in
 .git/hooks/post-commit and post-merge:
 
#!/bin/bash -eu
 
if ! git log -n1 --show-signature | grep -q 'gpg: Good signature'
then
yes FORGOT TO SIGN COMMIT MESSAGE
exit 1
fi

Funny, I was just in the middle of writing a pre-push hook to do something 
similar when I decided to check my email :) Your post-commit approach is indeed 
simpler, so I've gone with it for the moment [1]. Thanks.

However, I noticed in the process of testing that this approach messes with 
rebase workflows. For example: if I make several commits (all of which are 
properly signed), and then rebase to reorder them, rebase ends up hanging 
because it delegates to `commit` and the use of `yes` in the post-commit hook 
blocks forever. I've changed `yes` to `echo` to avoid this, but it still means 
that one must be rather diligent to keep signatures in place when rebasing. 
Gerwitz does address rebasing in the presence of commit sigs in the horror 
story doc you linked to [2], but there's no magic: this makes the whole 
rebasing process considerably more tedious, and linearly so with however many 
commits you're modifying.

This may amount to a rationale for going with a pre-push hook after all, i.e. 
in order to defer the check for signatures until the last possible moment. This 
would allow for cheap iterative rebasing once again.

I suppose the proper solution would be a `git config` option such as 
'commit.sign', that if set to true would mean your commits are always signed, 
even if rebase is the one calling `commit`. This would obviate the need for the 
alias I mention below as well.


 So anytime I forget to sign, I get an obvious error and can immediately
 run git commit --amend -S.

If one is already in the habit of using an alias for `commit` (I've long used 
`ci` for concision), the -S can be included in the alias:

git config alias.ci 'commit -S'


 To automatically add a script like the one above to all new projects (plus
 quickly add it old current projects), you can follow these instructions:
 
http://stackoverflow.com/questions/2293498/git-commit-hooks-global-settings

This was a great tip, thanks!

- Chris

[1]: https://github.com/cbeams/dotfiles/commit/58d6942
[2]: http://mikegerwitz.com/papers/git-horror-story.html#_option_3


signature.asc
Description: Message signed with OpenPGP using GPGMail
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Core Nightly Builds

2014-05-21 Thread Warren Togami Jr.
https://bitcointalk.org/index.php?topic=571414.0
Thanks to the efforts of Cory Fields, Bitcoin Core now has deterministic
builds for MacOS X.  The nightly builder now has Windows, Linux and MacOS X
test builds available for download.

Warren


On Wed, Apr 16, 2014 at 3:43 PM, Warren Togami Jr. wtog...@gmail.comwrote:

 The Bitcoin Core developers have a desire to do a mostly bug-fix, cleanup
 and translation update release in v0.9.2 a few weeks from now.  You do not
 need to be a developer to help!  With these unofficial nightly builds,
 power users can more easily aid in testing of the master branch which will
 help to find bugs and polish things up faster.  Additionally translators
 can more easily run the latest code and see what strings need to be
 translated as we rapidly approach the next stable release.

 https://bitcointalk.org/index.php?topic=571414.0
 Read more details here.

 Warren Togami

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development