Bitcoin Forum
November 11, 2024, 04:56:08 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 5 »  All
  Print  
Author Topic: #assets-otc - Contract Management System  (Read 11883 times)
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
September 02, 2012, 01:01:55 PM
Last edit: October 06, 2012, 07:06:31 PM by piotr_n
 #1




As GLBSE is collapsing along with Nefario's trust level, I decided to provide the community with a system that would allow asset issuers to smoothly migrate their customers to a new asset management platform, based on a completely different security and trust system.

Unlike GLBSE, #assets-otc is not a trading system, but just a contract management system (at least for the moment).

Each #assets-otc account is identified by a fingerprint of PGP RSA key - no emails, no passwords, no double or triple factor authentications - nothing except PGP cryptography.
This rule applies to both; asset issuers (AI) and regular users (asset owners - AO). Each user can provide some more info about himself that will be shown his public profile. This is a place where you can i.e. link your #assets-otc profile with your #bitcoin-otc identity.

Asset issuers have also all the privileges of regular users - so they can own assets that are under control of someone else.

The platform provides a secured bookkeeping service for AIs and a realtime view into the books by AOs.
The security of each asset is under full control of its AI, who has a full view into the list of the shareholders and how many assets each of them owns.

Transfers of the assets within the service (between the accounts) must be therefore handled by AI.
Since each account must have a PGP key assigned to it, it is advisable (but not required) for the AI to have a copy of the PGP signed contract for each transfer that he logs into the system.

As already mentioned, I will personally not be involved in the actual bookkeeping.
But in case of any dispute I can provide arbitrage. Therefore it is very important for AIs to keep a signed contract of the transactions they are performing because while providing arbitrage I will consider any transfer not backed by a signed contract as invalid. Too many of such – and you are being kicked out from the service.

Moreover if any AI would be violating his own contract (which BTW must also be PGP signed), he will also be kicked out. As an example: if you'd be selling more PPT bonds after BS&T announced that they stopped accepting deposits (something that's been happening with TYGRR.BOND-P) – you are kicked out and banned from the service forever, along all the assets which you are AI for.

Moving your assets from GLBSE to #assets-otc should not be a problem - as well, as the other way around.


The service is currently available at: https://assets-otc.com
Before you log in make sure to import your PGP key into the system - there is a page where you can just post it: https://assets-otc.com/addkey.php
Any feedback welcome.

There is also the about page, where you can read some - I update it from time to time: https://assets-otc.com/about.php

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
September 02, 2012, 01:02:26 PM
Last edit: October 27, 2012, 05:37:48 PM by piotr_n
 #2

Questions & Answers

Please note that the FAQ below is outdated.
The latest version is available at the FAQ page of assets-otc.com


How can I open an account?
1) Upload your public PGP key using this page: http://assets-otc.com/addkey.php
2) The first time you login your account will be automatically created

What are the transaction fees?
The service does not charge any fees for any transfers of any assets.
Though we don't prohibit the AIs to charge fees for processing the contracts.

How do I become the asset issuer (AI)?
After you have the user account already, just send me the signed contract for the asset and I will add it to the system, putting your account as the AI.

Do I need to pay for booking my asset at your service and being its AI?
No, you don't.
At least not at the moment, so better hurry up.. Wink

What if you run away with my bitcoins / assets?
I don't hold your bitcoins, neither assets at any moment.
Only the AI might run away with your stuff, so make sure you trust him or have a legally binding contract.

What happens if the service goes down or an asset is kicked out of it?
The AI always has the up-to-date list of all the shareholders and their PGP identities, so he can find another service or just handle it all further manually.

Will the source code be open?
Yes - I will put it on giuthub.
Just not yet, because I need to get some customers first, not letting someone else to get them using my own work.

Is it possible for one asset to use both, GLBSE and #assets-otc?
Yes, but while you have your assets stored in #assets-otc you cannot sell them at GLBSE and you cannot vote motions there.
But you are still entitled to dividends and you can trade them over the counter with other #assets-otc accounts.
Also, you may request the AI to withdraw your assets from #assets-otc back to GLBSE or any other exchange - so you could trade them there.

How can I transfer my GLBSE assets to this service?
Talk to the guy who issued the asset at GLBSE and ask him to do it for you.
If he doesn't know how to do it, send him to me - I can guide him through.

If I have my assets in this service, will I be able to transfer them to GLBSE or other exchange?
As long as the AI agrees to do it for you, I wouldn't be able to prevent that, even if I wanted.

Is the service going to help with paying out the dividends?
Yes.
For this an open source tool has been created, which can (and should) be used offline.
Each time before paying dividends you will download from the server a file called like contracts_YOURASSET.tar.gz (it's most recent version).
This file contains the entire history of your asset's transfers, the dividend payment addresses and all the customers' public keys.
You will only need to specify the total amount you want to pay as dividends - and then just run the script.
If all the signatures in the contract chain are OK and all the dividend payments addresses are set, the script will output the exact JSON-RPC "sendmany" command, which you can then execute right away at your bitcoin client.

How can I sell my assets which I have stored in #assets-otc?
 1) find a buyer and agree on the price
 2) ask him to register his PGP key at #assets-otc (if he hasn't yet)
 3) sign the contract with both your PGP keys (stating number of assets you want traded and the bitcoin address for the payment)
 4) send the signed assets transfer request to the relevant AI, so he could log the change in the system.

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
Bitinvestor
Sr. Member
****
Offline Offline

Activity: 470
Merit: 250


View Profile
September 03, 2012, 05:03:48 PM
 #3

But in case of any dispute I can provide arbitrage. Therefore it is very important for AIs to keep a signed contract of the transactions they are performing because while providing arbitrage I will consider any transfer not backed by a signed contract as invalid. Too many of such – and you are being kicked out from the service.

You mean arbitration, not arbitrage.

Those who cause problems for others also cause problems for themselves.
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
September 03, 2012, 05:22:37 PM
 #4

But in case of any dispute I can provide arbitrage. Therefore it is very important for AIs to keep a signed contract of the transactions they are performing because while providing arbitrage I will consider any transfer not backed by a signed contract as invalid. Too many of such – and you are being kicked out from the service.

You mean arbitration, not arbitrage.

Yeah, I think so - my English not so good Smiley

However called it, I just hope that it will never be necessary - the cryptography behind the contracts should be enough for the users to never request a public dispute.
Needless to say that I will make any requested dispute public - so people can learn about credibility of the sides of the contract.

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
Jutarul
Donator
Legendary
*
Offline Offline

Activity: 994
Merit: 1000



View Profile
September 03, 2012, 09:43:54 PM
 #5

As GLBSE is collapsing along with Nefario's trust level, I decided to provide the community with a system that would allow asset issuers (AIs) to migrate their customers to a new asset management platform, based on a completely different security and trust system.

Unlike GLBSE, #assets-otc is not a trading system, but just a contract management system (at least for the moment).
...
Looking forward to hear from you and, by the way, let me just warn you again: don't let the goat's lying bitch to steal your stuff!

I really like the idea of a contract management system. However, it would be nice to have the best of both worlds (trading system+proof of ownership).

I think maybe the time is ripe for a new blockchain for asset management. Call it the Assetcoin. This would allow the ability to move shares out of a trading platform, similar to the way it works in bitcoin. Only keep those shares on the platform which you'd like to trade.

It could be powered by merged mining. It is different from bitcoin in a sense that anybody would be able to "create" an asset and issue transfers to recipients. The recipients in turn have full control over the shares. The blockchain would also have to support a special type of transaction which supports Yea/Nay votes, which can only be issued by the asset creator.

The question is the incentive structure for mining such a blockchain. Since a 51% attack may be used to prevent competitors from trading their shares. You could introduce a mint for assetcoins, which - similar to name coin - have to be consumed in order to issue or trade shares. However, it's problematic. You could couple the mint rate to the block size limit (1MB) and request that each transaction costs the equivalent amount of its byte-size. This would assure that the blockchain doesn't get spamed and the proportion between "assetcoins" and transaction demand is met.

I'd be interested in joining the development of such a block-chain. Especially since it apparently solves a problem with centralized asset management systems...

The ASICMINER Project https://bitcointalk.org/index.php?topic=99497.0
"The way you solve things is by making it politically profitable for the wrong people to do the right thing.", Milton Friedman
markm
Legendary
*
Offline Offline

Activity: 3010
Merit: 1121



View Profile WWW
September 03, 2012, 09:51:36 PM
 #6

There were actually a bunch of blockchains that operated basically like shares, in that their value was implicit in the "reserves" (assets) of the issuer who "backed" them by buying them back using those reserves.

The lack of merged mining enthusiasm though foreced them to retreat for now into Open Transactions form, pending sufficient transaction volume for transaction fees to become enough incentive for merged miners. Though also the Massively Merged Mining project is also partly intended for the purpose of eventually deploying so much mining power that these chains will maybe be able to come back out in public as blockchains once that project has massive amounts of hashing to put toward helping secure them.

