NOTE: This article was originally published in World Customs Organization's News Magazine 97 - issue 1/2022, titled Destination...Data! The whole magazine is available here. We are re-publishing the article as expressly allowed by the WCO.
By Vjeran Ortynski, Chief Business Development Officer, CargoX, and Janez Kranjc, PhD, Chief Blockchain Officer, CargoX
According to research, a single container shipment can generate up to 200 communications, and the administrative cost of processing the accompanying documentation is estimated to be 15-20% of the overall cost of transporting the goods. It is therefore essential to find easier, more efficient ways of transferring data and documents, and verifying and archiving documentation. Cutting file and data transfer times down to just a few seconds brings great benefits in reducing congestion at ports and minimizing storage and demurrage costs.
Allowing economic operators to submit scanned or computer-generated documents certainly makes the whole process easier and swifter, but it does not make it possible to determine ownership of a file where required. There is also no means of generating a reliable audit log, used to record a history of changes made to a document, or establishing a paper trail directly to the original source.
One method of resolving these problems would be to establish a centralized authority responsible for processing these documents, determining ownership, compiling audit logs and facilitating the exchange of files. This role could, for example, be assigned to a neutral service provider that can be trusted to preserve the integrity of documents, transfer ownership properly and securely, and provide equity of service to all parties involved.
However, such a scenario is not always feasible, and a centralized entity would be an easy target for hackers seeking to infiltrate the system with the intention of abusing or disabling it. The alternative would be to build a decentralized system capable of ensuring an authoritative and uninterruptible global document delivery service. Fortunately, the technology needed to provide this type of system already exists: blockchain. The blockchain concept makes it possible to provide a neutral, public, distributed and secure ledger with capabilities to own, transact and prove ownership of digital assets. The technology involved has been thoroughly tested in various models.
Blockchain can help digitize the shipping industry, where ownership, traceability and security are paramount. A current processing model used by a Customs administration to receive and process advance cargo information (ACI) filings through Blockchain Document Transfer technology (BDT) is as follows:
1. A company selling goods to be imported into country X (the exporter) registers on a platform offering blockchain document transfer (BDT) solutions. Creating an account is quick and free of charge, and, in the process, the exporter is assigned a blockchain key that he will subsequently use for signing documents and transferring them to their recipients. The company is then requested to transfer a “validation” fee (USD 15) from its bank account. The fee payment process enables the system to verify the company’s name and address. The second step of the verification process is performed by a highly reputable company that provides commercial data on more than 75,000 companies worldwide. At the end of the process, the exporter receives credentials to access the platform without having to register again.
2. In the importing country, the importer is required to register on the Customs management system (e.g. a single window platform) and to report information about any upcoming shipments, for example the HS codes of the goods being shipped and the exporter’s details (VAT number, tax number, platform ID number).
3. The Customs management system calls up the platform providing the blockchain document transfer service to verify whether the declared exporter is registered. An initial analysis is performed to determine whether there is a risk of non-compliance. If the shipment is not flagged, the exporter’s data are extracted and an ACID number is issued.
4. The ACID number is then forwarded to both the importer and exporter via registered e mail and on the blockchain platform.
5. The exporter then logs into the blockchain platform to upload the documents required for clearance – a copy of the bill of lading, invoice (in unstructured PDF and structured XLS format), packing list, certificate of origin and any other documents which might be required by border regulatory agencies. Once uploaded, the documents are securely encrypted and stored in a global distributed storage system where they are assigned a blockchain token. The exporter is provided with a digital ACI envelope bearing the assigned ACID number in which to enclose the documents. He then sends the envelope to the Customs management system of the country of import by signing and transferring it. This final step can be carried out before the loading of the cargo onto the vessel or during its transportation.
6. Once the ACI envelope has been transferred to the Customs management system, the importer is notified and requested to co-sign the documents received. At this point, the clearance of the shipment can begin.
Some blockchain platforms even allow delegation of certain tasks: for example, exporters can delegate the task of creating and sending envelopes to third parties (such as a freight forwarder or Customs broker). The fees for transferring documents are fixed and are much more economical than those for traditional paper document courier services.
At the heart of many blockchain document transfer (BDT) platforms lies the public, neutral blockchain technology known as Ethereum. A blockchain is essentially a database that is distributed between a network of thousands of independent computers around the world, called nodes. It has a number of properties that make it uniquely suited to our purposes:
Data on the blockchain cannot be deleted or tampered with. Once something has been written to the blockchain, it is there to stay.
Data may be added to the blockchain only if all the nodes in the network agree to such a transaction.
All data on the blockchain is publicly accessible – anyone can view and verify any piece of data and its history, including when it was published or modified (unless it is encrypted, in which case only its owners can view it).
Anyone wishing to add data to the blockchain must sign the data digitally using the blockchain key. In this way, they can easily prove that it was published by them and not by someone else.
In all systems that store and process data, the actual data are usually just a small part of a much bigger picture. Just as important are the rules that dictate how they should be structured, who has the permission to store them and where, under what conditions, etc.
On the blockchain, a collection of such rules is called a smart contract. This is stored as just another piece of data on the blockchain, and can be thought of as a computer program that has its own memory and runs on the distributed system of nodes that underpins the blockchain network.
Like everything else on the blockchain, smart contracts are transparent and open to public scrutiny. Instead of a situation where users are expected simply to trust that a central authority’s processes are fair, valid and secure, the rules encoded in a smart contract can be vetted and verified by anyone. In smart contracts, we now have the basic tools to build a decentralized system for facilitating shipping and trade that combines the benefits of digital and paper documents.
The right tool for the job
Many blockchain-based systems have been developed and are widely used. They mostly differ by:
The number of nodes: this determines transaction capacity, as well as ensuring that the distributed network meets the highest security standards.
The type of consensus algorithm used: these are methods that nodes use to achieve data consistency. There are many such methods, the most well-known being proof-of-work and proof-of-stake.
Their connectivity permission: public and private blockchains. The distinction lies in whether the design of the network is open for anyone to participate (permissionless) or limited only to designated participants (permissioned). Private blockchains are available only to selected participants (and, in some ways, they resemble a closed server system), while public blockchains allow for open access and thus broader, more efficient decentralization.
The smart contracts used.
The blockchain best suited for the model outlined at the beginning of this article needed to tick several boxes: it needed to support smart contracts that could be written in a programming language, have a sufficient number of nodes to maintain the security of the network and ensure that the transaction fees remained low. We concluded that the Ethereum blockchain would be best suited for the project, as it also supports what are known as “Layer-2 scaling solutions” that remove the burden of high fees and provide high transaction capacity, as well as creating a roadmap for future optimizations.
About the documents on blockchain
Our main goal is to make it possible for companies to transfer documents easily and securely, while ensuring the transparency of such transfers, as well as guaranteeing business confidentiality. As far as we are aware, such transparency does not exist in any other system, at least not one that is both decentralized and independent.
The document transfer process must meet the following requirements:
● Content: we must be able to prove that the content of the documents has not been altered in any way.
● Ownership: we must be able to prove that the documents were sent by the sender and not by someone else impersonating them.
● Audit log: we must be able to produce an indisputable log of each document’s journey.
All data shared on the blockchain we described earlier are publicly readable and accessible to everyone, but the content of the documents themselves is not. Rather than publish the content of a document on the blockchain, we calculate its hash and publish it instead. A hash is a mathematical function that converts an input value (i.e. a document) into another compressed value. It is a short string of characters that acts as a digital fingerprint of a document. Calculating the hash of a document is relatively simple, but reconstructing the document from the hash, or constructing a fake document that has the same hash as another document, is practically impossible. Putting the hash of a document on the blockchain proves that the document exists and is genuine without exposing its actual content to the public.
To prove that the documents were provided by the right person, we use a digital signature that is known only to that person and no one else, not even the creators of the platform. When someone publishes data on the blockchain, they sign it with their digital signature. Anyone can verify that the owner of the digital signature published the documents in question, but only the owner can actually sign documents in his or her name. It is the mathematical equivalent of a wax seal – easy to verify, but difficult to forge.
A document’s journey from the sender to the recipient is also recorded on the blockchain in the form of an audit log. All this creates the foundations for a system that enables secure and verifiable transfers of documents.
Whereas nowadays the system is being used to transfer documents, in other words digital files resembling paper documents, in the near future these will be replaced by digital data records. In the model described above, Customs currently require exporters to provide invoices in both PDF and XLS (Excel) format. The next step is to obtain structured data in XML or similar format.
The most prominent challenge of public blockchain technologies is that their processing capacity is limited, which can cause fluctuations in the volume of transactions they can execute. Generally speaking, they can only process a given number of transactions per second.
But this can be resolved by using multiple compatible public blockchains (“sidechains” and “rollups”) and load balancing, the process of distributing network traffic across multiple servers in order to avoid network congestion. This also enables interoperability with other chains in such a way that tokens can be transferred from one chain to another via a bridge contract.
Why there's no need to reinvent the wheel
In theory, anyone with a modicum of knowledge could hash, sign and transfer documents all on their own, using tools freely available on the Internet. However, in practice, this all leaves too much room for error while also requiring a lot of work. Leveraging the blockchain to secure document transactions requires experience. The tool to be developed for this purpose must be easy to use: transferring documents should be no more difficult than sending an e mail.
Another important aspect is being able to verify the identity of the parties who sign the documents. A robust and exhaustive identity check must be in place to ensure that the companies on the platform really are who they say they are.
Last but not least, blockchain platforms should be improved on an ongoing basis through user feedback. Processes should be regularly reviewed and improved to provide a better user experience.