Blog

Trusting the Blockchain
March 02, 2020

When talking about blockchain technology you might think about bitcoin, that decentralized public ledger of transactions. The two dominating cryptocurrencies are Bitcoin(BTC) and Etherium(ETH), and as of this writing, the price of BTC is trading at nearly $8 717. ETH, on the other hand, is further behind at $223. The USD market cap of BTC is currently $158 806 730 668, and the USD market cap of ETH is currently $24 583 976 922. A staggering amount of money backing the validity of these blockchains.

To verify the integrity of a blockchain, you have to replay all the information block by block. And check that the computed hashes match the persisted ones. All our customers' data are stored as an ordered sequence of events in a proprietary blockchain database. But simply using the blockchain technology doesn't implicitly mean the data can be trusted. To illustrate, assume we have the following accounts and their respective balances.

 

BlockAccountBalanceHash
1Account 1$21880855f41800aa5c3f
2Account 2$3764003368ab224f805a
3Account 3$5f7ceef1bfe041c92024
4Account 4$735d35cfd9b780c12fc3

 

We then decide to increase the balance of Account 2 in block 2 from $3 to $500.

BlockAccountBalanceHash
1Account 1$21880855f41800aa5c3f
2Account 2$500ec2408b3d83f239e321
3Account 3$557846b3380220bb3be8
4Account 4$7e09d73e01d3b6eaa321

 

We can see that the hash on block 2 was changed from 764003368ab224f805a to ec2408b3d83f239e321, and all the succeeding blocks also had their hashes changed, despite their data being the same.

To enforce trust, you must have a third party where you store all the data or preferably only the hashes. If we publish the hashes 1880855f41800aa5c3f and 35d35cfd9b780c12fc3, then decide to change the balance. We can verify that 1880855f41800aa5c3f exists in the ledger, but in absence of the other hash 35d35cfd9b780c12fc3, we know that between block 2 and 4, something changed and our data is no longer to be trusted from that point onward.

At Pliance we solved it by daily publishing an aggregation of our customers' hashes onto the Etherium blockchain, you can view our wallet here. Each and every day we send some cash to ourselves with a tiny bit of metadata, paying a small transaction fee. Our first transaction has the attached input data ff42b21c093466979f486fbdebcf000fb978b0854c50d210f8d7ea7145551bf5. Once a block has been published to Etherium, it's practically impossible for us or anyone else does anything about it.

Our customers will be able to prove without a doubt, that they are regularly performing their PEP and sanctions check.

What are your thoughts, how would you prove the authenticity of a blockchain?

About the author

Adam is an experienced technologist with 10+ years of engineering experience, including building fintech and AML solutions. His experience includes working at SEB and Savelend.