Bitcoin Forum
October 09, 2024, 10:08:38 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 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 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 ... 661 »
  Print  
Author Topic: [ANN][XCP] Counterparty - Pioneering Peer-to-Peer Finance - Official Thread  (Read 1276539 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
cityglut
Full Member
***
Offline Offline

Activity: 216
Merit: 100


View Profile
February 07, 2014, 08:05:31 AM
 #2461

Yes, without escrow, anyone can eat all the sell orders without much cost. Therefore, I suggest
1) add proportional escrow fee in XCP for buy orders.
2) buy orders less than 10 XCP is free from escrow fee, so new users without XCP can still use the exchange.
All escrow fee goes to the seller if Btcpay is not sent in time. Otherwise, it goes back to the buyer.

I see one potential problem with the XCP escrow solution: what do we do about honest XCP buyers who want to place limit orders?

Unless I am mistaken, under this system if I place a resting limit order to buy XCP and turn off my computer, I run the risk of an XCP seller hitting my bid and collecting the escrowed XCP, since I am not around to execute a BTCPay.

This would really discourage XCP buyers from placing resting orders. Maybe this is not a bad thing though. Since XCP is not built for high-frequency trading there is nothing wrong with a 1-sided order book reflecting the asymmetry in XCP/BTC exchange. The XCP/BTC exchange would just resemble Ebay instead of the NYSE.  

I am not sure how the expire time of BTCPay is set. Is it always set by the XCP sellers? Could the buyer of limit order set it? If it is set by the buyer, then problem solved. How about who put the order first always determine the BTCPay expire time?

The expire time of BTCpay is simply the lesser of the two expirations involved in the transaction.
mtbitcoin
Legendary
*
Offline Offline

Activity: 876
Merit: 1000


Etherscan.io


View Profile
February 07, 2014, 08:06:36 AM
 #2462

Yes, without escrow, anyone can eat all the sell orders without much cost. Therefore, I suggest
1) add proportional escrow fee in XCP for buy orders.
2) buy orders less than 10 XCP is free from escrow fee, so new users without XCP can still use the exchange.
All escrow fee goes to the seller if Btcpay is not sent in time. Otherwise, it goes back to the buyer.

I see one potential problem with the XCP escrow solution: what do we do about honest XCP buyers who want to place limit orders?

Unless I am mistaken, under this system if I place a resting limit order to buy XCP and turn off my computer, I run the risk of an XCP seller hitting my bid and collecting the escrowed XCP, since I am not around to execute a BTCPay.

This would really discourage XCP buyers from placing resting orders. Maybe this is not a bad thing though. Since XCP is not built for high-frequency trading there is nothing wrong with a 1-sided order book reflecting the asymmetry in XCP/BTC exchange. The XCP/BTC exchange would just resemble Ebay instead of the NYSE.  

I am not sure how the expire time of BTCPay is set. Is it always set by the XCP sellers? Could the buyer of limit order set it? If it is set by the buyer, then problem solved. How about who put the order first always determine the BTCPay expire time?

I think attempting to solve all issues directly with the protocol would be challenging so early on. However using some of the suggestions stated earlier certain checks can be placed to prevent 'obvious'  abuse / trolling issues like the buyer eating up all btc orders with little to no cost.

As for the notification when a btcpay is due, some form of client side notification could be developed. Once the GUI clients are out and the information becomes more accessible issues like these become more manageable. There also can be perhaps a minimum allowance limit time limit to allow the buyer to make the payment before the escrow is forfeited in case the expiration period is too short

Cheers

EtherScan::Ethereum Block Explorer | BlockScan::Coming Soon
supersuber
Member
**
Offline Offline

Activity: 118
Merit: 104


Counterparty


View Profile
February 07, 2014, 08:46:01 AM
 #2463

Code:
C:\python32\python.exe C:\counterpartyd_build\run.py order --source=1Fxxxxxx........ --get-quantity=20 --get-asset=BTC --give-quantity=990 --give-asset=XCP --expiration=3000 --fee_required=.0001

then

Code:
Traceback (most recent call last):
  File "C:\counterpartyd_build\dist\counterpartyd\counterpartyd.py", line 521, i
n <module>
    args.expiration, fee_required, fee_provided, unsigned=args.unsigned)
  File "C:\counterpartyd_build\dist\counterpartyd\lib\order.py", line 47, in cre
ate
    return bitcoin.transaction(source, None, None, fee_provided, data, unsigned=
unsigned)
  File "C:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 371, in
transaction
    transaction = serialise(inputs, destination_output, data_output, change_outp
ut, multisig=multisig, source=source, unsigned=unsigned)
  File "C:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 217, in
serialise
    secret_exponent, compressed = wif_to_tuple_of_secret_exponent_compressed(pri
vate_key_wif, is_test=testnet)
TypeError: wif_to_tuple_of_secret_exponent_compressed() got an unexpected keywor
d argument 'is_test'

Why
Code:
TypeError: wif_to_tuple_of_secret_exponent_compressed() got an unexpected keywor
d argument 'is_test'

520Bit
Sr. Member
****
Offline Offline

Activity: 602
Merit: 252



View Profile
February 07, 2014, 09:12:53 AM
 #2464

Want to buy:

Counterparty technical lessons. I want to know more about the protocol and would like someone to teach me. Skype is preferred but I can also do Google Hangouts  Will pay in bitcoin. Please PM offers which include a short explanation of what you will be teaching me.

Thanks.

You may want to check the tutorial and see how Counterpartyd works first. Remember to install the latest version.

https://bitcointalk.org/index.php?topic=451908.msg4975462#msg4975462
IamNotSure
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500


View Profile
February 07, 2014, 10:06:39 AM
 #2465

Got this error when trying to do a simple send (run from source, vista x64)

Quote
Traceback (most recent call last):
  File "C:\counterpartyd_build\dist\counterpartyd\counterpartyd.py", line 496, i
n <module>
    print(unsigned_tx_hex) if args.unsigned else json_print(bitcoin.transmit(uns
igned_tx_hex))
  File "C:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 382, in
transmit
    if input('Confirm? (y/N) ') != 'y':
AttributeError: 'UnicodeOutput' object has no attribute 'errors'
520Bit
Sr. Member
****
Offline Offline

Activity: 602
Merit: 252



View Profile
February 07, 2014, 10:13:17 AM
 #2466

Got this error when trying to do a simple send (run from source, vista x64)

Quote
Traceback (most recent call last):
  File "C:\counterpartyd_build\dist\counterpartyd\counterpartyd.py", line 496, i
n <module>
    print(unsigned_tx_hex) if args.unsigned else json_print(bitcoin.transmit(uns
igned_tx_hex))
  File "C:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 382, in
transmit
    if input('Confirm? (y/N) ') != 'y':
AttributeError: 'UnicodeOutput' object has no attribute 'errors'

Did you update to the latest version? https://github.com/xnova/counterpartyd_build
520Bit
Sr. Member
****
Offline Offline

Activity: 602
Merit: 252



View Profile
February 07, 2014, 10:23:56 AM
 #2467

I have another error when I make an order:

Code:
c:\counterpartyd_build>counterpartyd order --source 1XXX --get-quantity 20 --get-asset BTC --give-quantity 200 --give-asset XCP --expiration 5000 --fee_required 0.01

c:\counterpartyd_build>echo off
Transaction (unsigned): 010000000191bc9ad6c118669cb9ef0425310793357f2d42d7e27ad6c040908b1210ce22520200000000ffffffff036c2a0000000000006751410424e0d192e25d4eea9ef8ba4f32d45a025d0aa80172c45580762f3d417b
6eb804d8d7f3e1ee43863a165ae507bbf67b15bf137ed0d5072f1334e489cb6368c14d2120434e5452505254590000000a000000000000000100000004a817c8000000000052ae6c2a0000000000006751410424e0d192e25d4eea9ef8ba4f32d45a025d
0aa80172c45580762f3d417b6eb804d8d7f3e1ee43863a165ae507bbf67b15bf137ed0d5072f1334e489cb6368c14d2116000000000000000077359400138800000000000f42400000000000000000000052ae95847402000000001976a914779835a784
adb00b7cc20357da16ad282c6ff88588ac00000000
Traceback (most recent call last):
  File "c:\counterpartyd_build\dist\counterpartyd\counterpartyd.py", line 522, in <module>
    print(unsigned_tx_hex) if args.unsigned else json_print(bitcoin.transmit(unsigned_tx_hex))
  File "c:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 382, in transmit
    if input('Confirm? (y/N) ') != 'y':
AttributeError: 'UnicodeOutput' object has no attribute 'errors'

How to fix the 'no attribute 'errors''?
My counterpartyd is up-to-date by the way.

Also posted here: https://forums.counterparty.co/index.php?topic=22.new#new
IamNotSure
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500


View Profile
February 07, 2014, 10:24:54 AM
 #2468

Got this error when trying to do a simple send (run from source, vista x64)

