Bitcoin Forum
May 30, 2024, 08:56:27 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  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 29 30 31 32 33 34 35 36 37 38 39 40 »
21  Bitcoin / Bitcoin Discussion / Re: Blockchain scripting contest on: March 27, 2014, 02:18:02 PM
The first step is to understand what the script does, not trying to brute force the solution  Grin
22  Bitcoin / Project Development / Re: Blockchain scripting contest on: March 27, 2014, 01:37:07 PM
Thread moved & new stage opened!

https://bitcointalk.org/index.php?topic=538423.msg5931067#msg5931067
23  Bitcoin / Bitcoin Discussion / Re: Blockchain scripting contest on: March 27, 2014, 01:34:39 PM
2nd stage

Funding transaction/output: 948aeca2003bf0bdc4f0dc7d61615d05010da8bca744dd9cfa12fb57e2540a2d, n=0

Claimable amount: 5 mBTC (remember to reserve at least 0.1mBTC for transaction fees or your transaction won't be confirmed!)

scriptPubKey to solve:

Code:
OP_DEPTH OP_1 OP_NUMEQUAL OP_IF 6e616d65206f66206e616b616b616d6f746f OP_DROP 
OP_RIPEMD160 OP_RIPEMD160 9c864b8bb110c05cb9c77381ad5d6868f0fd9f9f OP_EQUAL
OP_ELSE OP_DUP OP_HASH160 897b934876ff50bfebe218e30382d7eaa6559a12
OP_EQUALVERIFY OP_CHECKSIG OP_ENDIF

Difficulty level: medium

State: Claimed by frisco after about 2 hours link

Solution: https://bitcointalk.org/index.php?topic=538423.msg5938343#msg5938343
24  Bitcoin / Bitcoin Discussion / Re: Blockchain scripting contest on: March 27, 2014, 01:33:24 PM
1st stage

Funding transaction/output: ab149362ea4e119d2bc5211b35083c23ec41842af6bbc2ff3c5f1e55941199cc, n=0

Claimable amount: 5 mBTC (remember to reserve at least 0.1mBTC for transaction fees)

scriptPubKey to solve:

Code:
OP_2DUP OP_ADD OP_8 OP_EQUALVERIFY OP_SUB OP_2 OP_EQUAL

Difficulty level: easy

State: Anonymously claimed. link

Solution: https://bitcointalk.org/index.php?topic=534734.msg5919405#msg5919405
25  Bitcoin / Bitcoin Discussion / Re: Blockchain scripting contest on: March 27, 2014, 01:33:17 PM
reserved
26  Bitcoin / Bitcoin Discussion / Blockchain scripting contest on: March 27, 2014, 01:32:48 PM
This blockchain scripting contest is a way to raise awareness about the possibilities and powers of the scripting mechanism integrated in the Bitcoin protocol.

Every trial will be about a non-standard transaction output (scriptPubKey) broadcast by me and funded with a given amount. Objective of the trial is to find an appropriate script (scriptSig) that will succesfully resolve the stacked scripts, as requested by the bitcoin protocol. The amount in the tx output is the award of the trial and can be claimed at will.

The difficulty of the trials will increase in each step.

Recommended Toolchain to build and broadcast a custom transaction:

Documentation: Transactions, Raw Transactions API, Scripts and OPcodes reference.

Have fun!

PS: Any amount sent to the address 1JHCn9wLLXHc4yfo968FrT259Um2hzeUpy will be used to fund the next trials.


First Stage: Claimed! Winner unknown https://bitcointalk.org/index.php?topic=534734.msg5913898#msg5913898, solution
Second Stage: Claimed! Winner is Frisco https://bitcointalk.org/index.php?topic=538423.msg5931091#msg5931091, solution


Thread recreated from here, as this sub seems more appropriate
27  Bitcoin / Project Development / Re: Blockchain scripting contest on: March 26, 2014, 09:53:40 PM
Ok I'm pretty sure I have a basic understanding of this. Throw your blockchain witchcraft at me! Tongue

Great! Next stage is scheduled for tomorrow at around 14:00 GMT. Don't miss it!
28  Bitcoin / Project Development / Re: Blockchain scripting contest on: March 26, 2014, 09:51:54 PM
A more clear explanation of what's happening in the script.

StackOperationComment
x,y(scriptSig)scriptSig get executed, 2 numbers are pushed into the stack
x,y,x,yOP_2DUPThe first 2 values in the stack get duplicated
x,y,x+yOP_ADDThe first 2 values in the stack are added and the sum is pushed in the stack
x,y,x+y,8OP_8the number 8 is pushed in the stack
x,y OP_EQUALVERIFYThe first 2 values in the stack are tested, the script fails if they aren't equal (so, x+y=8)
x-yOP_SUBThe first 2 values in the stack are subtracted and the difference is pushed in the stack
x-y,2OP_2the number 2 is pushed in the stack
?OP_EQUALThe first 2 values in the stack are tested, if equal the number 1 gets pushed in the stack, 0 otherwise
?(final check)The first value in the stack must be not 0 or null. So, the previous test must be true, thus x-y=2

29  Bitcoin / Project Development / Re: Blockchain scripting contest on: March 26, 2014, 09:11:05 PM
Sure, that's my idea.

Actually, since someone probably already sent the winning transaction, i'll give out the solution now.

first, let's solve the first half of the problem. Here's the scriptPubKey object of this first trial:

  OP_2DUP OP_ADD OP_8 OP_EQUALVERIFY OP_SUB OP_2 OP_EQUAL

I'll explain it under the assumption that you roughly know what a stack-based calculator is. Also, please refer to the script wiki page as a reference for the commands used in the scripts.

As the bitcoin protocol requires, you have to find a scriptSig that, when concatenated with the above script and executed, is considered valid. That is, the first stack item at the end of the script execution is not 0 or null, no verification fails and no illegal or invalidating operation is performed. Let's see what the scriptPubKey do.

OP_2DUP duplicates the first 2 values in the stack as they are. This suggests that the scriptSig, which gets evaluated right before this instruction, must yeld at least two values, let's call them x and y.

OP_ADD takes the first 2 values in the stack, adds them and pushes the result in the stack

OP_8 pushes the number 8 in the stack

OP_EQUALVERIFY tests the first 2 values in the stacks to be equal, and invalidates the transaction if they aren't. Since the first value is 8 (we just pushed it in the last instruction) the one before that, which is the sum of the 2 variables "x" and "y" in the scriptSig, must be 8 as well. So, we can assert that x+y=8

OP_SUB, OP_2 and OP_EQUAL make a similar thing, calculating the difference between the other 2 numbers in the stack which, thanks to the OP_2DUP at the beginning of the script, are still the 2 variables from the scriptSig. this tell us that x-y=2

So, we have x+y=8 and x-y=2. Solving this simple math problem gives x=5 and y=3, and thus the scriptSig simply is "OP_5 OP_3".


Now, to create the custom transaction that spends that output. There are a number of different methods to achieve this, but my tool of choice is brainwallet.org tx builder. Since the input of this transaction won't be address-based, you can safely ignore the private key and source address field. Set the "Destination address" to one of your addresses to have a template going, then click on the "Json transaction" button on the top of the form. Now, you have to manually change the parameters of the "in" section to connect the output from the test transaction. In the bitcoin protocol, a txout is defined by the hash of the transaction that created it and the ID of the txout inside that transaction. As wrote above, the hash of the transaction is ab149362ea4e119d2bc5211b35083c23ec41842af6bbc2ff3c5f1e55941199cc and the ID of the relevant txout is 0 (that is, the first entry in the txout list). Enter those values in the "hash" and "n" fields in the "in" section, overwriting the default values. Now you have to enter the scriptSig you desumed above: scroll to the scriptSig field, delete the bogus values you'll find there and just write "OP_5 OP_3". Almost done, all left is the amount of btc: the tx builder fails to detect the amount of BTC in non-standard transactions, so you'll have to set it manually. The amount of BTC available are 5 mBTC, or 0.005 btc. However, don't forget miner fees! Set the amount to 0.0049, so that 0.1 mBTC goes to eligius for the trouble of including your transaction in the blockchain.

Done, you don't even have to re-sign the transaction, because no signature verification is done. The raw transaction is ready, you can check it to be correct using the "signrawtransaction" RPC code in bitcoin: it should return a "complete":true parameter that tells you that it's ready to be broadcast. However, since someone already did that, trying to push the transaction through the eligius service will result in a failure because it will refuse to accept a double-spend transaction. Be quicker next time Cheesy

Real life applications of this script:

Next to none. The only objective of this stage is to help understanding how the bitcoin scripting mechanism works and to familiarize with the tools needed to build a transaction with custom scripts.
30  Bitcoin / Project Development / Re: Blockchain scripting contest on: March 26, 2014, 07:29:34 PM
Again, from the toolchain links in the OP:

Quote
Raw transaction generator: http://brainwallet.org/#tx

31  Bitcoin / Project Development / Re: Blockchain scripting contest on: March 26, 2014, 06:06:01 PM
However, I'm getting reports that eligius is refusing correct solutions, so probably the output has already been claimed.
32  Bitcoin / Project Development / Re: Blockchain scripting contest on: March 26, 2014, 05:58:36 PM
As it's a non-standard transaction, you'll need to give personally the transaction to the pools that accept them, and eligius is the only one I know. They have a nice tool that lets you push a raw transaction directly via web.
33  Bitcoin / Project Development / Re: Blockchain scripting contest on: March 26, 2014, 03:54:43 PM
1st trial

Funding transaction/output: ab149362ea4e119d2bc5211b35083c23ec41842af6bbc2ff3c5f1e55941199cc, n=0

Claimable amount: 5 mBTC (remember to reserve at least 0.1mBTC for transaction fees)

scriptPubKey to solve:

Code:
OP_2DUP OP_ADD OP_8 OP_EQUALVERIFY OP_SUB OP_2 OP_EQUAL

Difficulty level: easy

State: Probably claimed, but unconfirmed.

EDIT: Seems like someone managed to send a valid transaction to eligius, which is now blocking anyone from sending a different transaction that uses the same output. You can check the validity of your transaction using the signrawtransaction RPC call in bitcoin, or by posting it here.

EDIT2: Detailed solution posted here
34  Bitcoin / Project Development / Re: Blockchain scripting contest on: March 26, 2014, 03:54:14 PM
reserved
35  Bitcoin / Project Development / Blockchain scripting contest on: March 26, 2014, 03:54:03 PM
This blockchain scripting contest is a way to raise awareness about the possibilities and powers of the scripting mechanism integrated in the Bitcoin protocol.

Every trial will be about a non-standard transaction output (scriptPubKey) broadcast by me and funded with a given amount. Objective of the trial is to find an appropriate script (scriptSig) that will succesfully resolve the stacked scripts, as requested by the bitcoin protocol. The amount in the tx output is the award of the trial and can be claimed at will.

The difficulty of the trials will increase in each step.

Recommended Toolchain:

Documentation: Transactions, Raw Transactions API, Scripts and OPcodes reference.

Have fun!

PS: Any amount sent to the address 1JHCn9wLLXHc4yfo968FrT259Um2hzeUpy will be used to fund the next trials.


First Stage: (Probably) claimed! https://bitcointalk.org/index.php?topic=534734.msg5913898#msg5913898
Second Stage: Open on new thread! https://bitcointalk.org/index.php?topic=538423.msg5931091#msg5931091
36  Local / Mining (Italiano) / Re: MAH! non so piu' cosa minare on: March 26, 2014, 09:34:51 AM
In momenti come questi si mina in prospettiva: le difficoltà scendono perché per gli "short miner" non trovano più profittevole minare. Quindi il costo di produzione si abbassa e non appena il valore del bitcoin risale, si realizza un profitto interessante.
"Mine low, sell high".

 Sad

Ogni volta che il prezzo si abbassa si legge ovunque questa argomentazione assurda.

Se il prezzo del bitcoin sul mercato è minore di quello che vi costerebbe generarlo, allora l'unica cosa sensata da fare è spegnere il miner e comprare direttamente bitcoin con i soldi che paghereste in corrente, o quanti ne volete. Se fate il contrario state matematicamente perdendo soldi, indipendentemente dal valore futuro del bitcoin. Tra l'altro, così facendo si fornisce supporto al prezzo diminuendone la volatilità.
37  Local / Italiano (Italian) / Re: aiuto bitcoin wallet electrum on: March 25, 2014, 09:11:48 PM
Prima di tutto cerca di esprimerti con calma, in italiano comprensibile e fornendo tutte le circostanze necessarie, altrimenti non possiamo fare nulla se non tirare ad indovinare.
38  Local / Italiano (Italian) / Re: https://blockchain.info/ down e con problemi? on: March 18, 2014, 10:29:50 PM
Ad ogni modo non è un grossissimo problema, se si ha fretta basta usare i backup per avere accesso alle proprie finanze.

Perchè tutti avete un backup aggiornato del vostro wallet, vero?
39  Local / Mining (Italiano) / Re: Alimentatore secondario si spegne on: March 18, 2014, 10:58:04 AM
Difficile da diagnosticare con i pochi dati a disposizione, ma potresti avere un loop di corrente tra l'alimentatore collegato alla MB e quello alle schede video. Controlla con un tester le tensioni a vuoto dei due alimentatori, devono essere entro 0.1 volt tra di loro. Controlla tutti i rami di alimentazione.

Già che ci sei, controlla con un tester di aver collegato nello stesso verso gli spinotti di alimentazione nelle ciabatte/multiple.
40  Local / Off-Topic (Italiano) / Re: Governi spiano webcam attraverso Yahoo, avete in casa un Kinect? on: March 10, 2014, 03:49:29 PM
La solita argomentazione fallace del "se non avete niente da nascondere non avete niente da temere". Ancora più fastidiosa visto che la leggo su un forum di persone che, si suppone, dovrebbero avere ben chiaro cosa significhi sicurezza digitale e privacy dei propri dati.
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 29 30 31 32 33 34 35 36 37 38 39 40 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!