Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread Krzysztof Okupski
Dear all,

thank you for your invaluable feedback. As requested, the spec
will from now on be under version control. It can be found under:

https://github.com/minium/Bitcoin-Spec

The old link to the PDF will be, just in case, kept updated as well.


Warm greetings,
Krzysztof Okupski
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread sick...@gmail.com
On Mon, Jul 14, 2014 at 11:54 AM, Krzysztof Okupski
 wrote:
> Dear all,
>
> thank you for your invaluable feedback. As requested, the spec
> will from now on be under version control. It can be found under:
>
> https://github.com/minium/Bitcoin-Spec
>
> The old link to the PDF will be, just in case, kept updated as well.
>
>
> Warm greetings,
> Krzysztof Okupski

many many thanks Krzysztof.

This was badly needed.

This is a way to get more people to understand
the whole system, hence increasing the number
of bitcoin devs on the long term.

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Self-dependency transaction question...

2014-07-14 Thread Mike Hearn
Conceptually all transactions in the block chain lie on a single timeline.
The fact that we quantise that timeline into blocks is in many ways neither
here nor there - it's still a strict line.

What *can* happen and you must be aware of is duplicated transactions.
Satoshi sort of assumed this could never happen because everything is hash
based, but forgot that duplicating coinbases is possible and at one point
this did happen. It was banned by a rule change afterwards but you still
must be able to process the older parts of the chain that have this. There
is a BIP that covers the new rule.
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread Mike Hearn
Nice work, but please don't call it the "Bitcoin protocol spec". Your
document is not a spec. It is an attempt to describe in English the Bitcoin
protocol, but anyone who implemented it based on your description would get
it wrong. For example you didn't mention the SIGHASH_SINGLE bug and many
other important areas like the difficulty transitions are also left
unspecified.

As a loose description of the protocol for newbies it's an invaluable
resource and perhaps we should link to it from the developer guide. As
something that claims to be a specification it is quite possibly dangerous
- the only spec that matters is the C++ original.


On Mon, Jul 14, 2014 at 11:54 AM, Krzysztof Okupski <
k.okup...@googlemail.com> wrote:

>  Dear all,
>
> thank you for your invaluable feedback. As requested, the spec
> will from now on be under version control. It can be found under:
>
> https://github.com/minium/Bitcoin-Spec
>
> The old link to the PDF will be, just in case, kept updated as well.
>
>
> Warm greetings,
> Krzysztof Okupski
>
>
> --
> Want fast and easy access to all the code in your enterprise? Index and
> search up to 200,000 lines of code with a free copy of Black Duck®
> Code Sight™ - the same software that powers the world's largest code
> search on Ohloh, the Black Duck Open Hub! Try it now.
> http://p.sf.net/sfu/bds
> ___
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread Wladimir
> As a loose description of the protocol for newbies it's an invaluable
> resource and perhaps we should link to it from the developer guide.

It has already been linked from the developer guide for quite a while,
under Additional Resources.

Wladimir

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread Mike Hearn
Ah, that's great. Still, it would be good to be careful with the word
"specification".


On Mon, Jul 14, 2014 at 1:41 PM, Wladimir  wrote:

> > As a loose description of the protocol for newbies it's an invaluable
> > resource and perhaps we should link to it from the developer guide.
>
> It has already been linked from the developer guide for quite a while,
> under Additional Resources.
>
> Wladimir
>
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread sick...@gmail.com
On Mon, Jul 14, 2014 at 1:26 PM, Mike Hearn  wrote:
> Nice work, but please don't call it the "Bitcoin protocol spec". Your
> document is not a spec.

fair objection, fwiw.

> It is an attempt to describe in English the Bitcoin
> protocol, but anyone who implemented it based on your description would get
> it wrong. For example you didn't mention the SIGHASH_SINGLE bug and many
> other important areas like the difficulty transitions are also left
> unspecified.

at the end of the day it's opensource so it could always be improved via pull
request on github.

Krzysztof, in that regard I would add a licence file to make
integration of changes
made by others smoother.

> As a loose description of the protocol for newbies it's an invaluable
> resource and perhaps we should link to it from the developer guide. As
> something that claims to be a specification it is quite possibly dangerous -
> the only spec that matters is the C++ original.

just out of curiosity, do you think it will be possible to create any
other proper
protocol specifications rather than the C++  original?

> On Mon, Jul 14, 2014 at 11:54 AM, Krzysztof Okupski
>  wrote:
>>
>> Dear all,
>>
>> thank you for your invaluable feedback. As requested, the spec
>> will from now on be under version control. It can be found under:
>>
>> https://github.com/minium/Bitcoin-Spec
>>
>> The old link to the PDF will be, just in case, kept updated as well.
>>
>>
>> Warm greetings,
>> Krzysztof Okupski

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread Mike Hearn
>
> just out of curiosity, do you think it will be possible to create any
> other proper protocol specifications rather than the C++  original?


