Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matthewjamesr/10b5a9c96eae976f5a31fc6dc397c6fb to your computer and use it in GitHub Desktop.
Save matthewjamesr/10b5a9c96eae976f5a31fc6dc397c6fb to your computer and use it in GitHub Desktop.

This technical discussion includes viewpoints from both Matthew Reichardt, founder of Gearvault ™, and Julian Smith, founder of Blockfreight ™. This discussion outlines what we believe the future of sub-asset usage in Counterparty should look like.

Counterparty Logo

Counterparty Enables Advanced Features Deployable to the Bitcoin Blockchain

Counterparty is a remarkable technology that enables it's user base to easily deploy assets on-top of the Bitcoin blockchain. Those unique assets are one of the primary uses of the Counterparty network and can represent any financially fungible item: a new digital currency, asset redemption, tickets, and even game items.

Many companies and individuals develop on this platform. It allows them to create feature-rich bitcoin-enabled applications, and gives their users the security and decentralized freedom that the Bitcoin blockchain provides. Companies like Storj are enabling the future of decentralized, secure, and cheap cloud storage by utilizing the power of Counterparty-deployable assets. Blockfreight™ is driving a revolution in global freight by creating an infrastructure to easily digitize and transfer ownership of goods. Other Counterparty developers are working on the next-generation of gaming by harnessing the power of custom assets to represent in-game items. Spells of Genesis is a trading card game (TCG) being developed on the blockchain. Each card can be held by a user's wallet and traded instantly with other players, creating an organic economy without any additional development work.

The Sub-Asset Question

Counterparty was built with the intention to allow it's users to deploy assets of value on the Bitcoin blockchain. Through development and experimentation several community members have noted the need to be able to deploy sub-asset-styled tokens. Before continuing on it is important to ask yourself, what is a sub-asset?

An example Counterparty asset: TOKENME

Above we can see an example asset name. This naming pattern is achievable without issue for a majority of the user base. The need to have only a top-level asset name is great for deploying new currencies and most items holding value, but this pattern is limited. There are several use-cases that could call for sub-assets and two example asset patterns are listed below.

An example Counterparty sub-asset: TOKENME::ITEM1 This pattern could allow for a generalized top-level assets and the ability to add unique sub-assets. Projects needing the ability to dynamically generate an item off-chain would be able to secure their asset name by creating a namespace based off of the top-level asset. Only the owning address would be able to deploy sub-assets. Here we create an asset to be used in a game named TOKENME. This top-level asset could possibly be used as an in-game currency or as a fee to enable trades. The sub-asset ITEM1 denotes an asset, owned by TOKENME, and represents a unique in-game item.

An example Counterparty sub-asset with nested item: TOKENME::DECKNAME:CARD In addition to the earlier example, this pattern enables the ability to chain one additional asset onto the sub-asset. Here we create an asset to be used in a game named TOKENME. This top-level asset could possibly be used as an in-game currency or as a fee to enable trades. The sub-asset DECKNAME denotes an asset, owned by TOKENME, and is used to tag a unique card deck. CARD is the actual in-game item, belonging to deck DECKNAME, in game asset TOKENME.

By organizing the full asset name and breaking out the sub-asset name with two colons, and the chained-asset with one colon, the community will be able to efficiently use reg-expressions to easily represent this data in end-user facing services. The usage of colon-based separators in Counterparty is paramount as to not alter the usage of the platform to a service such as Namecoin.

Sub-Assets Add Value to Counterparty by Providing New Development Possibilities

The community behind Counterparty would greatly benefit, following the above defined patterns, from sub-asset inclusion to the platform. This feature will, over time, help enable new platforms to be developed on top of Counterparty that would have previously never been possible in an top-level-only asset system. It provides a means to generate off-chain transactions enhancing user experience, with the ability to secure asset names via the predefined pattern above. It is our recommendation and vote that sub-assets, as defined in this document, should be quickly implemented into the Counterparty platform.


PGP Signed Message Should Match:

  • Matthew Reichardt
    • Keybase.io Proof
    • Fingerprint: 25BF 0835 8539 6AC3 A6BA AEF5 3B58 65F4 5538 D4A4
    • Signed Message: Counterparty: Assets and Utilization of Sub-Assets In Practice 20160817 MJR
  • Julian Smith
    • Keybase.io Proof
    • Fingerprint: 8093 AEE0 58D4 E748 0FFB 968D B597 C214 D51F 2C1A
    • Signed Message Counterparty: Assets and Utilization of Sub-Assets in Practice 20160817 ???

Matthew Reichardt

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Counterparty: Assets and Utilization of Sub-Assets In Practice 20160817 MJR
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.56
Comment: https://keybase.io/crypto

wsBcBAABCgAGBQJXtHs6AAoJEIEUtbYtzSKD6/oH/09Flf9xoMUK7fn+ihUFpz2S
hP4X13h587ixwhDa9xjKPUTadT/lyPzHyyRob5F/eLI18PFQHqvkGKOwZM9au46/
sebEAfJIj2r8Jhyqhy4ak9d8mg2dToHUqNeaEtNmbnLoIPRtbMfuyYtsbtgRkjNe
DVMBqwS8s+a7KsDhDNeCddjXx4ANoDE5oMTU5vr92MSgDMlTkVDwso7BVKvbFicw
npzBr5E6rHYEiL5uQUpa/Qw5K/JvFn/d51Ymr+oEzhHpsQv2JILX2D6TI263D3gk
0UtvuRVvme4ae8LyzSY89wKJUtC4UqvNC0tJF2I1dJh47B3ivgIBaimRWZtXrSo=
=gJYM
-----END PGP SIGNATURE-----

Julian Smith

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Counterparty Enables Advanced Features Deployable to the Bitcoin Blockchain
https://gist.github.com/matthewjamesr/10b5a9c96eae976f5a31fc6dc397c6fb
-----BEGIN PGP SIGNATURE-----
Version: Keybase OpenPGP v2.0.56
Comment: https://keybase.io/crypto

wsBcBAABCgAGBQJXt7aHAAoJELfAFfOxIMiJ7coH/jtW1kR1PRUCIyLkkqrmIV7K
KpMM2nciOVw83MbVcm3lj1JkUHw18QI3stSYILBrtnxjX88SPekoSRSfHHTyPlbz
H3kJeQofRv4lWfoqKE8r6ODflKjCdA9UCGtOHqptw22fl2jRSMTqzRxig5iyOTZl
85K5g4q7sLYkvAGfrfkY9TYrqgGGIooLAunZLjeSlHX0D2wdIlmdWFubqB8pWkYC
fI8jxrfBPsb6v99X9ftPVn5W7TkpTKwjge3RwiCw/2xtWFAJ50bqiQFypvtDixwP
Ljqq3edbqZBpOxjOhZx8fiC8ZmHHLeeL9FQCa08a78qMuS+sNr0S1y/fU/FsURw=
=y6/e
-----END PGP SIGNATURE-----
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment