Bitcoin Forum
June 07, 2024, 08:11:21 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 [114] 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 »
2261  Bitcoin / Bitcoin Discussion / Re: Someone is spamming the blockchain on: July 10, 2013, 01:27:58 PM
It's not spamming they are passing messages through timestamps

There is no timestamp in transaction
2262  Bitcoin / Development & Technical Discussion / Re: [ANNOUNCE] Micro-payment channels implementation now in bitcoinj on: July 10, 2013, 10:54:48 AM
Yes, a network of low trust intermediaries like that has been proposed before.

Will it be implemented? Who knows. It's a lot of work.


There is only one reason for this not to be implemented: Bitcoin dies before it is implemented.

Imagine in the future, all merchants in the world accepting VISA will also accept Bitcoin. It is trust-free, instant confirmation, no charge-back, very low tx fee (most fee will go to payment processor instead of miners). There will be discount for bitcoin users because of all these advantages over VISA. As user, you don't need to worry about foreign currency exchange because bitcoin is widely accepted. If there is any emergency, your family can deposit bitcoin for you to the payment processor, and it will be confirmed after 6 confirmations (I know you don't like soft-fork, but there is a soft-fork proposal to make 6 confirmations happens in 15 minutes). And of course, 1 BTC will worth at least US$10000...............
2263  Bitcoin / Development & Technical Discussion / Re: OP_CHECKCOLORVERIFY: soft-fork for native color coin support on: July 10, 2013, 10:41:31 AM
It's just a naming issue. No matter how it is called, it will either do nothing, or invalidate the whole transaction.

Maybe OP_CHECKCOLOR could be defined

If the top of the stack is TRUE and the output is of the wrong colour type, then replace the TRUE with FALSE.

This means that this code works the same on old and new clients.  Except old clients always verify as true.

OP_TRUE OP_CHECKCOLOR OP_VERIFY

Quote
Maybe I would call it a "meta OP code". Normal OP codes validate/invalidate individual transaction input. Meta OP codes validate/invalidate the whole transaction.

They already did it with the P2SH change.

No, P2SH still works within individual input/output. My proposed OP_CHECKCOLOR works across all inputs/outputs in the same transaction.

If the transaction does not follow the color rule, the whole transaction is invalid so there is no reason to further exam the validity of individual output. If the transaction follows the color rule, all outputs must also follow the color rule. Therefore, OP_CHECKCOLOR does not really need to modify anything on the stake. When it comes to validation of individual signature, OP_CHECKCOLOR is nothing more than OP_NOP1
2264  Bitcoin / Development & Technical Discussion / Re: OP_CHECKCOLORVERIFY: soft-fork for native color coin support on: July 10, 2013, 08:15:06 AM
With OP_CHECKCOLORVERIFY you can't use OP_DROP. But as you need it for backward compatibility, you need to use OP_CHECKCOLOR instead. (Which puts a bool on the stack)

It's just a naming issue. No matter how it is called, it will either do nothing, or invalidate the whole transaction.

Maybe I would call it a "meta OP code". Normal OP codes validate/invalidate individual transaction input. Meta OP codes validate/invalidate the whole transaction.

There are other discussion on OP_CHECKVALUE and OP_CHECKFEEVERIFY at https://bitcointalk.org/index.php?topic=181734.20 , which are also meta OP code.
2265  Bitcoin / Development & Technical Discussion / Re: [ANNOUNCE] Micro-payment channels implementation now in bitcoinj on: July 10, 2013, 06:57:10 AM
Will we see an implementation like this in the future?

1. There are 3 parties: Customer (Carl), Merchant (Mary), and Payment processor (Peter). However, they only have minimal trust with each other

2. Carl opens a micro-payment channel with Peter by depositing some BTC in escrow, waits for 6 confirmations

3. Peter opens a micro-payment channel with Mary by depositing some BTC in escrow, waits for 6 confirmations

4. Carl wants to buy something from Mary with 1 BTC

5. Since Carl does not trust Peter for 1 BTC, he will just release 0.01 BTC to Peter through micro-payment channel

6. Peter receives 0.01 BTC from Carl, and releases 0.01 BTC to Mary through micro-payment channel

7. Goto step-5 until 1 BTC is transferred. It is automatic and should take only a few seconds

8. Mary delivers product to Carl


Advantage of this system:

1. Peter can serve as many merchants as he wants. Merchants will put Peter's logo on their windows just like Visa and AE

2. By depositing to Peter, Carl can reach every supporting merchants immediately (after initial 6 confirmation)

3. Zero-trust instant confirmation

4. Save blockchain space and mining fee

5. Peter will take minimal transaction fee


If bitcoin is going to be successful, I believe system like this must happen. At that time, people can buy bubble gum with bitcoin
2266  Bitcoin / Development & Technical Discussion / Re: SIGHASH_WITHINPUTVALUE: Super-lightweight HW wallets and offline data on: July 10, 2013, 03:50:51 AM
I am making a new proposal for colored coin soft-fork: https://bitcointalk.org/index.php?topic=253385.0

To make it works with lightweight HW wallet, OP_CHECKFEEVERIFY is not enough because colored coin is not fungible with normal coin. In this case only OP_CHECKVALUE or OP_TRUE solution would work.
2267  Bitcoin / Development & Technical Discussion / OP_CHECKCOLORVERIFY: soft-fork for native color coin support on: July 10, 2013, 03:42:42 AM
Existing colored coin scheme relies on the order of inputs and outputs: https://bitcointalk.org/index.php?topic=106373.0;topicseen . There are few problems with this scheme:

1. Signature tag like SIGHASH_ANYONECANPAY cannot be used since the order of inputs in the final transaction is not known.

2. SPV nodes cannot verify colored coins

3. The whole transaction chain could not be pruned


A soft-fork could solve these problems:

1. Redefine OP_NOP3 as OP_CHECKCOLORVERIFY

2. When a user wants to mint colored coin, he sends some coin to an output with a script of

Code:
<color> OP_CHECKCOLORVERIFY OP_DROP OP_DUP OP_HASH160 <address> OP_EQUALVERIFY OP_CHECKSIG

where <color> is defined as

Code:
RIPEMD160(SHA256(script of previous output))


For example, if Satoshi wants to create a colored coin with his Genesis Block address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa, <color> will be

Code:
RIPEMD160(SHA256(76a91462e907b15cbf27d5425399ebf6f0fb50ebb88f1888ac)) = 653756a92059ba4f3086471bd3c9e8442e4da3d3

By hashing the whole script, colored coin can be minted out of any future payment scheme

3. It is necessary for Satoshi to sign the minting output to make the whole transaction valid. The transaction is not valid if he is signing with SIGHASH_NONE, or SIGHASH_SINGLE but not for the minting output

4. Redistributing colored coin is done just like normal transaction, with inclusion of <color> OP_CHECKCOLORVERIFY in appropriate outputs. However, the total value a specific colored coin in outputs must be equal to or less than the total value in inputs. If the value in outputs is less than inputs, some color coins turn back to normal BTC. The only exception is Satoshi decided to mint more colored coin with his address, so the total colored output value could be larger than the input value.

5. Coins of different color could be exchanged in one transaction. An output may bear more than one color using multiple OP_CHECKCOLORVERIFY (e.g. an 1 BTC output with color xxx and color yyy means 1 xxx coin and 1 yyy coin)

6. Using coins from other addresses, one may mint more colored coin than the coin he has. For example, with 10 BTC from address xxx and 1 BTC from address yyy, one may mint 11 yyy coins.

Backward compatibility:

For existing clients, the coloring information is just
Code:
<random string> OP_NOP3 OP_DROP

and will be ignored


Possible extensions
1. To allow SPV verification of unique smart property (e.g. linking a colored coin with a real car), we need to ensure the uniqueness of the colored coin on the blockchain. A flag could be added to the minting and subsequent transactions to declare that only one UTXO may have this color at any time.

