Video 2: Why determinism is crucial for any blockchain logic

Guy Hoeks
LTO Network
Published in
3 min readJun 11, 2018

New week, new video! Last Monday we discussed Finite State Machine, this time we will dive into another indispensable aspect of blockchain technology: determinism.

‘One of the nice properties of Finite State Machine is determinism’, Arnold Daniels, co-founder of LegalThings, starts off this week’s video. ‘Being deterministic is very important for any kind of blockchain logic.’ But what is determinism?

Before moving on to what Arnold has to say further on this, it might be useful to define determinism. When we google the term, we find several definitions of which this one (by Cambridge Dictionary and surprisingly not too academic) sounds fairly understandable: ‘the theory that everything that happens must happen as it does and could not have happened any other way’.

Back to Arnold. So what entails determinism in the context of blockchain logic? Today, Arnold has brought along the game ‘Robot Turtles’ aimed at preschoolers learning about programming. In this game, a robot turtle has to find the shortest way to get his diamond while sticking to a fixed set of instructions. This game is, according to Arnold, a good example of determinism, because it has — like live contracts for instance — to deal with factors which apply to anyone, anywhere.

‘It is important for every blockchain logic to be deterministic’, Arnold continues. ‘It is why we are not sharing the same state, neither we are sharing the turtle or the same diamonds. The only thing we share are the actions, described on the cards, in the order they were played. Other players can join the same game anywhere, anytime replaying the previous actions.’

Another example of a deterministic game is chess. Two players can play together using their own board by sharing only the chess moves. On the other hand, games like Monopoly are non-deterministic and cannot be played in an over-the-mail fashion.

Non-deterministic way

The Robot Turtles game, however, could also be played in a non-deterministic way. By putting in some randomness through shuffling the different cards, for example. Unless both players trust each other to be 100% honest, playing this game remotely requires a trusted third party that hand outs random cards to each player.

When playing the game in different places, non-determinism could be caused by external factors, such as climate. Arnold: ‘I hold a card with which I could take two steps forward, but this action can only be taken if it is sunny outside. Simultaneously, this makes it impossible to play this game with people in other places. While the sun is shining in the Netherlands, it might be cloudy in Russia.’

So that is why Finite State Machine is deterministic, Arnold concludes. ‘If we perform the same actions over and over again, I will end up getting into the same state. That is very important for the blockchain, since instead of sharing the state you share the actions with others. Allowing others to replay them on their computers and on their own nodes.’

With Live Contracts you can digitize business processes and automate contracts. Want to learn more about LegalThings One? Visit the website, or send an email to support@legalthings.io.

Join the LegalThings One community
Follow LegalThings One Twitter

Every week we share a video on a topic within the blockchain technology on this channel. Next week: live contracts!

--

--

Guy Hoeks
LTO Network

Journalist and story teller (tech, entrepreneurship and startups)