Well it's a finite code base so yes, it should be possible.

The only problem is  so far everyone who tried it, didn't succeed :)
Heck even people who tried to reimplement it by reading the code keep
getting subtle details wrong.

So it should definitely be possible one day, assuming Bitcoin doesn't
become radically more complex, but it's a minefield.
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Building BDB on MingW

2014-07-14 Thread neil
got same error, did you manage to fix this?




--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread Krzysztof Okupski
I've renamed it to "Bitcoin Developer Specification" a little while ago.
Maybe it should rather be named "Bitcoin Developer Reference"? Either
way, creating a good description of Bitcoin is an incremental process
and there are certainly many quirks I'm not aware of. I hope that
together we will soon be able to fill in the missing gaps.

Warm greetings,
Krzysztof Okupski

On 07/14/2014 01:26 PM, Mike Hearn wrote:

> Nice work, but please don't call it the "Bitcoin protocol spec". Your
> document is not a spec. It is an attempt to describe in English the Bitcoin
> protocol, but anyone who implemented it based on your description would get
> it wrong. For example you didn't mention the SIGHASH_SINGLE bug and many
> other important areas like the difficulty transitions are also left
> unspecified.
>
> As a loose description of the protocol for newbies it's an invaluable
> resource and perhaps we should link to it from the developer guide. As
> something that claims to be a specification it is quite possibly dangerous
> - the only spec that matters is the C++ original.
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread Jeff Garzik
On Mon, Jul 14, 2014 at 10:44 AM, Krzysztof Okupski
 wrote:
> I've renamed it to "Bitcoin Developer Specification" a little while ago.
> Maybe it should rather be named "Bitcoin Developer Reference"? Either
> way, creating a good description of Bitcoin is an incremental process
> and there are certainly many quirks I'm not aware of. I hope that
> together we will soon be able to fill in the missing gaps.

Firstly, it is an excellent document, and it should be useful in
educating others.

I do agree that "specification" is not a good word to use.

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

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck®
Code Sight™ - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Self-dependency transaction question...

2014-07-14 Thread Matt Whitlock
On Sunday, 13 July 2014, at 7:32 pm, Richard Moore wrote:
> P.S. If it is valid, another question; what would happen if a transaction was 
> self-referencing? I realize it would be very difficult to find one, but if I 
> could find a transaction X whose input was X and had an output Y, would Y be 
> a new valid utxo, without being a generation transaction input?

Even if you could find such a transaction that contained its own digest, and 
even if such a transaction were valid, it still couldn't conjure new coins into 
existence. The sum of the outputs must be less than or equal to the sum of the 
inputs (except in the case of a coinbase transaction). If a transaction were to 
spend its own output, then the input would be completely used up by the output, 
leaving no balance for a second output.

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Bitcoin Protocol Specification

2014-07-14 Thread sick...@gmail.com
On Mon, Jul 14, 2014 at 2:37 PM, Mike Hearn  wrote:

> just out of curiosity, do you think it will be possible to create any
>>  other proper protocol specifications rather than the C++  original?
>
>
> Well it's a finite code base so yes, it should be possible.
>
> The only problem is  so far everyone who tried it, didn't succeed :)
> Heck even people who tried to reimplement it by reading the code keep
> getting subtle details wrong.
>
> So it should definitely be possible one day, assuming Bitcoin doesn't
> become radically more complex, but it's a minefield.
>

thank for the frank reply
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] "Bitcoin Protocol Guide"

2014-07-14 Thread Ron


Message: 6
Date: Mon, 14 Jul 2014 13:26:19 +0200
From: Mike Hearn 
Subject: Re: [Bitcoin-development] Bitcoin Protocol Specification
To: Krzysztof Okupski 
Cc: Bitcoin Dev 
Message-ID:
    
Content-Type: text/plain; charset="utf-8"

Nice work, but please don't call it the "Bitcoin protocol spec". Your
document is not a spec. It is an attempt to describe in English the Bitcoin
protocol, but anyone who implemented it based on your description would get
it wrong. For example you didn't mention the SIGHASH_SINGLE bug and many
other important areas like the difficulty transitions are also left
unspecified.

As a loose description of the protocol for newbies it's an invaluable
resource and perhaps we should link to it from the developer guide. As
something that claims to be a specification it is quite possibly dangerous
- the only spec that matters is the C++ original.
...

Hello Mike,

What C++ original might that be?  Version 0.1.0? 0.9.x? 0.8.6?  And what parts 
of which version?

Ron--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development