Bitcoin Forum
June 24, 2024, 06:10:23 PM *
News: Voting for pizza day contest
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 »
221  Bitcoin / Development & Technical Discussion / Re: Merchant-pays-fee proposal for Bitcoin Payment Messages on: April 27, 2013, 01:03:22 PM
Meh.

Lots of other ways that merchants could arrange to pay transaction fees, I don't think we need a hard fork to solve that problem.

E.g. : child-pays-for-parent.



I think child-pays-for-parent would solve the problem without a hard fork. I didnīt know it was already coded. If you decide to integrate it, I will review the code looking at DoS attacks.

The extensions proposed to the Payment protocol are interesting, but child-pays-for-parent is much simpler for the fee problem.
222  Bitcoin / Development & Technical Discussion / Merchant-pays-fee proposal for Bitcoin Payment Messages on: April 26, 2013, 10:41:50 PM
One of the ideas in the Bitcoin Payment Messages (https://gist.github.com/gavinandresen/4120476) is that the merchant could pay for the fees of a transaction.

The idea of merchant-pays-fee could be solved by extending the transaction verification system. A new SIGHASH_MULTI flag is added. This flags takes a two argument, which is the output index to start from (outIndex) and the number of outputs to sign (numOuts).

This is what it does:

-   The output of txCopy is resized to the size to 2
-   All other txCopy outputs aside from the output at outIndex and the one at outIndex+1 are removed completely.
-   All other txCopy inputs aside from the current input are set to have an nSequence index of zero.

Think of this as "sign a subset of the outputs-- I don't care where the other outputs go".

When this flag is combined with SIGHASH_ANYONECANPAY, then the sender can:

Create a transaction with many inputs i(0),i(1),(i)2.. i(n-1).
For i(0).. i(n-1) the users sign them with SIGHASH_ANYONECANPAY | SIGHASH_MULTI (0,2)

Then the user puts two outputs: one for the merchant and another for change. He puts no fees.

When the merchant wants to add fees, he adds another input m(n) and a single output for the fee change.

To extend this protocol to allow a merchant to mix multiple transactions together and add a single fee tx, then another flag SIG_MULTIHASH could be used that specifies the HASH of the output script  (OutputHashStart), and the number of outputs. (numOuts)

Then clients would search for the outputs to hash when OP_CHECKSIG is executed.

The merchant can then combine tx(1) ... tx(n) into TX by only appending the transactions and adding a new input and a new output.

The only problem I see with the proposal is that if a transaction can be sliced to form valid transactions, then the algorithm that detects double-spends should be modified to discard a transaction tx y another transaction TX is received and contains tx in it.

Best regards, Sergio.
223  Bitcoin / Development & Technical Discussion / Can I use the Bitcoin client to send a transaction to a raw ECDSA pub address? on: April 26, 2013, 10:24:22 PM
If I want the output script to look like: <pubKey> OP_CHECKSIG

By looking at the code I see no way if doing it.

Is there a way?

Thanks, Sergio.
224  Alternate cryptocurrencies / Altcoin Discussion / Re: Creating an altcoin that self-modifies its proof of work algorithm on: April 26, 2013, 12:53:58 PM
Check out my old post: http://bitslog.wordpress.com/2011/12/31/mining-for-science/
(section Mining for Algorithm Discovery)

I discuss an "almost"  Turing complete mining idea.

Best regards, Sergio.
225  Bitcoin / Development & Technical Discussion / Re: How to report and warn on protocol incompatibilities between clients? on: April 26, 2013, 02:57:06 AM
Eureka!  Grin
226  Bitcoin / Development & Technical Discussion / Re: How to report and warn on protocol incompatibilities between clients? on: April 25, 2013, 10:51:59 PM
Dear Grau,
 I failed to exploit the supposed "problem". I cannot create a JSON test that differentiates the two implementations. 

I apologize for the inconvenience.

Nevertheless the subject of the thread, which was not to talk about any particular problem, remains useful: how to handle the notification and collaboration between parties when a flaw is discovered in an implementation that is not the reference one but affects the rest.

Best regards.
 Sergio.
227  Bitcoin / Development & Technical Discussion / Re: How to report and warn on protocol incompatibilities between clients? on: April 25, 2013, 07:11:40 PM
Today I found another incompatibility between the rules of  Bitsofproof and the rules of Satoshi client. I will report today to Grau. Bitsofproof is still in BETA, but looks very promising.

But the point is: Should all the Bitcoin community (apart from the alternate client project maintainer) be notified of the possibility of a network split?

Thank you for taking a deep dive into the code and reporting your findings. I am not (yet) convinced that the difference you spotted by reading the code does lead to exploitable different behavior, since there are numerous tests shared between Satoshi and bits of proof targeted exactly at these subtleties. Specifically the tests https://github.com/bitsofproof/supernode/blob/master/server/src/test/resources/script_valid.json
and https://github.com/bitsofproof/supernode/blob/master/server/src/test/resources/script_invalid.json would have very likely caught the difference you claim.

The process you followed by notifying the author with the details in the first place is correct. It would be fair to wait for a confirmation of a vulnerability and its fix before you announce that you found something, just to avoid it sound like FUD-ing an implementation. There are bugs in every software and there must be countless differences between implementations. Bugs have to be fixed but differences have to be carefully evaluated if they really offer a practical exploit.

Your work is valuable to all of us, please continue but be vary not only the network security but the reputation of the implementations that in some respect also support security.

Yes Grau, you're right. That's why I didn't make public the problem details. But honestly, the problem is there in the Bitsofproof code, I'm quite sure.
The fact that BisofProof is still in Beta (but won't be in Beta forever) is the reason that I'm asking people: how should we handle a problem with one (but not all) of the client implementations.

I think that, for the community good, as fast as a bug that can cause possible network split is discovered, all users must be notified. I mean all (including users that do not use this client). This does not mean that the bug must be exposed. But if people know their clients can bee "knocked out" of the best chain, they can put additional protective measures to periodically check if they were.

Related to the test cases Grau posted, I'm quite sure they do not check the problem I spotted.
Those test cases do not test the result of each opcode, only they test if the script verification fails or not.
That's completely wrong, or at least it's incomplete.
If you want to check if OP_ADD1 works, you should check that before executing the opcode and afterward the stack have some known values. Now the script test cases only check that the result is TRUE or anything else.

Gavin or donor coders should try to build more detailed test cases for each script arithmetic opcode, to avoid screwing up things in future versions and to help other implementers to verify their codes.

Grau: my impression is that your code is good, as is Mike Hearn's code. The problem is not on your code, but in the lack of a "Bitcoin Bible" manual to specify the hidden and often forgotten rules of the protocol.

Would you allow me to post the problem here?

228  Bitcoin / Development & Technical Discussion / How to report and warn on protocol incompatibilities between clients? on: April 25, 2013, 02:07:27 PM
Since I have audited the security of the main client for a while and I'm getting bored, I turned to look at to the alternate clients (e.g. Bitcoinj Bitsofproof, etc.).

In the past both in Bitcoinj and Bitsofproof I detected incompatibilities between the Satoshi code rules and their implementations, so their clients could be "forked out" of the best chain by specially crafted blocks/transactions.

They were reported to the project maintainers and they have been fixed long ago.

Today I found another incompatibility between the rules of  Bitsofproof and the rules of Satoshi client. I will report today to Grau. Bitsofproof is still in BETA, but looks very promising.

But the point is: Should all the Bitcoin community (apart from the alternate client project maintainer) be notified of the possibility of a network split? If we get to a point where 40% of the network is running client 1 and another 40% is running client 2, then a "bug" in client 2 is also a problem for all users (not only the ones using client 2). Attacks that affect a large part of the network also undermine the credibility of the network as a whole.

So eventually in the future there should be a "higher level" list of problems/vulnerabilities of the Bitcoin network (independent of the client app), that could probably be maintained by the Bitcoin Foundation.

Best regards,
 Sergio.









229  Bitcoin / Development & Technical Discussion / Re: SIGHASH_WITHINPUTVALUES: Super-lightweight HW wallets and offline data on: April 21, 2013, 11:39:59 AM
+1

Excelent idea. But if we are going to hardfork,  itīs time to rethink how the hash of the tx  is computes for signature verification. 
First, we should ban OP_CODESEPARATOR.

But I think the right way to do SIGHASH_WITHINPUTVALUE it is to put the amount outside the script, in another field, and stop embeding things in the input script.

Let
 
Tx' = Tx with all script inputs cleared

TxHash(Tx) = H ( H(Tx') | n | [ amount ] )

Where H() is a double SHA-256 hash. n is the input being verified and amount is the optionally amount.

The advantage of this scheme is that H(Tx) can be cached for the whole transaction, and the second application of H() is very fast. This prevents by design the vulnerability CVE-2013-2292 and it would allow to permit transactions over 100 Kbytes to be standard again.

230  Bitcoin / Bitcoin Discussion / Re: The Well Deserved Fortune of Satoshi Nakamoto, Visionary and Genious on: April 17, 2013, 10:46:58 PM
You know, I have a feeling he is reading this thread as we speak.

I wish he would just sends us some words... I wonder if he will be grateful or annoyed at my posts. I hope he is well enough not to worry.
231  Bitcoin / Bitcoin Discussion / Re: The Well Deserved Fortune of Satoshi Nakamoto, Visionary and Genious on: April 17, 2013, 10:44:29 PM
That's not the impression I got from the blog post, I thought you meant that satoshi DID spend money.
Please point me out where it seems that, maybe my English was not precise enough to express it.

Also, Satoshi's coins may now be valued at 100 million USD, however if Bitcoin hits mainstream where 0.000000000000000000000000000000000000000351(and this is very inaccurate example) is your salary, imagine what having a million bitcoins would mean. It would mean he would have money enough to buy a continent and he could control the world.

But by then, the majority of people will agree that at least 75% of Satoshi's coins have to be blocked from being valid in the chain.

I've never thought about this kind of confiscation. But it would be terribly non-equitative, brutal, and not useful, since maybe there is other people holding as much as that coins, but in hundreds of small transaction outputs.
232  Bitcoin / Bitcoin Discussion / Re: The Well Deserved Fortune of Satoshi Nakamoto, Visionary and Genious on: April 17, 2013, 10:38:47 PM
How Satoshi mining pattern disappears...

233  Bitcoin / Bitcoin Discussion / Re: The Well Deserved Fortune of Satoshi Nakamoto, Visionary and Genious on: April 17, 2013, 08:30:17 PM
Why is there conflict between Sergio, jgarzik, and gmaxwell?

Why?


Because, at the lowest level, there is always conflict between those who create history and the historians who make an effort to document it.

I will make it simple. If I did not uncovered this data set yesterday, some else would have done it, surrounded by much worse descriptive words. What I did is not ingenious. Is the most evident method of data mining. The data was there at plain sight.

I put all my effort in my blog post to calm the market showing the truth: that Satoshi or whoever mined them had not used the coins to distort the market, and I succeed, since the BTC price increased afterwards.

Can you imagine how yellow journalism would have handled this information to discredit the coin ?

So please stop blaming me for having uncovered Satoshi or whoever fortune: it was already uncovered.

234  Bitcoin / Bitcoin Discussion / Re: The Well Deserved Fortune of Satoshi Nakamoto, Visionary and Genious on: April 17, 2013, 03:32:32 PM
Please take into account that X-Axis is not time, but block number.

Here is the same data, but with the Time in the X-Axis.
235  Bitcoin / Bitcoin Discussion / Re: The Well Deserved Fortune of Satoshi Nakamoto, Visionary and Genious on: April 17, 2013, 03:06:47 PM
Is the periodic reset due to rebooting the machine ? Each week or so or on a given day ?

I estimate the PC is rebooted every 100 hours or 4 days.

I think this is for backing up wallets, but I'm unsure..
236  Bitcoin / Bitcoin Discussion / Re: The Well Deserved Fortune of Satoshi Nakamoto, Visionary and Genious on: April 17, 2013, 03:04:42 PM
Funny... for being the same person, Satoshi's "clock" sure has a funny way of going backward in time, and then picking up immediately where it left off... or even choosing a different format altogether.  This is all in the first 12 hours of Bitcoin's public existence.  Interesting bits are colored.  Bold is just to make it easier to see the which part is changing.



What you see are different THREADS of the same PC. Possibly two or four threads were running concurrently.
Each thread has it own ExtraNonce, but all threads are started almost at the same time.

Nonsense.  Are you trying to tell me that the threads that found blocks 10-15 were started "almost at the same time", yet the "thread" that found block #12 was 47 X 2^32 hashes behind the one(s) that found #11 and #13?  I call BS.  And what about #58, #63, #65..?

No, I didn't mean so. These are probably different machines, My apologize. Deltas of 1 may be threads of the same PC.
 
237  Bitcoin / Bitcoin Discussion / Re: Satoshi's Fortune lower bound is 100M USD(DEBATE GOING ON, DO NOT TWEET!) on: April 17, 2013, 03:02:30 PM
Then why are you not hysterically warning about the miner who mined http://blockexplorer.com/block/00000000000000001e8d6829a8a21adc5d38d0a473b144b6765798e61f98bd1d having enough hashpower to replace the entire history of Bitcoin in an hour?


There has been 231828 blocks solved (without counting orphans) which is roughly equal to 2^18. So we can statistically expect a block with 18 more prefixed zeros than the expected difficultly. Block 125552 has only 12 more prefix zeros than the expected (67 vs 56) so statistically it has no meaning at all.

 That's why I'm not hysterically warning you.
238  Bitcoin / Bitcoin Discussion / Re: Satoshi's Fortune lower bound is 100M USD(DEBATE GOING ON, DO NOT TWEET!) on: April 17, 2013, 02:37:04 PM

It's worth pointing out for posterity that you've gone and edited your claims in this thread to back them off from their previously falsified forms. This is somewhat discourteous to the other participants here, because it makes it look like you didn't take the positions that they've argued with. 


Whenever I edit a published post, I add the word "Edit:" or I strike the words that must be removed.

Could you stop this fruitless competition ?
239  Bitcoin / Bitcoin Discussion / Re: The Well Deserved Fortune of Satoshi Nakamoto, Visionary and Genious on: April 17, 2013, 02:32:08 PM
Funny... for being the same person, Satoshi's "clock" sure has a funny way of going backward in time, and then picking up immediately where it left off... or even choosing a different format altogether.  This is all in the first 12 hours of Bitcoin's public existence.  Interesting bits are colored.  Bold is just to make it easier to see the which part is changing.



What you see are different THREADS of the same PC. Possibly two or four threads were running concurrently.
Each thread has it own ExtraNonce, but all threads are started almost at the same time.
240  Bitcoin / Bitcoin Discussion / Re: The Well Deserved Fortune of Satoshi Nakamoto, Visionary and Genious on: April 17, 2013, 02:31:09 PM
This obviously contradicts every word GMaxwell and DeathAndTaxes said about mining during the first year.

Want to correct this hyperbole, now?



Do you mean that I should remove that sentence from the post?
If you or Gavin ask me to do it, then I'll do it.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!