Author

Topic: [ANN][XCP] Counterparty - Pioneering Peer-to-Peer Finance - Official Thread - page 385. (Read 1276826 times)

legendary
Activity: 1989
Merit: 1008

That's a great idea. I love it. It'd be great to have such an interface to Counterparty, which indeed right now has a good deal of functionality under the hood, but is somewhat lacking in powerful and intuitive interfaces. The only potential problem I see is in trading with BTC on Counterparty, which requires a follow-up transaction (and API call) to finalize the purchase of another asset. Of course, that won't stop it from working with user-created assets and XCP.

Is the code all closed-source? What are you looking for, from us, to add Counterparty support to leonardo?

We also think counterparty and leonardo could be a great fit.
Even so leonardo is not open source (yet) and will stay that way for a while.
Until now our abstraction layer was designed for centralized exchanges in mind but I don't see a big problem in adding additional xcp related functionality (even follow-up transactions).
All we have to do is talk to counterpartyd/bitcoind locally + maybe some state/event handling, right?
I have to take a closer look at it though. Haven't had enough time to play with counterpartyd other than setting it up Smiley
full member
Activity: 216
Merit: 100
Hej.

I am one of the three guys who developed a trading application/framework called leonardo.  
At first we just wanted to create a better trading interface for centralized exchanges but with the built-in market abstraction layer it shouldn't be that hard to get it to talk to counterpartyd.
What do you think? Do you like the idea? Do you see problems?

More info on leonardo at:
https://bitcointalksearch.org/topic/ann-leonardo-version-24-released-trading-guibot-for-bittrex-poloniex-506317

If you have scam concerns, please read our announcement before yelling at us Wink


That's a great idea. I love it. It'd be great to have such an interface to Counterparty, which indeed right now has a good deal of functionality under the hood, but is somewhat lacking in powerful and intuitive interfaces. The only potential problem I see is in trading with BTC on Counterparty, which requires a follow-up transaction (and API call) to finalize the purchase of another asset. Of course, that won't stop it from working with user-created assets and XCP.

Is the code all closed-source? What are you looking for, from us, to add Counterparty support to leonardo?

I agree, it's a really great idea.

Couldn't there be client-side "automated BTCpay", though?
sr. member
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
Hej.

I am one of the three guys who developed a trading application/framework called leonardo.  
At first we just wanted to create a better trading interface for centralized exchanges but with the built-in market abstraction layer it shouldn't be that hard to get it to talk to counterpartyd.
What do you think? Do you like the idea? Do you see problems?

More info on leonardo at:
https://bitcointalksearch.org/topic/ann-leonardo-version-24-released-trading-guibot-for-bittrex-poloniex-506317

If you have scam concerns, please read our announcement before yelling at us Wink


That's a great idea. I love it. It'd be great to have such an interface to Counterparty, which indeed right now has a good deal of functionality under the hood, but is somewhat lacking in powerful and intuitive interfaces. The only potential problem I see is in trading with BTC on Counterparty, which requires a follow-up transaction (and API call) to finalize the purchase of another asset. Of course, that won't stop it from working with user-created assets and XCP.

Is the code all closed-source? What are you looking for, from us, to add Counterparty support to leonardo?
legendary
Activity: 1989
Merit: 1008
What would it add to what the protocol already does

nothing Smiley
It does not add something to the core protocol. It is a front-end to the functionality of the protocol itself.
It would basically provide the functionality that website of centralized exchange (cryptsy, poloniex) provides.
full member
Activity: 224
Merit: 100
CabTrader v2 | crypto-folio.com
Hej.

I am one of the three guys who developed a trading application/framework called leonardo.  
At first we just wanted to create a better trading interface for centralized exchanges but with the built-in market abstraction layer it shouldn't be that hard to get it to talk to counterpartyd.
What do you think? Do you like the idea? Do you see problems?

More info on leonardo at:
https://bitcointalksearch.org/topic/ann-leonardo-version-24-released-trading-guibot-for-bittrex-poloniex-506317

If you have scam concerns, please read our announcement before yelling at us Wink


What would it add to what the protocol already does
legendary
Activity: 1989
Merit: 1008
Hej.

I am one of the three guys who developed a trading application/framework called leonardo.  
At first we just wanted to create a better trading interface for centralized exchanges but with the built-in market abstraction layer it shouldn't be that hard to get it to talk to counterpartyd.
What do you think? Do you like the idea? Do you see problems?

More info on leonardo at:
https://bitcointalksearch.org/topic/ann-leonardo-version-24-released-trading-guibot-for-bittrex-poloniex-506317