Quote
Traceback (most recent call last):
  File "C:\counterpartyd_build\dist\counterpartyd\counterpartyd.py", line 496, i
n <module>
    print(unsigned_tx_hex) if args.unsigned else json_print(bitcoin.transmit(uns
igned_tx_hex))
  File "C:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 382, in
transmit
    if input('Confirm? (y/N) ') != 'y':
AttributeError: 'UnicodeOutput' object has no attribute 'errors'

Did you update to the latest version? https://github.com/xnova/counterpartyd_build

Yes, of course (and I got the same error as you when trying to make an order)
BitzMD
Sr. Member
****
Offline Offline

Activity: 421
Merit: 250



View Profile WWW
February 07, 2014, 11:19:50 AM
 #2469

[quote autforhor=520Bit link=topic=395761.msg4992441#msg4992441 date=1391764373]
Want to buy:

Counterparty technical lessons. I want to know more about the protocol and would like someone to teach me. Skype is preferred but I can also do Google Hangouts  Will pay in bitcoin. Please PM offers which include a short explanation of what you will be teaching me.

Thanks.

You may want to check the tutorial and see how Counterpartyd works first. Remember to install the latest version.

https://bitcointalk.org/index.php?topic=451908.msg4975462#msg4975462
[/quote]


Thank you for your considerable effort.

 Smiley

BitThink
Legendary
*
Offline Offline

Activity: 882
Merit: 1000



View Profile
February 07, 2014, 11:21:52 AM
Last edit: February 07, 2014, 11:38:44 AM by BitThink
 #2470

Yes, without escrow, anyone can eat all the sell orders without much cost. Therefore, I suggest
1) add proportional escrow fee in XCP for buy orders.
2) buy orders less than 10 XCP is free from escrow fee, so new users without XCP can still use the exchange.
All escrow fee goes to the seller if Btcpay is not sent in time. Otherwise, it goes back to the buyer.

I see one potential problem with the XCP escrow solution: what do we do about honest XCP buyers who want to place limit orders?

Unless I am mistaken, under this system if I place a resting limit order to buy XCP and turn off my computer, I run the risk of an XCP seller hitting my bid and collecting the escrowed XCP, since I am not around to execute a BTCPay.

This would really discourage XCP buyers from placing resting orders. Maybe this is not a bad thing though. Since XCP is not built for high-frequency trading there is nothing wrong with a 1-sided order book reflecting the asymmetry in XCP/BTC exchange. The XCP/BTC exchange would just resemble Ebay instead of the NYSE.  

I am not sure how the expire time of BTCPay is set. Is it always set by the XCP sellers? Could the buyer of limit order set it? If it is set by the buyer, then problem solved. How about who put the order first always determine the BTCPay expire time?

The expire time of BTCpay is simply the lesser of the two expirations involved in the transaction.

Thanks. Then it is a little bit more difficult to punish the late buyers since the sellers can attack the buyers by setting a very short expire time.

One possible solution is maybe only the one who matches the existing orders needs to put some XCP in escrow. This could prevent someone eat up all sell orders without cost.

This solution, however, cannot prevent another kind of manipulation. Say current the lowest sell order is at 0.01. Then I can put a limit buy order 1M XCP @ 0.009999, so that I can ensure nobody can really sell to the bid walls.

It seems this kind of attack is arguably less harmful than a big buy orders to eat up all sell orders.

Let's think together to see whether there's better solution.

Moreover, even checking BTC bandwidth is doable, it cannot prevent the attack. Only put BTC in escrow can avoid this kind of attack completely.
PhantomPhreak (OP)
Sr. Member
****
Offline Offline

Activity: 476
Merit: 300

Counterparty Chief Scientist and Co-Founder


View Profile
February 07, 2014, 12:07:02 PM
 #2471

Code:
C:\python32\python.exe C:\counterpartyd_build\run.py order --source=1Fxxxxxx........ --get-quantity=20 --get-asset=BTC --give-quantity=990 --give-asset=XCP --expiration=3000 --fee_required=.0001

then

Code:
Traceback (most recent call last):
  File "C:\counterpartyd_build\dist\counterpartyd\counterpartyd.py", line 521, i
n <module>
    args.expiration, fee_required, fee_provided, unsigned=args.unsigned)
  File "C:\counterpartyd_build\dist\counterpartyd\lib\order.py", line 47, in cre
ate
    return bitcoin.transaction(source, None, None, fee_provided, data, unsigned=
unsigned)
  File "C:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 371, in
transaction
    transaction = serialise(inputs, destination_output, data_output, change_outp
ut, multisig=multisig, source=source, unsigned=unsigned)
  File "C:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 217, in
serialise
    secret_exponent, compressed = wif_to_tuple_of_secret_exponent_compressed(pri
vate_key_wif, is_test=testnet)
TypeError: wif_to_tuple_of_secret_exponent_compressed() got an unexpected keywor
d argument 'is_test'

Why
Code:
TypeError: wif_to_tuple_of_secret_exponent_compressed() got an unexpected keywor
d argument 'is_test'

You're running an old version of pycoin.
PhantomPhreak (OP)
Sr. Member
****
Offline Offline

Activity: 476
Merit: 300

Counterparty Chief Scientist and Co-Founder


View Profile
February 07, 2014, 12:14:18 PM
 #2472

Yes, without escrow, anyone can eat all the sell orders without much cost. Therefore, I suggest
1) add proportional escrow fee in XCP for buy orders.
2) buy orders less than 10 XCP is free from escrow fee, so new users without XCP can still use the exchange.
All escrow fee goes to the seller if Btcpay is not sent in time. Otherwise, it goes back to the buyer.

I see one potential problem with the XCP escrow solution: what do we do about honest XCP buyers who want to place limit orders?

Unless I am mistaken, under this system if I place a resting limit order to buy XCP and turn off my computer, I run the risk of an XCP seller hitting my bid and collecting the escrowed XCP, since I am not around to execute a BTCPay.

This would really discourage XCP buyers from placing resting orders. Maybe this is not a bad thing though. Since XCP is not built for high-frequency trading there is nothing wrong with a 1-sided order book reflecting the asymmetry in XCP/BTC exchange. The XCP/BTC exchange would just resemble Ebay instead of the NYSE.  

I am not sure how the expire time of BTCPay is set. Is it always set by the XCP sellers? Could the buyer of limit order set it? If it is set by the buyer, then problem solved. How about who put the order first always determine the BTCPay expire time?

The expire time of BTCpay is simply the lesser of the two expirations involved in the transaction.

Thanks. Then it is a little bit more difficult to punish the late buyers since the sellers can attack the buyers by setting a very short expire time.

One possible solution is maybe only the one who matches the existing orders needs to put some XCP in escrow. This could prevent someone eat up all sell orders without cost.

This solution, however, cannot prevent another kind of manipulation. Say current the lowest sell order is at 0.01. Then I can put a limit buy order 1M XCP @ 0.009999, so that I can ensure nobody can really sell to the bid walls.

It seems this kind of attack is arguably less harmful than a big buy orders to eat up all sell orders.

Let's think together to see whether there's better solution.

Moreover, even checking BTC bandwidth is doable, it cannot prevent the attack. Only put BTC in escrow can avoid this kind of attack completely.

The only reason that all of those sell orders got eaten is that nobody set a reasonable fee_required. The current fee system is somewhat inefficient, though.

If the time allowed for a btcpay were to be shortened, which would be done simply so that the market is more responsive, then it would be made a fixed length, e.g. of 10 blocks. I can't imagine why a seller would care about how this value is set, as long as it's long enough.
JahPowerBit
Sr. Member
****
Offline Offline

Activity: 335
Merit: 255


Counterparty Developer


View Profile
February 07, 2014, 12:39:47 PM
 #2473

It is possible to set two expire time ?

1) expire time for the order
2) expire time for the btcpay

Thks
PhantomPhreak (OP)
Sr. Member
****
Offline Offline

Activity: 476
Merit: 300

Counterparty Chief Scientist and Co-Founder


View Profile
February 07, 2014, 12:45:20 PM
 #2474

It is possible to set two expire time ?

1) expire time for the order
2) expire time for the btcpay

Thks


I don't think that the btcpay expire time would ever need to float.
rioshock2
Newbie
*
Offline Offline

Activity: 26
Merit: 0


View Profile
February 07, 2014, 01:15:56 PM
 #2475

It is possible to set two expire time ?

1) expire time for the order
2) expire time for the btcpay

Thks


I don't think that the btcpay expire time would ever need to float.

Why?
PhantomPhreak (OP)
Sr. Member
****
Offline Offline

Activity: 476
Merit: 300

Counterparty Chief Scientist and Co-Founder


View Profile
February 07, 2014, 02:01:16 PM
 #2476

It is possible to set two expire time ?

1) expire time for the order
2) expire time for the btcpay

Thks


I don't think that the btcpay expire time would ever need to float.

Why?

Because the time should be as low as possible, and the minimum time is the same across trades.
JahPowerBit
Sr. Member
****
Offline Offline

Activity: 335
Merit: 255


Counterparty Developer


View Profile
February 07, 2014, 02:30:14 PM
 #2477

understood thks.
So in futur versions, btcpay expire time will be 10 blocks ?
PhantomPhreak (OP)
Sr. Member
****
Offline Offline

Activity: 476
Merit: 300

Counterparty Chief Scientist and Co-Founder


View Profile
February 07, 2014, 03:00:29 PM
 #2478

understood thks.
So in futur versions, btcpay expire time will be 10 blocks ?

I'm thinking about it.
xnova
Sr. Member
****
Offline Offline

Activity: 390
Merit: 254

Counterparty Developer


View Profile
February 07, 2014, 03:06:25 PM
 #2479

I have another error when I make an order:

Code:
c:\counterpartyd_build>counterpartyd order --source 1XXX --get-quantity 20 --get-asset BTC --give-quantity 200 --give-asset XCP --expiration 5000 --fee_required 0.01

c:\counterpartyd_build>echo off
Transaction (unsigned): 010000000191bc9ad6c118669cb9ef0425310793357f2d42d7e27ad6c040908b1210ce22520200000000ffffffff036c2a0000000000006751410424e0d192e25d4eea9ef8ba4f32d45a025d0aa80172c45580762f3d417b
6eb804d8d7f3e1ee43863a165ae507bbf67b15bf137ed0d5072f1334e489cb6368c14d2120434e5452505254590000000a000000000000000100000004a817c8000000000052ae6c2a0000000000006751410424e0d192e25d4eea9ef8ba4f32d45a025d
0aa80172c45580762f3d417b6eb804d8d7f3e1ee43863a165ae507bbf67b15bf137ed0d5072f1334e489cb6368c14d2116000000000000000077359400138800000000000f42400000000000000000000052ae95847402000000001976a914779835a784
adb00b7cc20357da16ad282c6ff88588ac00000000
Traceback (most recent call last):
  File "c:\counterpartyd_build\dist\counterpartyd\counterpartyd.py", line 522, in <module>
    print(unsigned_tx_hex) if args.unsigned else json_print(bitcoin.transmit(unsigned_tx_hex))
  File "c:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 382, in transmit
    if input('Confirm? (y/N) ') != 'y':
AttributeError: 'UnicodeOutput' object has no attribute 'errors'

How to fix the 'no attribute 'errors''?
My counterpartyd is up-to-date by the way.

Also posted here: https://forums.counterparty.co/index.php?topic=22.new#new

should be fixed, please update from git.

Visit the official Counterparty forums: http://counterpartytalk.org
xnova
Sr. Member
****
Offline Offline

Activity: 390
Merit: 254

Counterparty Developer


View Profile
February 07, 2014, 03:08:22 PM
 #2480

Code:
C:\python32\python.exe C:\counterpartyd_build\run.py order --source=1Fxxxxxx........ --get-quantity=20 --get-asset=BTC --give-quantity=990 --give-asset=XCP --expiration=3000 --fee_required=.0001

then

Code:
Traceback (most recent call last):
  File "C:\counterpartyd_build\dist\counterpartyd\counterpartyd.py", line 521, i
n <module>
    args.expiration, fee_required, fee_provided, unsigned=args.unsigned)
  File "C:\counterpartyd_build\dist\counterpartyd\lib\order.py", line 47, in cre
ate
    return bitcoin.transaction(source, None, None, fee_provided, data, unsigned=
unsigned)
  File "C:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 371, in
transaction
    transaction = serialise(inputs, destination_output, data_output, change_outp
ut, multisig=multisig, source=source, unsigned=unsigned)
  File "C:\counterpartyd_build\dist\counterpartyd\lib\bitcoin.py", line 217, in
serialise
    secret_exponent, compressed = wif_to_tuple_of_secret_exponent_compressed(pri
vate_key_wif, is_test=testnet)
TypeError: wif_to_tuple_of_secret_exponent_compressed() got an unexpected keywor
d argument 'is_test'

Why
Code:
TypeError: wif_to_tuple_of_secret_exponent_compressed() got an unexpected keywor
d argument 'is_test'

You're running an old version of pycoin.

Easiest way to fix this, if you're using the build system, is to just rerun setup.py from a checkout of the newest code.

Visit the official Counterparty forums: http://counterpartytalk.org
Pages: « 1 ... 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 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 ... 661 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!