[{"data":1,"prerenderedAt":225},["ShallowReactive",2],{"\u002Fblog\u002F2019-03-12-triveasset-before-inscriptions":3},{"id":4,"title":5,"body":6,"category":214,"date":215,"description":216,"extension":217,"meta":218,"navigation":219,"path":220,"seo":221,"stem":222,"thumbnail":223,"__hash__":224},"blogs\u002Fblog\u002F2019-03-12-triveasset-before-inscriptions.md","TriveAsset — Putting Assets on Bitcoin Before the Inscription Wave",{"type":7,"value":8,"toc":206},"minimark",[9,16,24,29,32,35,60,65,79,82,86,89,111,114,136,140,143,150,157,186,192,196,203],[10,11,12],"p",{},[13,14,15],"em",{},"An archival field note — documenting work from that era, written up for the record later.",[10,17,18,19,23],{},"We built TriveAsset — TA for short — to encode both fungible and non-fungible assets directly on Bitcoin. No sidechain, no smart-contract state machine. Just a Bitcoin transaction carrying a tiny \"dust\" output for ownership and an ",[20,21,22],"code",{},"OP_RETURN"," payload for the asset's data. It sat squarely in the colored-coins lineage — the same broad instinct the industry would later chase again with \"inscriptions,\" though by a different mechanism. We were early. Early is not the same as polished, and I want to be honest about both halves of that sentence.",[25,26,28],"h2",{"id":27},"the-mechanism-plainly","The mechanism, plainly",[10,30,31],{},"Bitcoin doesn't have accounts. It has UTXOs — unspent transaction outputs. Your balance is just the set of outputs you can spend. TriveAsset piggybacks on that.",[10,33,34],{},"To issue an asset, you broadcast a transaction with two things in it:",[36,37,38,51],"ul",{},[39,40,41,42,46,47,50],"li",{},"A tiny ",[43,44,45],"strong",{},"dust output"," — a few hundred satoshis sent to an address. This UTXO ",[13,48,49],{},"is"," the asset. Whoever can spend it, owns the asset. Transfer ownership by spending the dust to a new address.",[39,52,53,54,59],{},"An ",[43,55,56,58],{},[20,57,22],{}," output"," carrying the \"open data\" — the asset's rules and metadata: what it is, how many units, divisible or not, this operation's issue\u002Ftransfer\u002Fburn intent.",[10,61,62,64],{},[20,63,22],{}," is an unspendable, prunable output built for exactly this — attaching a small blob of data to a transaction. On Bitcoin that blob was capped at 80 bytes of payload, which matters a lot later.",[10,66,67,68,71,72,75,76,78],{},"The chain itself has no idea any of this means \"an asset.\" Bitcoin sees a normal transaction moving dust around. The ",[13,69,70],{},"meaning"," lives entirely off-chain: a ",[43,73,74],{},"wallet or indexer"," walks the blockchain, finds transactions tagged as TriveAsset, reads each ",[20,77,22],{},", follows the dust UTXOs as they're spent, and reconstructs who owns what. The blockchain stores the events; the indexer computes the state.",[10,80,81],{},"That's the whole trick. On-chain data, off-chain interpretation.",[25,83,85],{"id":84},"we-did-not-invent-this-and-that-matters","We did not invent this — and that matters",[10,87,88],{},"I want to place this honestly in its lineage, because the honest version is more useful than the flattering one.",[10,90,91,92,95,96,99,100,103,104,107,108,110],{},"Embedding asset meaning into Bitcoin's UTXOs is the ",[43,93,94],{},"colored coins"," family, and it predates us by years. Yoni Assia floated \"colored bitcoin\" in 2012; Meni Rosenfeld's colored-coins writeup landed the same year. Then came the protocol wave: ",[43,97,98],{},"Mastercoin"," (2013, later renamed ",[43,101,102],{},"Omni"," — the rail Tether first launched on in 2014), and ",[43,105,106],{},"Counterparty"," (2014), which was one of the first to use ",[20,109,22],{}," to carry asset data directly. Those projects proved you could run programmable asset infrastructure on top of Bitcoin without touching the base protocol.",[10,112,113],{},"TriveAsset stands on that shoulder. We didn't invent embedding assets on Bitcoin. What we did was build and ship our own take on it — a working tokenization layer for fungible and non-fungible assets — inside Trivechain, at a time when almost nobody in our region had operated this class of system end to end.",[10,115,116,117,120,121,124,125,128,129,131,132,135],{},"The honest, still-interesting claim is the narrow one: ",[43,118,119],{},"we were building asset-on-Bitcoin encoding years before the inscription wave made the idea mainstream."," When Casey Rodarmor shipped Ordinals in January 2023, and ",[20,122,123],{},"@domodata"," posted the BRC-20 schema that March, the mechanism was different — inscriptions write into Taproot ",[43,126,127],{},"witness"," data rather than an 80-byte ",[20,130,22],{}," — but the ",[13,133,134],{},"philosophy"," rhymed with the colored-coins lineage we were already living in: put the asset's data directly onto Bitcoin instead of into a smart-contract state machine, and let indexers reconstruct the rest. BRC-20 ran into a familiar set of tradeoffs — off-chain indexer consensus, fee overhead, no native on-chain state — the same class of problems we'd already hit, even where the specifics differed.",[25,137,139],{"id":138},"the-honest-contrast-it-was-clunkier-than-erc-20","The honest contrast: it was clunkier than ERC-20",[10,141,142],{},"If you've only worked with ERC-20, the UTXO approach feels like fighting the tool. That feeling is correct.",[10,144,145,146,149],{},"ERC-20 is ",[43,147,148],{},"account\u002Fstate-based",". One smart contract holds a clean global balance table — a mapping from address to balance — and the chain enforces it. You query the contract and it just tells you the truth. The state is native.",[10,151,152,153,156],{},"UTXO-embedded assets have ",[43,154,155],{},"no native state",". There is no balance table anywhere on-chain. You reconstruct it by replaying every relevant transaction through an indexer. Which means:",[36,158,159,165,171,180],{},[39,160,161,164],{},[43,162,163],{},"You depend on off-chain indexers."," Two indexers with slightly different rules can disagree about a balance. The chain won't referee — it doesn't know the asset exists.",[39,166,167,170],{},[43,168,169],{},"You fight the dust limit."," Every ownership record is a live UTXO you have to keep funded above dust. Assets bloat the UTXO set, and you're paying attention to satoshi-level accounting just to hold a token.",[39,172,173,179],{},[43,174,175,176,178],{},"You fight ",[20,177,22],{}," size."," 80 bytes is enough for a tag or a hash, not for rich metadata. You encode tightly, or you spill data across transactions, or you point to something off-chain.",[39,181,182,185],{},[43,183,184],{},"You pay fee overhead on everything."," Every mint, transfer, and burn is a full Bitcoin transaction with real miner fees, whether the asset is worth a lot or nothing.",[10,187,188,189,191],{},"None of that is fatal. All of it is friction. Sending an ERC-20 is one contract call; doing the equivalent with dust plus ",[20,190,22],{}," is a small archaeology project every time you want to know the truth. I'm not going to pretend the UX was competitive. It wasn't.",[25,193,195],{"id":194},"what-being-early-actually-taught-me","What being early actually taught me",[10,197,198,199,202],{},"Being early doesn't hand you the market. It hands you the ",[13,200,201],{},"shape of the problem"," before anyone agrees on a name for it. We hit the indexer-consensus problem, the dust-management problem, the metadata-size problem, and the fee-overhead problem years before \"BRC-20\" was a phrase people argued about on Twitter. When the inscription wave arrived and the whole ecosystem started tripping over those same four rocks, none of them were new to us.",[10,204,205],{},"That's the real lesson, and it's not a victory lap. Early only pays if you're still standing when the idea's time arrives. Being early is a form of tuition — you pay it in clunky UX and dead ends, and the return only shows up if you survive to the moment the market catches up. We built asset encoding on Bitcoin before the mainstream cared. That taught me the terrain. Whether the timing ever paid off is a different question, and an honest post keeps those two things apart.",{"title":207,"searchDepth":208,"depth":208,"links":209},"",2,[210,211,212,213],{"id":27,"depth":208,"text":28},{"id":84,"depth":208,"text":85},{"id":138,"depth":208,"text":139},{"id":194,"depth":208,"text":195},"Blockchain","2019-03-12","How we encoded fungible and non-fungible assets directly on Bitcoin using a dust UTXO plus OP_RETURN data — the same idea inscriptions later made mainstream, and the same tradeoffs they rediscovered.","md",{},true,"\u002Fblog\u002F2019-03-12-triveasset-before-inscriptions",{"title":5,"description":216},"blog\u002F2019-03-12-triveasset-before-inscriptions","\u002Fimg\u002Fblog\u002Ftriveasset-before-inscriptions-cover.svg","aRS4se0xvCpglNGH90PtOzj6w32OPW_9WXPPJvCjvqY",1783650495301]