If you have scam concerns, please read our announcement before yelling at us Wink
sr. member
Activity: 262
Merit: 250
Cross post from my reply at the official forums https://forums.counterparty.co/index.php/topic,150.msg1387.html#msg1387 regarding a hierarchy for utility and for controlling asset issuance costs:

When I suggested the hierarchy, I didn't give any thought about implementation. It seems people like the idea and I think there is a utility to this idea so here's an implementation idea which is pretty simple but enables pretty much what people are talking about.

Indeed by itself it would be too much of a code change. The asset names are coded as they are in many different tables and having long asset names would cause problems with the limited space we are working with a Bitcoin transaction.

So here is what I suggest to be a simple solution which is backwards compatible and forwards compatible with more adaptations to the price for issuing assets:

There are only two levels of assets distinguished at the protocol level. More than the second level is merely a client side visualization.

1) Add an additional column to the 'issuances' table called 'assetLongName'
2) Add an optional parameter to issuance --asset-long-name
3) A 'top level' is an asset which must have the asset name = asset long name (this can default if no asset-long-name is entered)
4) A 'top level' asset must conform to existing naming conventions
5) An 'lower level' asset is an asset which is only readily distinguishable by the asset-long-name. The asset name (ie the value being used now and passed around in the messages in transactions) cannot be user specified. The asset short name is generated at #6
6) When issuing a 'lower level' asset, the issuer cannot specify the asset name. The short asset name is generated from a hash of the asset-long-name (something like this http://stackoverflow.com/questions/548158/fixed-length-numeric-hash-code-from-variable-length-string-in-c-sharp)
7) When issuing a 'lower level' asset, in the asset-long-name a 'top level' asset name must already exist before the first period '.' in the string (left to right) .

Notes:
* Top level assets are premium priced - for example 5 XCP
* Lower level assets are priced enough to stop spamming of the network - for example 0.1 XCP
* Pricing can be replaced with proof of stake or whatever later
* By default clients can filter top level assets by only getting assets where the short name = long name
* In the long name for lower level assets, after the first period '.' most characters plus a few special characters like GLaDOS mentioned goes. It is up to the clients to fold up the names in a tree structure and organise it nicely. Clients can use lazy loading of tree structures to reduce overhead.
* All internal counterpartyd code continues to stay referencing the existing short name so it will limit recode
* It would then require some rework to allow commands such as 'order' 'send' to be able to reference the asset long name. However, this is not a #1 priority as the short asset name could be used in the interim.
* There is a limited space available for unique (short) asset names  so there will be some collisions with the hashing of the long name. If the hash is already taken, too bad you will need to vary the long name a little bit. That's the consequence of buying a lower level asset name
* Including a unique index on the asset-long-name column of the issuances table should be sufficient to maintain performance on this table

EDIT:
Some examples to show what I'm talking about.

Code:
Asset Short name    Long name                   
BITT                BITT                         
KEOdAi3q            BITT.spanish.dubloon         
OIu3waqn            BITT.spanish.dubloon#1       
RPGGAME             RPGGAME
LPJhiowG            RPGGAME.ruby.cracked
jrOyehHG            RPGGAME.ruby.perfect
BANK                BANK
OIJFE7ig            BANK.I can type whatever I like


Client visualization
Code:
BITT
 +-spanish
         +-dubloon
         +-dubloon#1
RPGGAME
 +-ruby
      +-cracked
      +-perfect
BANK
 +-I can type whatever I like
     
Client visualization alternative - reflects the reality that there is only 2 levels
Code:
BITT
 +-spanish.dubloon
 +-spanish.dubloon#1

RPGGAME
 +-ruby.cracked
 +-ruby.perfect

BANK
 +-I can type whatever I like
sr. member
Activity: 476
Merit: 300
Counterparty Chief Scientist and Co-Founder
Bitcoin 0.9.0 final version is available to download now: https://bitcointalksearch.org/topic/bitcoin-090-final-is-available-changelog-download-522014

Is there any risk to Counterpart client if I upgrade my Bitcoin-Qt to 0.9.0?

Great question bump!

Looking at the changelog, it shouldn't break horribly, but there is at least one tweak to be made w.r.t. the walletpassphrase RPC call. Give us a little while to do some testing.
full member
Activity: 224
Merit: 100
CabTrader v2 | crypto-folio.com
Bitcoin 0.9.0 final version is available to download now: https://bitcointalksearch.org/topic/bitcoin-090-final-is-available-changelog-download-522014

Is there any risk to Counterpart client if I upgrade my Bitcoin-Qt to 0.9.0?

