B I T S T A M P S
Contacts

MAY 19, 2020

BITSTAMPS transparency and security.

written by Marco Sangiovanni, CTO

Since BITSTAMPS’ inception, the principles that have guided our strategic, architectural and software-related choices have been those of ensuring our users safety and transparency.

To warant these principles, in regards to all the operations performed on the BITSTAMPS platform, we have decided to integrate blockchain technology into our solution.

WHY DO WE USE BLOCKCHAIN?

The fact of using a blockchain is not exhaustive in regards to which features, for what purposes and in what ways it is actually used. In our case, our main objective is to ascertain users that the stamps issued exist in limited series and that the history of each single stamp is, in fact, certified in a transparent and unalterable way.

We therefore designed our own solution using blockchain as a technology capable of notarizing, first of all, the life-cycle of each single stamp issued by BITSTAMPS.

NOTARIZATION AND BLOCKCHAIN

Notarization is the process with which a value of authenticity is attributed to a group of information contained in a specific file. BITSTAMPS uses this process to authenticate every single file produced by the platform for different types of content and time frames.

Hereafter is the list of individual files that are subject to the notarization process:

  • File of a new type of stamp.
    Each file for a new stamp contains the complete list of all the individual copies "printed” of that specific stamp, where each specimen possesses its own unique identifier so that once the printing process is terminated, stamps can neither be added, removed or modified.
  • File containing the following types of operations that took place in the previous hour (takes place every 60 minutes) regarding stamps issued:
    • Change of ownership (registration of the new owner following a sale or the sending of a stamp).
    • Sending (information regarding the sending of a stamp using an E-Card).
    • Reception (information regarding the receipt of a stamp used to send an E-Card).
    • Change of status (change of stamp status from “new” to “used” once franked to send an E-Card).
    • Cancellation (cancellation of a stamp in exceptional cases).

We have chosen Ethereum’s public blockchain as the best system to offer our users the most flexible and reliable service in terms of speed, transparency and security.

Blockchain plays a key role in the notarization process since it records, in a distributed and accessible way, all references to the files above that are treated according to the flows described, in detail, in the following paragraphs.

NEW STAMP FLOW AND PRINTING OF INDIVIDUAL SPECIMENS

When a new type of stamp is planned (ex. Penny Black), a text file in json format is created that contains the following information:

  • Public url of the image associated with that type of stamp (ex. images of the Penny Black stamp).
  • Cryptographic hash, generated by the sha256 algorithm, that identifies with certainty, the content of the image file associated to the above url. In this way, the original image can no longer be modified without it resulting as mismatched with the corresponding hash.
  • BITSTAMPS’ sales price expressed in euros.
  • The univocal code of each single stamp specimen, generated for the typology in question, up to the total number of samples foreseen to be produced.

The file generated is therefore saved, the hash of its text content is calculated using the sha256 algorithm and placed in a public web address, prior to writing on the Blockchain.

Writing on Ethereum’s public blockchain is done through a smart contract and allows the recording of the following information:

  • Hash of the contents of the generated json file.
  • Public url where the file is retrievable.
  • Recording of start-date of operations contained in the file (in this case, start-time of stamp presence on the platform).
  • Recording of end-date of the operations contained in the file (in this case, end-time of stamp presence on the platform).

OPERATIONS FLOW OF EXISTING STAMPS

Periodically (currently every 60 minutes), a json format file is generated containing all the operations that the platform and its users have carried out in relation to the stamps existing in that specific time interval.

The following operations are recorded each with their relative data:

  • The purchase transaction (recorded for each individual stamp) contains the following information:
    • Type of transaction (code: purchased)
    • Transaction date
    • Identification of transaction operazione
    • Purchase price in Euros
    • Sales channel (BITSTAMPS platform or Marketplace)
    • Previous owner (represented by his unique code)
    • New ​​owner (represented by his unique code)
    • Digital stamp (represented by its unique code)
  • The sending operation of a stamp contains the following information:
    • Type of operation (code: sent)
    • Transaction date
    • Identification of the previous owner of the stamp (in this case the user who sends it)
    • Identification of the new owner (in this case, the BITSTAMPS' "mailer" user)
    • Stamp (represented by its unique code)
  • The change of state of the stamp contains the following information:
    • Type of operation (code: changed)
    • Transaction date
    • Identification of transaction operazione
    • Identification of previous status (and related code, ex. NEW)
    • Identification of new status (and related code, ex. USED)
    • Digital stamp (represented by its unique code)
  • L’operazione di ricezione del francobollo contiene le seguenti informazioni:
    • Transaction type (code: delivered)
    • Ttransaction date
    • Identification of transaction operazione
    • Identification of the previous stamp owner (in this case, the BITSTAMPS' "mailer" user)
    • Identification of the new owner (in this case the BITSTAMPS user who receives it)
    • Digital stamp (represented by its unique code)
  • The cancellation of the stamp contains the following information:
    • Type of operation (code: cancelled)
    • Transaction date
    • Identification of transaction operazione
    • Identification of the previous stamp owner
    • Identification of the new owner (in this case the BITSTAMPS user who acts as collector of the cancelled stamps)
    • Digital stamp (represented by its unique code)

The file generated is then saved, the hash of its content is calculated using the sha256 algorithm and is placed in a public web address prior to writing on the Blockchain.

Writing on Ethereum’s public Blockchain is done through a smart contract and allows the recording of the following information:

  • Hash of the contents of the generated json file
  • Public url where the file is retrievable
  • Recording start-date of operations contained in the file
  • Recording end-date of the operations contained in the file

HASH, TOKEN AND CRYPTO

As described in the previous paragraphs, the use of the current Blockchain allows us to achieve the security and transparency objectives we have set ourselves, gradually increasing them over time, that we want to offer our customers.

Today we provide users with information regarding the hash that identifies the specific registration on the Ethereum blockchain that confirms ownership.

We neither use the blockchain to generate tokens, much less to manage a real crypto currency. BITSTAMPS digital stamps are currently available for purchase, can be sent and soon sold, only through the BITSTAMPS platform.

However, no hypothesis is precluded to improve the experience of our users. Many improvements are already underway and will soon be released.

HOW TO VERIFY BLOCKCHAIN ​​DATA

We are working to offer simple, easy-to-use tools that allow all our users to verify, in an indeniable way, the exactitude and indisputable veracity of the information provided.

We will make the verification process of all data displayed on the App easier and more immediate to confirm so as to allow all users, not only those who are experts or particularly technological, to verify with greater ease.

In the next articles we will describe the complete process to carry out these checks as of now.