LACChain Notarizer FAQ

LACChain Alliance
6 min readFeb 8, 2020

This post aims to answer some of the questions you might have when using the free tool developed by LACChain to notarize any file in the LACChain network.

What is the LACChain Notarizer?

The LACChain Notarizer is a tool that allows you to generate the hash of any file and register it in the LACChain Network. That enables you to prove anytime afterwards that you own that file since, at least, you registered it, and that it hasn’t been modified.

What is a blockchain network?

A blockchain is a decentralized network of computers connected peer-to-peer, where they all maintain a synchronized copy of the same ledger. The ledger is made of chain of blocks, that are packages of transactions, and a storage unit. Blocks are immutable and can’t be tampered with. Under proper rules and governance models (to determine, for instance, who can register which transactions or who should validate which information before it is broadcasted to the network), the ledger can be trusted by different entities that do not necessarily trust or even know each other.

In the LACChain Blockchain Network, any entity aimed to deploy decentralized applications based on blockchain, or provide blockchain services in Latin Americ­a and the Caribbean, can deploy a node at no cost, and broadcast transactions without any transaction fee. The LACChain Blockchain Pro Test-Net is maintained provided by the LACChain Alliance as a regional public good.

What is a transaction?

A transaction, in the context of blockchain networks, is a piece of information that a specific account (owned by a user of the network) broadcasts. This information contained in the transaction can be anything, from information about a financial transaction, to the creation of a digital identity.

Once a user broadcasts a transaction, the transaction is processed by the validator nodes. They check whether it is correct (according to things as the smart contracts and permissions on the network), and process it. In our LACChain Blockchain Network, blocks are generated every 4 seconds approximately. A transaction might take then an average of 3 to 5 seconds to be incorporated into a new block and be shared by all the nodes in the network.

What is a hash?

A hash is an alpha-numeric code resulting from applying a hash function to an arbitrary input. Hash functions are used to map data of arbitrary size to fixed-size values. Hash functions are no revertible and, if designed well enough, two different inputs should never get the same hash code.

This allows us to get a unique code for a specific file that doesn’t reveal any information about the file, and that can’t be generated from any other file.

How is it useful to register a hash in a blockchain network?

Blockchain networks are immutable, meaning that what is registered can’t be modified or deleted. Registering hashes of files in a blockchain network allows the recorder to prove that:

  • They own the original data “behind” that hash (the payload), because otherwise they couldn’t have generated it.
  • That data existed by the time the hash was registered in the blockchain network.

When talking about copyright or notarization, this is very useful.

What information does LACChain keep?

We don’t keep any of the information you provide. Neither the files not the verifiable credentials are stored in our databases.

What is a verifiable credential?

A verifiable credential (VC) is file, typically a JSON, that follows the standard of the Verifiable Credentials working group, with the World Wide Web Consortium.

The verifiable credential the LACChain Notarizer provides you after you register you hash contains the following fields:

  • Author: The name of the author you provided.
  • Expiration date: The expiration date you set (by default it’s one year after the transaction is generated).
  • Hash: The hash of the file you uploaded.
  • Name: The name of the file you uploaded.
  • Organization: The name of the organization you provided.
  • Title: The title of the register you provided.
  • Id: The id of the file, that can be used by external applications to identify the file.
  • Issuance date: The timestamp of the time at which the transaction was registered.
  • Issuer: The id of the issuer of the transaction.
  • Proof: The proof mechanism that indicates how to verify a credential.

Additionally, via both interface and e-mail we provide you with the hash of the transaction where you hash was registered, and the block number. With this, you can use our transaction explorer to find your transaction.

What are the checks performed to verify my document and my credential?

In order to verify your document at the time it is presented, the system:

  • Regenerates the hash of the document and check that it matches the hash of the verifiable credential.

In order to verify your credential at the time it is presented, the system verifies that:

  • The hash of the document appearing in the credential was registered in the LACChain Blockchain Network. This is done by querying the smart contract 0x61e5B48a93611EE0B460cA27Fd1F3056382A2b44 which keeps a list of the hashes registered.
  • The credential has not expired. This is done by comparing the actual date with the expiration date of the credential (not the one in the JSON, which could be modified, but the one registered in the smart contract 0x61e5B48a93611EE0B460cA27Fd1F3056382A2b44 together with the hash).

What is missing?

There are a few additional features we are developing for this tool to be able to work in production.

First, we will develop authentication against the LACChain Notarizer. At present, the Notarizer doesn’t provide you an option to authenticate yourself to register a hash. We will enable traditional authentication methods as well as self-sovereign identity solutions, where you will be able to use digital wallets as KayTrust or uPort to log in.

Second, we will allow revocation of credentials, so the verification process will also include a check to see if a credential has been revoked by the issuer. It could be that a credential is stolen or lost, and the issuer is then asked to revoke the credential. This is already enabled at a technical level in the smart contract, but as we don’t ask for authentication to generate the hashes of your documents, at this point we can’t know if a person eventually claiming for a credential to be revoked is the same the credential was issued to in the first place. Once authentication is enable, we will also allow you to ask for revocation of the credentials that were issued to you.

Third, at present the id of the issuer is a toy id that doesn’t correspond to a verified identity. Once we enable different self-sovereign identity features in our LACChain platform, we will be getting a certified id to act as an issuer of credentials that is compliant with the Decentralized Identifiers (DIDs) standard by the W3C.

How can I interact with the LACChain Notarizer?

You can interact via website or via API: http://notarizer.lacchain.net:8000/v1/credential/verify. The website allows you to upload the file, and to verify the file and the credential afterwards. At present, the API doesn’t allow you to upload a file but you can consume it to verify a credential.

How can I know more about the LACChain blockchain network?

For more information about the LACChain Blockchain Network, check our lacchain-besu GitHub repository.

How can I deploy a node in the LACChain blockchain network?

In order to deploy a node, you need to be permissioned in the network. This involves a very easy registration process as the permissioning requirements are only to be authenticated and to be compliant with law in the solutions you deploy on top of.

Disclaimer

This is a tool mean to serve for demo purposes. Please, do not send classified or sensitive files. Even we don’t keep the files or the verifiable credentials, and only the hashes and the metadata are stored in the blockchain, LACChain will not be responsible for any leak of information you provide to the LACChain Notarizer.

Development: Adrian Pareja Abarca.

Author: Marcos Allende Lopez.

--

--

LACChain Alliance

LACChain is a global alliance led by the Innovation Lab of the Inter-American Development Bank (IDB Lab) to develop the blockchain ecosystem in LAC.