Accounting Duality of Blockchain Part 3: Assets and Time

Sinisa 'Simon' Radovcic
ProtocolScout
Published in
3 min readJan 21, 2024

Accounting on/around the blockchain is both SIMPLE and DIFFICULT.

The third part on the accounting duality of blockchain is about assets and historical data to expand on the earlier points about transactions, balances and addresses.

I’m sure you’ve heard most of these facts about the blockchains:

  • It is a lot like a database;
  • It is immutable and its history can not be changed;
  • Can be programmable and can have various assets implemented as smart contracts…

Unfortunately, when it comes to accounting, the blockchain is kinda stupid, in its basic form.

Consider a user “account” like “0xA9D1e08C7793af67e9d92fe308d5697FB81d3E43” — some unfavorable facts about blockchain are that:

  • It can not tell you what are all the assets “in” that account;
  • As a matter of fact, the blockchain as a whole is not able to even tell us the entire list of all the assets that exist on it.

Imagine if a stock broker were not able to list out to all the stock amounts in some account. Instead, you would have to perform multiple steps to obtain such information:

  1. Get a list of all stocks possible or that you suspect might be in the account (belonging to you or your client);
  2. Step through the list and “interrogate” the service about every single stock in that list, one by one.

And that’s exactly how the blockchain works in its native form via the RPC methods used for communication with its nodes.

Of course, we have been accounting assets on the blockchain for a while now. It means that we’ve built tools to extend the minimalistic data recorded directly in the blockchain ledger.

Multi-Chain Explorer for CPAs and Auditors

The punch line of this article is that ProtocolScout is a new blockchain explorer for multiple protocols designed specifically for use by CPAs and auditors. One of our features is a list of top assets for each protocol whose balances are retrieved automatically each time you submit an account/wallet address.

Since a wallet address can exist on multiple blockchains, ProtocolScout retrieves thousands of balances for assets in that account, with just a few clicks and within 5–10 seconds.

But Wait A Second…or A Block…

Data duplication is a core mechanism utilized in blockchains to attain decentralization of “authority”. It means that chain nodes hold at least some portion of every block since the start of network. Depending on configuration, a node could preserve the terabytes of data as a complete “archive”. Therefore, it should be simple for human users to review the state of accounts at any point in the past — all the data is awaiting, after all! However, the logical paths to data in the chain storage are enumerated with block numbers and the nodes do not “care” (know) about the human time directly. Hence, accessing historical states is a multi step process to find a block number nearest to the desired date and time followed by retrieval of that specific block number (block ID).

To make it a little it more difficult, each blockchain runs their sequence at their own frequency and the result is that “January 1, 2024" is represented by a different block number value on every chain.

ProtocolScout facilitates access to historical information because we enable users to pick a desired date, hour and timezone. In the background we identify the corresponding block number for each chain and deliver the results in one payload, aligned to the nearest moment across all chains and assets.

Btw, timezones are important to consider because blockchains are global and active at all times. January 10, 2024 at 9am in Tokyo is ~5066 blocks before the block which was written to the chain when Los Angeles CPAs began their days on the “same” January 10.

--

--

Sinisa 'Simon' Radovcic
ProtocolScout

I maintain RemixRotation and AlgosForCryptos publications…