It is rarely that you can get a glimpse into the mind of a leading blockchain solution architect, a software developer with a Ph. D., and a musician. Janez Kranjc has been the leading blockchain force behind the CargoX Platform for Blockchain Document Transfer (BDT) - the fastest growing electronic trade document platform on the planet.
He has been the blockchain captain at CargoX since the beginning - so what is his hindsight on the development of such a massive solution that promises nothing less than a revolution in global trade, trade finance, customs processing, and much more?
You are a blockchain expert and have been with CargoX since the beginning. Have your views and realizations of what blockchain can or cannot do - changed?
Even though I was familiarized and had quite some experience with smart contracts and the blockchain even before we started CargoX, my perspective has changed a bit during the past few years.
In the beginning I saw it as the underlying technology for enabling distributed applications – meaning that no parts of the application lived on a central server and that everything had to be trustless by default. We have quickly learned that it is not an all-or-nothing situation and that a feasible middle ground exists. We decided to use the blockchain for the parts where it makes sense, and use old fashioned approaches for the parts where using the blockchain would just introduce more problems down the road, and it's worked pretty good for us so far.
Such a hybrid approach of on-chain and off-chain has proven effective and secure for the users, as well as more suitable for maintenance and ongoing development for CargoX. It also makes GDPR compliance much easier, as no private information needs to be written to the blockchain.
We have seen the hype around blockchain give in a bit. Has the technology matured and become just a standard tool in the box for global application developers?
The technology has matured, and the use case has matured, too. Nobody thinks anymore that blockchain is the be-all-end-all solution – the awareness has grown about where blockchain can be useful, and where it can slow development and processing. In fact, I think it is a whole new paradigm of application development, arising from the decentralized nature of the blockchain. It also requires a specific set of skills, given the immutable nature of smart contracts.
In particular, this means that the code is much more sensitive to bugs and exploitation. Extra care needs to be taken to ensure that all possible errors and exploits are fixed before going into production. Any smart contract deployed to a public blockchain is visible for anyone and everyone, and that includes all the bugs and security exploits. Things can go very wrong on blockchain – and that is why it is so much more important that the overall application and smart contract design is tried and tested, as well as audited by external, independent auditors. We cannot emphasize the importance of testing, reviewing, auditing, and monitoring.
What were the main advancements in the field of blockchain and specifically smart contracts in the past five years?
The main advancements I believe were more on a technical level in terms of handling scalability issues, which was one of the early concerns of blockchain adoption – can it scale? We have seen layers upon layers of blockchains, sidechains, etc. added with interesting ways of preserving all functionalities of having a singular blockchain, but with reduced costs in payment and reduced time to transaction confirmation. Regarding smart contracts and the rise of artificial intelligence we have also seen novel ways to audit the smart contract for bugs and exploits using AI, and also smart contracts generated by AI.
It is yet to be seen if AI can be relied upon, but we know that relying on concise and capable human smart contract developers is the right way to go, for now. Especially as the LLM (large language models, as used in the currently popular AI) still occasionally manifest untrue responses, i.e. hallucinations.
Has blockchain erased or put on lower priority any other fields of computing that were of interest for you?
I successfully defended my PhD thesis in machine learning and artificial intelligence in 2017, right about the time where blockchain was gaining a lot of traction with a lot of companies getting on board the ICO train. I put AI and academics on the back-burner at the time, but with this new advent of generative AI I see many use cases where combining the two fields could yield good results and great new applications.
What is your message to the CIO-s out there who are thinking about bringing – or not bringing – blockchain and similar solutions to be used in their corporations?
Blockchain brings two things to the table that we have never before had in technology – digital scarcity and trustlessness. Digital scarcity means that we can have digital assets that cannot simply be copied like emails and files. They have specific ownership rules. Trustlessness means that there is no third party that you need to trust in order for the system to function.
For example, at CargoX we present documents as tokens on the blockchain, meaning that they must follow all rules that are written in the smart contract, e.g. a document of title can only have its title transferred if it is currently in possession by the owner and the title holder.
All these rules and regulations can be codified in smart contracts, meaning that even CargoX cannot break these rules once they are deployed on the blockchain. So my message to the CEO is: we can replace physical possession with digital possession and we can eliminate third party agents while doing so, both of which are cost-saving measures. Do not use the blockchain just because it is a buzzword, use it because it actually solves a specific set of problems.
Is there any advice for software developers who work or want to work with blockchain?
Speaking from my own experience, I would suggest the following: start small – develop pet projects. There are lots of resources where you can learn how to program smart contracts efficiently and make them less error prone. Make mistakes and learn from them while the stakes are small. Use testnets that do not require actual currency to develop on them. Afterwards, be extra careful when stakes are higher in a professional setting. Test everything. Triple check everything and always have an external agency audit your smart contracts.
Early in the discussion about blockchain in supply chains, there was a significant debate about Public versus Private/Permissioned chains among the industry - has the demise of IBM/Maersk TradeLens reframed that discussion a bit?
We have always argued that private blockchain systems are a bit of an oxymoron. It all depends on how many agents you need to trust in the entire process of what you are trying to achieve. The higher this number goes, the more whatever you are using as a blockchain technology basically just becomes an inefficient database, which could easily be replaced by a more appropriate tool. Although even here, it's not an all-or-nothing situation. But the trends in logistics and technology are currently converging towards "interoperability" being the new buzzword – so what better way to be interoperable than using a public tool available to anyone. Even though it has some minor drawbacks, e.g. no control over network stability, etc., it opens many more doors than it closes.
How do you frame the discussion with CEOs who had heard about blockchain early on, and have enough technical knowledge to talk about it a bit, but still are basing their thoughts on old information (such as slow, not scalable)?
We come across this a lot. The other problem is also the negative connotation of cryptocurrencies and scams which are often associated with the blockchain, especially in the media. We use every opportunity to draw the distinction between these two terms, as well as to explain to any audience what the implications are. Blockchain, as one of the distributed ledger technologies, has finally normalized as a term in numerous industries and it does not necessarily imply cryptocurrency use anymore. When people have all the important information laid out in simple terms it becomes much easier to communicate and explain all the benefits. This, we believe, is still an indicator that the technology is new, and has yet to reach its full potential. And we are building and evolving one of the most realistic implications of blockchain technologies that can really bring true benefits, savings of time and money, as well as risk reduction to supply chains, global trade, trade finance, governmental customs processing, and adjacent sectors.