Great question bump!
sr. member
Activity: 602
Merit: 252
Bitcoin 0.9.0 final version is available to download now: https://bitcointalksearch.org/topic/bitcoin-090-final-is-available-changelog-download-522014

Is there any risk to Counterpart client if I upgrade my Bitcoin-Qt to 0.9.0?
sr. member
Activity: 432
Merit: 250
An simple idea that seems to have been ignored on the official forums...

Wouldn't it be easier to just allow dots in the asset names (hint:  Global_trade_repo's hierarchy idea)?

That way BTT.UNIQUESILVER and BTT.RARECOIN would not collide with someone else's UNIQUESILVER and RARECOIN?
As suggested by Global_trade_repo, the asset names with dots in them could cost less to issue.

Not only that, but the buyers could be more confident that the assets were issued from BTT without rechecking/verifying the description/catalog.  An impostor could issue a VERYRARECOIN with a description poiting to BTT's catalog for example.  But the impostor cannot fake a BTT.VERYRARECOIN asset if it's required to own the BTT asset first.

We should also allow other characters such as #, $, %, and digits after the dot in the asset names.  So BTT can issue BTT.SILVER$100  or BTT.GOLD#1906 for example.


Otherwise, assuming a business can issue 100000+ assets, how does it go about organizing/tracking assets efficiently?  It much easier to match BTT.GOLD#1906 or BTT.RAREGOLD#18394 from a catalog than to search for BTT.GOLDXFR and BTT.RAREGOLDSXR to identify the asset.


If Counterparty is a protocol like TCP/IP, then we will need a flexible asset naming scheme that works almost like the domain naming system.



Upon first glance this seems pretty damn genius. It's genius because its so simple its almost obviously the way it should be. I hope the developers strongly consider implementing this or something quite like this, as soon as robot/human-hybridally possible.

Edit: That being said this may be something left to other developers to build on top of Counterparty, but I think its fundamental enough to be included in the protocol layer itself.


Think:

Code:
Issuer.Issuance.Sub-Issuance


And so once an issuer name is chosen, that issuer can create other issuer names of course but they will be the only ones who are permitted to create issuances and sub-issuances relative hierarchically to their issuer name.

And then perhaps blockscan can implement a nice new GUI feature which will allow for collapsing and expanding assets based on this hierarchy of issuance. This will make searching for assets and trusting assets that are issued much much easier and much cleaner of an experience. Good idea GLaDos.


Edit 2: In addition, fees can be adjusted, say... maybe 5 - 10 XCP more or less to register an issuer name, but the issuance might be half that and then the sub-issuances might be even half of half etc., This makes sense to me, but I'm waiting for someone to tell me I'm an idiot or that its not feasible as is common round these parts. -___-



I can't agree more.
This is so beautifully simple it should have been designed that way in the first place!

I wonder how this will affect pre-created assets should it be implemented though.

Agreed this is perfect +++
sr. member
Activity: 350
Merit: 250
Vires in Numeris
An simple idea that seems to have been ignored on the official forums...

Wouldn't it be easier to just allow dots in the asset names (hint:  Global_trade_repo's hierarchy idea)?

That way BTT.UNIQUESILVER and BTT.RARECOIN would not collide with someone else's UNIQUESILVER and RARECOIN?
As suggested by Global_trade_repo, the asset names with dots in them could cost less to issue.

Not only that, but the buyers could be more confident that the assets were issued from BTT without rechecking/verifying the description/catalog.  An impostor could issue a VERYRARECOIN with a description poiting to BTT's catalog for example.  But the impostor cannot fake a BTT.VERYRARECOIN asset if it's required to own the BTT asset first.

We should also allow other characters such as #, $, %, and digits after the dot in the asset names.  So BTT can issue BTT.SILVER$100  or BTT.GOLD#1906 for example.


Otherwise, assuming a business can issue 100000+ assets, how does it go about organizing/tracking assets efficiently?  It much easier to match BTT.GOLD#1906 or BTT.RAREGOLD#18394 from a catalog than to search for BTT.GOLDXFR and BTT.RAREGOLDSXR to identify the asset.


If Counterparty is a protocol like TCP/IP, then we will need a flexible asset naming scheme that works almost like the domain naming system.



Upon first glance this seems pretty damn genius. It's genius because its so simple its almost obviously the way it should be. I hope the developers strongly consider implementing this or something quite like this, as soon as robot/human-hybridally possible.

Edit: That being said this may be something left to other developers to build on top of Counterparty, but I think its fundamental enough to be included in the protocol layer itself.


Think:

Code:
Issuer.Issuance.Sub-Issuance


And so once an issuer name is chosen, that issuer can create other issuer names of course but they will be the only ones who are permitted to create issuances and sub-issuances relative hierarchically to their issuer name.

And then perhaps blockscan can implement a nice new GUI feature which will allow for collapsing and expanding assets based on this hierarchy of issuance. This will make searching for assets and trusting assets that are issued much much easier and much cleaner of an experience. Good idea GLaDos.


Edit 2: In addition, fees can be adjusted, say... maybe 5 - 10 XCP more or less to register an issuer name, but the issuance might be half that and then the sub-issuances might be even half of half etc., This makes sense to me, but I'm waiting for someone to tell me I'm an idiot or that its not feasible as is common round these parts. -___-



I can't agree more.
This is so beautifully simple it should have been designed that way in the first place!

I wonder how this will affect pre-created assets should it be implemented though.
legendary
Activity: 1008
Merit: 1000
Needless to say, whether or not xcp meets it's goals is impartial to mastercoin.

I believe the fortunes are linked.

That being said I have a diversified portfolio which includes nearly all bitcoin 2.0 style meta protocols.

That is the smartest thing to do.
full member
Activity: 224
Merit: 100
CabTrader v2 | crypto-folio.com
Considering what's been done so far, I have unbiased confidence in xcp surpassing it's goals.

It can't be unbiased if if you have already staked a lot in XCP and none in MSC.

That's actually not true of a mature investor. Needless to say, whether or not xcp meets it's goals is impartial to mastercoin. That being said I have a diversified portfolio which includes nearly all bitcoin 2.0 style meta protocols.
legendary
Activity: 1008
Merit: 1000
Considering what's been done so far, I have unbiased confidence in xcp surpassing it's goals.

It can't be unbiased if if you have already staked a lot in XCP and none in MSC.
full member
Activity: 224
Merit: 100
CabTrader v2 | crypto-folio.com
Considering what's been done so far, I have unbiased confidence in xcp surpassing it's goals.
legendary
Activity: 1008
Merit: 1000
I don't see why xcp and msc can't coexist, I think there are some frightened investors over there :/

They will end up with similar feature set, so unlikely both will be successes.

The main problem for XCP seems to be the lack of funds. Even though XCP has shown more competent developers, competing over a long time against MSC with lots of funds is difficult.

there are at least a few hundred early adopters and burners who have interest in xcp succeeding

additionally the developers say to be self-sufficient and had until now no problems even to fund premium auditing - I assume they did not create counterparty protocol to become rich  

no doubt msc has more money (even though we do not know, but it is highly likely), but why does it need >1000 btc to develop and run a protocol on top of bitcoin?

It helps when you have to hire a lot of additional developers to make several features in parallel.

A few hundred early adopters and burners doesn't translate to funds for bounties.

I am not saying MSC will be a definite success and XCP a failure. If it was I would have sold XCP now and bought more MSC. Just what I think may be a likely outcome.
hero member
Activity: 742
Merit: 500
I don't see why xcp and msc can't coexist, I think there are some frightened investors over there :/

They will end up with similar feature set, so unlikely both will be successes.

The main problem for XCP seems to be the lack of funds. Even though XCP has shown more competent developers, competing over a long time against MSC with lots of funds is difficult.

there are at least a few hundred early adopters and burners who have interest in xcp succeeding

additionally the developers say to be self-sufficient and had until now no problems even to fund premium auditing - I assume they did not create counterparty protocol to become rich 

no doubt msc has more money (even though we do not know, but it is highly likely), but why does it need >1000 btc to develop and run a protocol on top of bitcoin?
hero member
Activity: 728
Merit: 500
Activity: yes
Noob question, please explain Smiley

Does NXT, XCP and etherium try to accomplish the same thing?
The only difference is that XCP runs on the bitcoin chain?


XCP and NXT along with MSC seem to be trying the same thing. XCP runs on the BTC blockchain but they can decide anytime to shift to a different coin or even run its own blockchain.

Ethereum is different, and at this point just a lot of hot air and in my opinion will be a flop. Think of it as an Operating System on which other apps will be built.

thank you Smiley
legendary
Activity: 1008
Merit: 1000
Noob question, please explain Smiley

Does NXT, XCP and etherium try to accomplish the same thing?
The only difference is that XCP runs on the bitcoin chain?


XCP and NXT along with MSC seem to be trying the same thing. XCP runs on the BTC blockchain but they can decide anytime to shift to a different coin or even run its own blockchain.

Ethereum is different, and at this point just a lot of hot air and in my opinion will be a flop. Think of it as an Operating System on which other apps will be built.
Jump to: