TWIST DATA — Data on the blockchain

TWIST
4 min readMar 5, 2018

--

TWIST Toolbox development is going well and we’re on target to release the first version of the TWIST Toolbox (which will include the TWIST ID feature) at the end of this month. After the release we’ll be starting development on the TWIST DATA feature - a way of writing encrypted data to the TWIST blockchain.

Why would you want to store data on a blockchain?

The internet is undergoing a fundamental shift away from centralised services and towards decentralised open ones. The popularity and hype surrounding blockchain technology is well deserved, with the success of Bitcoin, Ethereum, and other blockchain networks proving the utility and value of decentralised, distributed ledgers. People are becoming aware of the benefits to using decentralised systems with no single point of failure.

Our goal is to provide an easy interface for users to store small pieces of information onto the TWIST blockchain. Allowing them to access their information anywhere in the world by simply loading the wallet and Toolbox. They can feel comforted by the fact that their data is safe and secure, being maintained by a network of hundreds of computers around the world, with no single points of failure and no possibility of data losses.

So how will it work?

We will cover the exact implementation details in our whitepaper, but here is brief overview to provide some insight into how the TWIST DATA feature will work. Similar to TWIST ID, any data you want to write to the blockchain will be bundled in a transaction. The cost of the transaction will be a fee based on how much data you want to write. More data = higher fee. A fee is necessary to prevent people from spamming the network.

The Toolbox will provide the user with an interface to input the data they want to write to the blockchain. The data has to be less than 10KB (subject to change) in size (if they wish to write a larger amount of data they will need to split up the transactions).

TWIST DATA isn’t intended as a means to store large files, but rather as a tool to give users an easy way of securing and storing small pieces of information (e.g. passwords, contact information) on a completely decentralised distributed ledger with no central point of failure.

The user then chooses an address in their wallet to encrypt the data with. The address doesn’t need to have any coins in its balance (unlike TWIST ID which requires the registering address to have enough coins to pay the registration fee). The data is then encrypted with industry standard AES 256-bit encryption, using the private key of the address as the cipher key.

At this point a transaction is constructed with 3 key elements.

  • The encrypted data (with a unique salt to prevent spoofed duplicate transactions — more about this in our whitepaper)
  • A data marker - so Toolbox clients are aware that this transaction contains data.
  • Encryption address private key hash - so Toolbox clients can check whether the encryption address is present in the user’s wallet (and so they own and can un-encrypt the data). The encryption address private key hash is (you guessed it) simply a hash of the encryption address’ private key. When the Toolbox detects a new data transaction, all private keys owned by the user are hashed and the hashes are compared with the hash in the transaction. If there’s a match then we know that this data is owned by the user, and we can proceed to un-encrypt it. The reason this hash is used is to provide some added anonymity for the data owner - observers will be able to see that the transaction contains data but they will not know the address it is encrypted with.

The transaction is then broadcast to the network. Once confirmed in a block, the user’s data is officially part of the TWIST blockchain, and cannot ever be deleted or removed. As long as the user keeps their private key safe, they can rest assured knowing their data is always accessible to them, anytime, anywhere.

Future plans

In the future we also intend to implement off-chain storage (provided by TWIST Nodes) as a practical means to facilitate storage of larger files. Further information on this topic will be covered in our whitepaper.

It’s going to be an exciting year for TWIST and we can’t wait to show you what we’ve been working on!

--

--