TWIST Toolbox and TWIST ID — An explanation

TWIST
4 min readFeb 21, 2018

--

It’s been almost 2 weeks since TWIST first made its debut on bitcointalk and we’re off to a wonderful start securing an official listing on stocks.exchange!

Getting listed on an exchange is a milestone for us and we’ve now completed all of our goals for the first leg of Q1 2018.

TWIST 2018 roadmap

So what’s next?

TWIST Toolbox development is in full swing. We’re developing in a private repository for the time being until we are ready for a public release. In the meantime we’ve set up a GitHub bot in our discord channel to make a post whenever we push to the repository. This lets the community keep up date with our progress and assures them that the developers are active and working hard. We intend to frequently release screenshots and videos demonstrating the Toolbox so the community can a real sense of what we’re building and how far development is progressing.

Okay but what is the TWIST Toolbox anyway?

The TWIST Toolbox is a cross-platform desktop application designed to work in conjunction with the TWIST wallet. It’s been built from the ground up using the cutting edge Electron framework (and the all familiar web technologies like JavaScript, HTML, and CSS) to ensure cross-compatibility for all major operating systems.

The Toolbox is an interface to the TWIST blockchain. It aims to provide regular users and programmers alike with an easy way to access and utilise our blockchain. Here are a couple of examples of what we mean by the last sentence:

John is at the bar with his friend Bill, who’s been buying the drinks the whole night. John wants to pay Bill back using a crypto-currency. Usually he would need Bill to send him a long 30 character address that John would need to carefully paste into his wallet. With TWIST, Bill simply tells him ‘my TWIST ID is Bill55’. Easy. John can also include a message with the transaction to remind Bill what the payment is for.

Alice keeps a long list of passwords in a text file on her computer. She wants to securely back it up online so she can retrieve the list if her computer breaks. Using TWIST DATA, Alice is able to effortlessly encrypt her passwords and write them to the TWIST blockchain, safely secured on a distributed ledger by a peer-to-peer network of computers around the world. If her computer does break and she needs to retrieve the data, all she needs to do is import her private key into the TWIST wallet and fire up the TWIST Toolbox and she now has access to all her passwords.

How does TWIST ID work?

We will be providing a more in-depth explanation of each feature of the TWIST Toolbox in our whitepaper. However, for the time being, here is a brief explanation of TWIST ID:

A TWIST ID is a unique username which can be assigned to a TWIST address to make sending and receiving TWIST payments more familiar and friendly. An address may only have one TWIST ID assigned to it and a TWIST ID must be unique (not registered before), must be 3–18 characters long, and must contain only alphanumeric and — or _ characters.

When a user registers a TWIST ID to an address, an ECDH key pair is generated and the private key is encrypted with the registering address’s private key. The registration information, public key, and encrypted private key are all written to the blockchain in a single transaction and are publicly visible. The Toolbox application scans blocks for TWIST ID registrations and maintains a database of ID’s (and their key pairs).

Why do we need the keys? A crucial feature for TWIST ID is the ability to include messages in transactions. But since the TWIST blockchain is a public ledger we need a method of sending messages without them being intercepted and read by third parties. Lets say Alice wants to send Bob a message. Using elliptic curve cryptography, a shared secret S is calculated using Alice’s private key and Bob’s public key. The message is then encrypted using S as the key. The encrypted message is sent over the blockchain in a public transaction to Bob. Bob can see that the message was sent by Alice so Bob uses Alice’s public key and his private key to calculate the same S the message was encrypted with. Bob can now decrypt the message and read it. Having an asymmetric key pair for each TWIST ID enables users to securely exchange information over the blockchain and it opens the door to a multitude of different utilities that can be built upon the TWIST platform (e.g. messenger applications, file sharing, data transfer, etc.)

We hope this has answered some of your questions about the TWIST Toolbox. It’s going to be an exciting year for TWIST!

--

--