Professional Documents
Culture Documents
Bitcoin Agent
Bitcoin Agent
Abstrac
This paper introduces a novel service framework "Bitcoin Agent"
that allows anyone to independently operate, verify, index, and
query the blockchain in a way that is Byzantine fault tolerant and
provides a general Turing-Complete state machine that can be
independently veri ed using the native tamper resistant chain of
digital signatures built into Bitcoin satoshi token themselves. All
applications can operate trustlessly with no direct communication (if
desired), but instead act as "Byzantine listeners" whom track the
strongest proof-of-work signal for any state coordination. Indeed,
this agent is a special kind of listening Bitcoin node (ie: One which
only reads blocks and does not create them) that relies only on the
raw block header proof-of-work chainwork and the raw block data
itself which can be obtained securely and trivially from any provider.
We analyze the framework and claim this approach is capable of
easily handling 1-10 GB blocks every 10-minutes (about 3-30
million transactions) on home desktop computers simply equipped
with an internet connection with only +20 mbps bandwidth.
Additionally, we outline a sketch of a hypothetical Bitcoin digital
t
fi
o
fi
asset protocol "SimpleAsset", a non-fungible smart token and some
of the desirable properties
We will show that using the satoshi token and it's own chain of
digital signature history ("title history") is the key to sharding the
UTXO set that unlocks massive scale for businesses and are the
key to building an on-chain distributed veri er network and it was
Satoshi's "vision" all along to have businesses and users
running their own (UTXO-sharded) listening nodes. It never
really hits a scaling ceiling
fi
w
fi
require a higher-level interpretor or state machine to "load the tape"
of data and run it forward to the next step
These script and data carrier based protocols are often referred to
as "Layer-1" and "Layer-2" smart contracts because they "sit on
top" of Bitcoin Virtual Machine (BVM) as code constructs in script or
as higher interpreted languages, merely relegating the satoshi
token layer as a data carrier or unintelligent timestamping substrate.
By ignoring the satoshi token base layer itself means that strong
consensus is not enforced by the proof-of-work mining network for
these services' state at all. It's all developers and services hoping
silently that the counter party correctly indexed the blockchain in a
way that resembles some form of reality between themselves. Even
though they are listening to the blockchain, how do they know they
each arrived at the consensus state correctly, yet independently
block headers and raw blocks. This need not be the case as we'll
show in this paper
We assume that users and businesses will want to store their entire
transaction histories and assets of interest for their customers and
partners. This assertion is made without proof, but at MatterPool
have seen almost all clients require some form of transaction
history (usually most or all of it) that they can rely on for their
internal systems, display to their customers, etc. The interesting
question is: why didn't the previous owner give them the full chain of
signatures going back to the coinbases in the rst place? Afterall, at
every step of the way each owner had the parent inputs trivially in
hand, why not just pass it directly onto the next user safely
It is left as an exercise for the reader to show that the storage and
computational cost for passing on a full UTXO chain of signatures
back to a coinbase transaction is amortized O(n) time and space
.
fi
.
fi
fi
are serving millions of customers every day and need this
information readily available and pre-indexed
Almost everyone until now has has been acting like a small
blocker in Bitcoin BSV, despite that fact that almost everyone has a
laptop computer that would barely even be stressing to process
1GB blocks every 10 minutes, just indexing the UTXO shard
relevant to their own needs
fi
s
fi
.
fi
.
In short, the only capability SPV provides is a way for users and
mining peers to have some level of assurance that their UTXOs
(transaction chains) are valid and timestamped as long as the
network is currently not in some attack condition (perhaps covertly
long running) at that point in time. In other words, SPV is meant to
be used in peacetime, not wartime.
The Utility of SP
SPV is a double-spend risk mitigation technique and provides the
following fundamental assurances
fi
fl
.
fi
fi
.
fi
included the txid. (Note that this could be just a single
orphaned block header at some time t
2. Client or Miner Peer can get proof of the energy cost that went
into timestamping it (and any extra energy in subsequent
headers can be calculated irrefutably
3. Client or Miner Peer can get proof of the chronological
ordering of transactions between blocks and inside each bloc
4. Client or Miner Peer can get proof of the causal (or topological)
ordering of transactions within the same block. Get 2
transactions in same block and compare their merkle trees to
deduce causal (topological) order
5. (Optional) Client can request digital signature (signed receipt)
that the miner has seen the transaction and validates it against
it's own block header chain and merkle tree storage indexes.
This is like a contract or a public committment to what their
state commitment is
There is this misconception in Bitcoin today that the "miners will do
for us" and "SPV will solve our problems" and "miners have an
economic incentive to index all my token histories". No they do not
have an "economic incentive" to proactively index and serve your
spend and transaction histories. Retroactively for a fee, sure, but
there is nowhere in the whitepaper it says that token spend history
will be kept. And why would all miners do that? Perhaps some have
fast bandwidth and good CPU but do not want to operate a 10 more
football elds of storage data centers. 1 football eld for their
hashing and computational market is enough. The only party by
de nition that cares the most about the honest title and ownership
history of a token, satoshi, or any asset is the person that is buying
or selling the item
fi
fi
.
fi
k
SPV Myth
SPV is all that is needed to maintain a client focused trustless
payments network
Consider the situation of a car owner who bought a car to keep their
purchase papers, maintenance receipts and then passes it onto the
next person. Then the next owner will add to the records and then
pass the entire history peer to peer to the next person's wallet. This
is a simple and 100% trustless technique for passing on token
histories and digital signatures. In the case that the person lost the
history, or in the car example the prospective buyer can run a
registration "title history" check with Carfax.com or a similar
provider. This is what will happen when users do not pass on their
tokens' title histories - they must then go to a central party to serve
the data back to them. Why not just index the UTXO shard and
digital signatures that's relevant to themselves in the rst place
fi
?
o w n e r s h i p .
fi
fi
unable to download or pass on say a 10MB or even 50MB chain of
signatures? Perhaps someone will receive a coin that has millions
of transactions in it's parent chain of inputs. But more likely it will
have an average number of a few hundred or thousand transfers.
Even in the scenario of 1,000,000 transfer that is only 100MB and
at current internet takes a few seconds to download
They can always go "to the blockchain" and scan and re-index it --
but if they bought something valuable in the rst place why would
the user discard their "title history"? It is like buying a nice well
maintained used car and the previous owner handing you the pile of
records and then merely discarding the records because "I can
always pay for it later". What sense is in discarding the data that the
.
fi
fi
.
seller already has anyways? To retain the value of your asset (the
car) wouldn't it be better to keep the title history records in hand
Source: https://www.coindesk.com/smart-property-colored-coins-
mastercoi
fi
fi
e
fi
implements the data-structures necessary to support it. This
analysis will be used to construct the formal proof that Bitcoin Agent
is storage and computational cost is optimal (zero overhead
indexing
fi
.
It is important to note here that not all miners will serve full
transaction indexes (not to be confused with UTXO set index) for
historical data. In the limit miners will likely only serve the UTXO's
between themselves because there will be no need to bloat the
Bitccoin mining node and lower it's competiveness at building and
nding blocks. Anything above and beyond UTXO set management
will be provided as an extra service by the same or other miners.
Not all miners will want to store EB's of data in massive data
centers and instead will just maintain the (private) UTXO set like we
see today already
Lemma 4. SPV can be requested for only the UTXO digital
signature chain tip (ie: the last settled UTXO) to know that the entire
chain of transactions anchored back all the way to the minting event
has been successfully timestamped and accepted by the network
Side note: A user that owns a token or computational state can pass
the entire history over to the new owner, who then in turn veri es
that the chain of digital signatures is intact and correct back to
genesis. Alternatively users and businesses can proactively pattern
matching the minting transaction formats themselves (just like a
Bitcoin node itself does on the native satoshis and coinbase
transactions) which then in-turn indexes all downstream UTXO's
from that point onwards forever
The fact remains: If someone wishes to verify authenticity they must
do it proactively themselves up-front or reactively (such as when a
sender transfers a new token and it's associated history in p2p or
when instead requesting the full "title history" from the Bitcoin
blockchain miners from the archives)
Because the satoshi token itself is carrying the exact value of the
minting input value, and we can trustlessly verify the chain of
signatures up the chain of UTXOs then the problem of determining
.
fi
.
fi
.
fi
.
Therefore
fi
:
fi
.
fi
fi
fi
t
fi
)
fi
.
NFT with 10,000 transfers or state updates is only 1MB in total size
(off-chain data transfer). However if the owner of an NFT lost their
history, then a service provider can perform the lookup quickly,
return all 1MB worth of the 10,000 transfers so the current owner
has that information readily available from then on
Feature
•
Users can permissionlessly mint any smart contract or NFT
•
Users can permissionlessly transfer and even "melt" tokens
back to native cash satoshi
• Users can choose _how many satoshis to infuse into the NFT.
Giving it instant instrinsic value that must be passed along for
the entire lifetime of the token before being melted bac
• Users, businesses and Bitcoin miners themselves can track all
mutation hash committments trivially and show that all arrived
at the same state. (Optional
Performanc
Any non-base layer token will incur at least a 100% storage and
execution overhead because at minimum 1 extra fast KV store or
index is required (due to the fact that the 'value' eld is seperate in
the data). Anyone operating with satoshis as the token value will
have a sign cant cost reduction over any competitor that does not.
The operator using this new method will also have fast resolution of
con icts and be able to trivially prove to their customers that they
computed the correct state and users have 100% certainty of
authenticity that is independently veri able
fi
fi
y
fi
fi
?
themselves are not used for carrying value because the Bitcoin
miner UTXO Map algorithm for managing spends does not concern
itself with anything _except the chain of digital signattures in the
satoshi inputs/outputs only*
Preliminary Result
Our preliminary results show that a home desktop laptop can easily
process and index the UTXOs of the 1.3M transactions in
block #635141 in about 60-90 seconds on just a single core of the
Intel i7 2.6ghz on a consumer grade NVMe SSD storage device
(non-raid). A user only needs a 5TB/month internet data plan and a
minimum connection speed of +20 mbps (over 100mbps is the
average in the United States as of 2020) to be able to track the
latest blockchain fast enough to kep up to date within ever 5-10
minutes (ie: less time than the next con rmation). Since the user is
only indexing the shard of the UTXO set (as described in an
algorithm below), then storage and indexing is negligible and will
grow strictly as a function of their own need for retention of that
data
fi
fi
RDBMS or fast KV store for easy and ef cient access. We built one
internally and this paper is the culmination of that research and
development
Conclusio
This paper introduced a novel service framework "Bitcoin Agent"
and acts as an "on-chain" agent operating at zero overhead
compared to a Bitcoin mining node itself. This framework and
approach of using the satoshi token itself as the "state transition
mutex" that carries the value and computation forward now provides
application developers the ability to achieve consensus in a fully
reproducible, deterministic and tamper resistant manner
.
fi
fi
.
Our internal preliminary results show that Bitcoin Agents can easily
handle and blocks of sized 1-10 GB on a standard desktop
computer with at least +20 mbps internet connection and storage
just adequate for their own asset tracking. We have not even tested
using more than 1 CPU core, as there is no dif culty in processing 3
million transactions in under 3 minutes. Bitcoin fundamentally
scales because of the UTXO model and it is trivial to parallelize to
multi-core systems
fi
fi
.