It is a pity since so far all indications are that they are a very successful way of setting up a coinage; they have been performing very well.

(See http://galaxies.mygamesonline.org/digitalisassets.html for some tables of valuations.)

-MarkM-


Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Jutarul
Donator
Legendary
*
Offline Offline

Activity: 994
Merit: 1000



View Profile
September 03, 2012, 11:18:36 PM
 #7

There were actually a bunch of blockchains that operated basically like shares, in that their value was implicit in the "reserves" (assets) of the issuer who "backed" them by buying them back using those reserves.
The idea of an assetcoin would be that it acts as a backbone for all kinds of shares. The minted coins should not be associated with the shares, just act as a means to facilitate transactions and provide the incentive structure.
creating a blockchain for each asset is overkill.

The lack of merged mining enthusiasm though foreced them to retreat for now into Open Transactions form, pending sufficient transaction volume for transaction fees to become enough incentive for merged miners.
Yes I can see why this would be a problem. I don't really understand open transactions - will have to read up on that. But it sounds like a centralized solution. The benefit of a dedicated blockchain for asset control and transfer would be that the shares can be traded, even if some central server goes offline... thus it facilitates a more decentralized, but synchronous market environment.


The ASICMINER Project https://bitcointalk.org/index.php?topic=99497.0
"The way you solve things is by making it politically profitable for the wrong people to do the right thing.", Milton Friedman
markm
Legendary
*
Offline Offline

Activity: 3010
Merit: 1121



View Profile WWW
September 03, 2012, 11:32:40 PM
 #8

Shares are inherently centralised though so really the issuer might as well simply run their own system recording the shares, p2p is overkill and needless expense since regardless the issuer is really the only person who can validate them and is the person who ultimately has to provide them with value / redeem them / back them / whatever.

-MarkM-

EDIT: It does sound though like people offering to act as brokers or passthroughs or some such thing could be useful for people who do not want to run open transactions clients themselves to nonetheless be able to get exposure to assets that are run on open transactions...


Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Jutarul
Donator
Legendary
*
Offline Offline

Activity: 994
Merit: 1000



View Profile
September 04, 2012, 12:25:43 AM
 #9

Shares are inherently centralised though so really the issuer might as well simply run their own system recording the shares, p2p is overkill and needless expense since regardless the issuer is really the only person who can validate them and is the person who ultimately has to provide them with value / redeem them / back them / whatever.
Please don't confuse the concept of transferable rights (shares) with the technical implementation of the transfer system. I don't think a blockchain for asset management would be overkill. It would solve the very specific need to track and transfer shares without the interference or regulation of a third party. Validation is not really an issue, because in a blockchain each share is inherently validated at each point in time from the time of issuance.

A blockchain like this would remove the burden of an asset issuer to choose a specific market place. And it also allows a particular asset to be traded at different websites at the same time.

The ASICMINER Project https://bitcointalk.org/index.php?topic=99497.0
"The way you solve things is by making it politically profitable for the wrong people to do the right thing.", Milton Friedman
markm
Legendary
*
Offline Offline

Activity: 3010
Merit: 1121



View Profile WWW
September 04, 2012, 12:30:57 AM
 #10

You could try it with namecoin to prove the concept. As it already provides a way of transferring ownership of arbitrary labels, it should be almost ready to do this right off the shelf. You might not even need to add a namespace specificalyl for shares, you could treat each share as a hostname within the issuer's domain maybe or something like that.

Or for example as well as having knotwork already in there for my .bit domain I could add knotwork-share-0001, knotwork-share-0002 etc for a bunch of shares and people can use namecoin to change their ownership.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Jutarul
Donator
Legendary
*
Offline Offline

Activity: 994
Merit: 1000



View Profile
September 04, 2012, 12:47:32 AM
 #11

You could try it with namecoin to prove the concept. As it already provides a way of transferring ownership of arbitrary labels, it should be almost ready to do this right off the shelf. You might not even need to add a namespace specificalyl for shares, you could treat each share as a hostname within the issuer's domain maybe or something like that.
Thanks for the suggestion - I'll look into it. But I am not very optimistic that namecoin provides the right infrastructure.

The ASICMINER Project https://bitcointalk.org/index.php?topic=99497.0
"The way you solve things is by making it politically profitable for the wrong people to do the right thing.", Milton Friedman
markm
Legendary
*
Offline Offline

Activity: 3010
Merit: 1121



View Profile WWW
September 04, 2012, 01:51:02 AM
 #12

It seems like plenty, People can even use it to record an address for dividends to be sent to on a per share basis.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
September 04, 2012, 06:40:56 AM
Last edit: September 04, 2012, 03:34:47 PM by piotr_n
 #13

In a way this system is already based on a sort of a blockchain - though one that does not involve mining.
The blocks are just introduced into the chain by executing sign+encrypt over the contracts based on templates.

The blocks do not have a secured reference to a previous block (only a sequence number or a timestamp), but if anyone would require such a protection, it could be done. Though I also see side effects of such a requirement.

Every contracts_YOURASSET.tar.gz (mentioned in the second post) contains all the history for a specific asset.
Each asset starts its balance from 0 - therefore, before anyone can have any shares, they first need to be created by AI, also by using a signed transaction.

Currently there are two types of contracts (blocks) in the chain: TRANSFER and DIVADR.


1a. Transfer that creates new assets - signed by AI:
Code:
Warning: Never sign this data with your PGP key if you don't know what it means!
ORDER:TRANSFER
SEQ:1
ASSET:ASSETS-OTC
COUNT:10000
FROM:CREATE_NEW_ASSETS
TO:AB9EA551E262A87A13BB90591BE7B545CDF3FD0E
DESC:The raise of #assets-otc

1b. Regular Transfer, changing ownership of existing assets - this also gets signed by AI, though he should keep the proof (somewhere in his files) that both the parties signed for such a transfer.
Code:
Warning: Never sign this data with your PGP key if you don't know what it means!
ORDER:TRANSFER
SEQ:2
ASSET:ASSETS-OTC
COUNT:100
FROM:AB9EA551E262A87A13BB90591BE7B545CDF3FD0E
TO:7741F6C91E69F276E6559169880400190E7E1409
DESC:Sold at 0.65BTC//share

1c. Transfer that cancel assets - signed by AI:
Code:
Warning: Never sign this data with your PGP key if you don't know what it means!
ORDER:TRANSFER
SEQ:3
ASSET:ASSETS-OTC
COUNT:5000
FROM:AB9EA551E262A87A13BB90591BE7B545CDF3FD0E
TO:CANCEL_THE_ASSETS
DESC:I decided to cut in half the number of assets in this project - canceling my own assets


2. Set dividend payment address - signed by a shareholder. This one does not have a sequence number, but a timestamp instead:
Code:
Warning: Never sign this data with your PGP key if you don't know what it means!
ORDER:DIVADR
TIME:1346692253
ASSET:ASSETS-OTC
USER:AB9EA551E262A87A13BB90591BE7B545CDF3FD0E
ADDRESS:16cMquXDrDcKGvSbut3A5im72xUTBgVNKw


The contracts are generated by the system from a data entered into web forms, then a user is requested for his signature and if everything is verified to be correct (i.e. there are enough assets in the source account), the signed contract is added at the end of the existing ones.

All the contracts (the entire "blockchain") for a specific asset can be downloaded from the service any time by the AI as a single archive. Each contract is in a separate file and the files represent consecutive blocks when sorted alphabetically. They can also be send to the AI by email, each time a new contract is added to the chain.

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
DutchBrat
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1000


View Profile
September 06, 2012, 07:11:28 PM
 #14

Just signed up !

gweedo
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000


View Profile
September 06, 2012, 07:25:26 PM
 #15

Same here I signed up, looks like a cool system.
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
September 06, 2012, 07:29:48 PM
 #16

Welcome guys!
70 more worthless shares to give away... Tongue

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
gweedo
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000


View Profile
September 06, 2012, 07:34:01 PM
 #17

Welcome guys!
70 more worthless shares to give away... Tongue

just a bug report, when i try to set a dividend bitcoin address it sends me to a blank page and doesn't set it.
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
September 06, 2012, 07:36:08 PM
 #18

Welcome guys!
70 more worthless shares to give away... Tongue

just a bug report, when i try to set a dividend bitcoin address it sends me to a blank page and doesn't set it.

Thanks - I'm on it...

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
piotr_n (OP)
Legendary
*
Offline Offline

Activity: 2055
Merit: 1359


aka tonikt


View Profile WWW
September 06, 2012, 07:38:43 PM
 #19

Welcome guys!
70 more worthless shares to give away... Tongue

just a bug report, when i try to set a dividend bitcoin address it sends me to a blank page and doesn't set it.

Thanks - I'm on it...
How about now?

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
gweedo
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000


View Profile
September 06, 2012, 08:04:32 PM
 #20

yep it works!
Pages: [1] 2 3 4 5 »  All
  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!