2. Sometimes you may want to restrict the total amount of a specific color coin in circulation. A flag could be added to the minting and subsequent transactions to declare that no more minting of the same color is allowed. (I'm not quite sure how this may work. Need more discussion)

These extensions require full nodes to keep an index for all colored coins in UTXO set


EDIT: These are not needed as there are better solutions: https://en.bitcoin.it/wiki/Smart_Property
2268  Bitcoin / Bitcoin Discussion / Re: The lost Bitcoins... a question of curiosity on: July 09, 2013, 05:14:08 PM
So I was sitting here reading an article about securing your wallet, and I just started to wonder how many times someone has screwed up and lost their wallet.dat either by mal-intent or self-stupidity.

There can only be 21 million, but how many have already been lost forever?  Isn't it possible that someone had 100 BTC in 2010 and then said "meh, this thing sucks" and just deleted the files from their computer? After all, it wasn't worth much back then so why try to sell a meager 100 BTC at that time?

Is there a way to determine how many lost Bitcoins there are? 

/end random thoughts


I have a table here: https://docs.google.com/a/ij.hk/spreadsheet/ccc?key=0Ahdy3Je_nYdOdFVocm4yTzhZOW1waWd6SFJIVHUwYUE#gid=0

Please donate if you like it
2269  Bitcoin / Development & Technical Discussion / Re: Do we need SIGHASH_MULTIPLE for some advance contract? on: July 09, 2013, 04:35:56 PM
It seems weird, but I've never been able to come up with a case that couldn't be handled by the current flags plus some small number of preparatory transactions. I'd be interested in seeing if anyone can come up with one.
 

Do you mean using multiple SIGHASH_ONE inupts?
2270  Bitcoin / Development & Technical Discussion / Do we need SIGHASH_MULTIPLE for some advance contract? on: July 09, 2013, 04:25:22 PM
Currently, we have SIGHASH_ALL (sign all outputs, the default), SIGHASH_NONE (sign none of the outputs) and, SIGHASH_SINGLE (sign one of the outputs). However, it seems there is no mechanism for user to sign more than one, but not all outputs. For some advanced contracts, one may want to specify multiple but not all outputs. Do we need a SIGHASH_MULTIPLE for this, or could we accomplish this with current code?
2271  Bitcoin / Development & Technical Discussion / Re: SIGHASH_WITHINPUTVALUE: Super-lightweight HW wallets and offline data on: July 09, 2013, 04:14:59 PM
Does it have to be one extra output per input? 

As I mentioned, there could be multiple OP_CHECKVALUE in the same dummy output, e.g. <h1><n1><v1> OP_CHECKVALUE <h2><n2><v2> OP_CHECKVALUE ........

Couldn't you just have a single output specifying the fee for the whole tx?  It would essentially do the same thing, and the OP_NOP/OP_CHECKFEEVERIFY would still work with zero output value and be pruned. 

Interesting. This could be more efficient than my previous OP_TRUE solution since the miner won't need to transfer the fee once again. Just redefine an unassigned OP code to OP_CHECKFEEVERIFY (We don't need to consume an OP_NOP because the output is not supposed to be spent)

That would make it somewhat complicated to do more-advanced contracts though... where not all inputs and/or outputs are known at the time of signing (like the lighthouse contract).  Just more food for thought.

Yes, that would require the OP_CHECKVALUE or the OP_TRUE solution.
2272  Bitcoin / Development & Technical Discussion / Re: SIGHASH_WITHINPUTVALUE: Super-lightweight HW wallets and offline data on: July 09, 2013, 04:00:19 PM
I have a ugly but backward compatible way to implement the OP idea:

1. Redefine one of the unassigned OP code (e.g. 0xfc) as OP_CHECKVALUE
2. When signing of input value is required, add an extra output like "<TxPrevHash> <TxPrevOutputIndex> <TxPrevOutputValue> OP_CHECKVALUE" is added, with 0 bitcoin assigned to this output
3. If an output of this format is found when validating a transaction, the engine will check whether the value of the specified output is same as TxPrevOutputValue. If not, the whole transaction is invalid. If yes, the code remove the top 3 stack items.

More rules:
1. There could be multiple OP_CHECKVALUE in the same dummy output.
2. The whole transaction is invalid if the specified output is not found in the input list.

Advantage:
This is transparent to existing clients, making it a perfect soft-fork. For both old and new clients, the dummy output is provably unspendable and will be pruned from the UTXO set.

Disadvantage:
Bloats blockchain, and looks hacky

Any comments? At least I want to know if it works in theory

Does it have to be an extra output?  Couldn't we just put this in the TxIn script being signed directly?  Right now, a standard TxIn script is:

Code:
PUSH(Signature) PUSH(PubKey)

Couldn't we do:

Code:
PUSH(8bytefee) OP_CHECKFEEVERIFY PUSH(Signature) PUSH(PubKey)

EDIT: Never mind, I just realized that that those op-codes don't get signed, so they can be altered without breaking the signature.

I thought something similar (see my crossed out reply above), and found it won't work for the same reason
2273  Bitcoin / Development & Technical Discussion / Re: SIGHASH_WITHINPUTVALUE: Super-lightweight HW wallets and offline data on: July 09, 2013, 03:32:45 PM
I have a ugly but backward compatible way to implement the OP idea:

1. Redefine one of the unassigned OP code (e.g. 0xfc) as OP_CHECKVALUE
2. When signing of input value is required, add an extra output like "<TxPrevHash> <TxPrevOutputIndex> <TxPrevOutputValue> OP_CHECKVALUE" is added, with 0 bitcoin assigned to this output
3. If an output of this format is found when validating a transaction, the engine will check whether the value of the specified output is same as TxPrevOutputValue. If not, the whole transaction is invalid. If yes, the code remove the top 3 stack items.

More rules:
1. There could be multiple OP_CHECKVALUE in the same dummy output.
2. The whole transaction is invalid if the specified output is not found in the input list.

Advantage:
This is transparent to existing clients, making it a perfect soft-fork. For both old and new clients, the dummy output is provably unspendable and will be pruned from the UTXO set.

Disadvantage:
Bloats blockchain, and looks hacky

Any comments? At least I want to know if it works in theory
2274  Economy / Service Discussion / Re: MtGox withdrawal is back, as they claim on: July 09, 2013, 10:07:39 AM
For the record Gox worked consistently well for me, done 3 withdrawals of non-negligible amounts and I got the money in my bank in 2/3 days. SEPA transfers, Europe customer.


Dates on these withdrawals?

The three of them were done in June, while there was no "USD hiatus", but it was still a moment where people wrote in this forum about withdrawals taking MONTHS to clear, especially SEPA ones. As I said, not my experience at all: 3 separate and significant withdrawals cleared in 2/3 days (SEPA) in June, just as fast (or even faster I'd say) that pre-bubble.

I need to say this because I've been reading so much FUD about Gox since April that I really don't know if I'm "the lucky one", or is just that there are thousands of customers of Gox (let do not forget they have tens of k's of customers ATM) that have no problems so they just stay quite, while the few that have delays obviously complain bitterly on this board.

Then I read about people saying that "as soon as a big customer ask for a withdrawal Gox will be crumble", and this doesn't seem the case at all. Since April millions of $ have flown out of Gox without any problems, in fact all the reports for "delayed withdrawals" I see in here are for smallish amounts.

BTW: I'm fully verified, including notarized docs.

Bitpay and Bitinstant stop accepting mtgox means these big players have difficulty in withdrawal
2275  Economy / Service Discussion / Re: MtGox withdrawal is back, as they claim on: July 08, 2013, 05:15:15 PM
I would consider the following events as real indicators of "back to normal":

1. Bitpay uses MtGox to determine bitcoin value again: http://blog.bitpay.com/2013/06/important-update-on-bitpay-exchange.html?oid=1039_1

2. Bitinstant accepts MtGox as funding source again

I won't leave a satoshi on gox before at least one of these happens
2276  Local / 中文 (Chinese) / Re: 比特币高富帅王尼玛的烦恼 on: July 08, 2013, 10:51:30 AM
感谢 @jl2012 所提出的方案。我相信这种方案在双方不互信的大额兑换时是非常有用。但是我们的业务大多是小额兑换(15 BTC 以下),而且力求简化操作,所以不适宜于采用这样的方案。

我也明白. 但我相信只需兩年時間, 上述的方案會完全自動化, 成為標準方案.
2277  Local / 中文 (Chinese) / Re: 比特币高富帅王尼玛的烦恼 on: July 08, 2013, 05:03:19 AM
家住合肥的资深比特币玩家王尼玛,持有比特币 41391.58 BTC,是知名的比特币高帅富,但是王尼玛最近有一些烦恼。



后来王尼玛了解到了 Digcoin 时价交易行:不挂单!卖出比特币没有手续费!三次确认之后直接付款!
如此的方便快捷,他和他的小伙伴们都惊呆了!

https://digco.in/exchange

欢迎来 Digcoin 时价交易行卖币~

其實有更好的方法, 而且你們和客戶皆沒有風險 (現在你們承受了因價格上升帶來的double-spend風險)

1. 客戶向交易所提供其public key (pubkey-1)
2. 交易所產生一個新的public key (pubkey-2), 加上客戶的pubkey-1, 產生一個2-of-2 P2SH地址 (address-1)
3. 客戶向address-1制作一個存款交易(tx-1), 但不廣播
4. 客戶把tx-1的hash及相應的output index告訴交易所, 並告知一個客戶獨佔的退款地址(address-2)
5. 根據客戶提供的hash及output index, 交易所制作一個交易(tx-2), 把tx-1收到的bitcoin以locktime形式發回address-2. (locktime就象期票, 有關交易在locktime後才生效)
6. 客戶收到tx-2, 覺得滿意後, 廣播tx-1
7. 交易所看到tx-1, 覺得滿意後, 經過數個確認, 承認tx-1

在locktime到期前, 如客戶想賣出bitcoin:
1. 客戶以pubkey-1簽署address-1, 把bitcoin發送到交易所獨佔的地址 (address-3), 稱為tx-3
2. 交易所以pubkey-2簽署tx-3, 並立即(*)發佈
3. 由於沒有double-spend風險, 交易所可以立即承認到賬.
(* 其實不一定要立即發佈, 只要在locktime到期前數小時發佈即可; 不立即發佈還可做到micropayment, 參閱bitcoinj的最新發佈)

在locktime到期前, 如客戶想提早取回bitcoin:
1. 客戶把自己的地址 (address-4)告訴交易所
2. 交易所以pubkey-2簽署, 把address-1的錢送到 address-4, 稱為tx-4; 簽署後, 交易所不再承認tx-1
3. 客戶以pubkey-1簽署tx-4並發佈, 成功取回鎖定的bitcoin

在locktime接近到期, 或到期後:
1. 交易所因double spend風險而不再承認tx-1
2. 客戶廣播tx-2, 取回bitcoin

若交易所突然倒閉, 客戶只需等到locktime之後, 就可取回bitcoin. 除非是剛好在發佈tx-3後立即倒閉, 則沒有辦法了. 但風險已大大減低

現在bitcoinj已可做到以上功能, 我相信在兩年以內這種付款方式必成主流. 其實我很有興趣制作首個這樣的項目.

(為簡化討論我用了很多術語, 如有不明白可再問)
2278  Bitcoin / Development & Technical Discussion / Re: Zerocoin when? on: July 08, 2013, 02:26:45 AM

Overall a P2SH txout adds just 24 bytes to a transaction by the time you spend it. (21 bytes to encode the hash, 2 bytes of opcodes, and 1 byte to encode the length of the scriptPubKey when you eventually spend it) For the minimum size tx format, bare compressed pubkeys, it takes 158 bytes round-trip to create and spend a txout (44 bytes for the txout, 114 bytes to spend the txout) so the overhead of P2SH is just 15% Compared to the standard pay-to-pubkey-hash P2SH is actually 1 byte smaller because it doesn't need the OP_DUP, and it's still just as secure in terms of keeping pubkeys unknown against a ECDSA break.



Isn't pay-to-pubkey-hash (P2PH) more secure than P2SH? Stealing bitcoin from a never-spent P2PH address requires breaking of ECDSA, SHA256, and RIPEMD160 at the same time. For P2SH, one "only" needs to break SHA256 and RIPEMD160 to create a valid serialized pay-to-anyone script, and mine his own blocks before broadcasting it. (I know it's hardly possible to completely break SHA256 and RIPEMD160 at the same time, but theoretically P2PH is still secure than P2SH)
2279  Bitcoin / Development & Technical Discussion / Re: The network is flooded with spam on: July 07, 2013, 04:30:50 PM
All the time there are like 20KB, but sometimes even 99KB txs that are going across the network - and they are just a spam.

I know it's not an issue, but believe me, that if someone will decide to use it as a DoS attack method and will bother to implement this method, it will quickly become an issue. And how are you going to solve it then - how many days/weeks/months will you need in order to adopt a protocol to this specific threat?

It's quite amazing that after finding recently that node's memory can be attacked by sending him big txs, nobody has even bothered to try thinking of if, instead of just "oh, as long as it's the same size as it is, I'm fine with downloading processing, storing and even routing forward, all this spam".

I think those are not relayed by default if they are not paying enough fee
2280  Local / 中文 (Chinese) / Re: 揭露淘宝比特币低价销售黑幕 on: July 06, 2013, 02:48:40 PM
不貪心就不會上這種當
Pages: « 1 ... 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 [114] 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!