Monday, February 18, 2019

LTO NETWORK CODE REVIEW

LTO Network claims to be a toolkit for private permissionless chains. Main idea is that for every business process there’s a fairly simple workflow (that can be expressed as a state machine) that happens in private and is shared between participants only. Every step in that process is logged, and logs are anchored to a public blockchain regularly. If there is a conflict between participants that has to be escalated, arbitration happens in court using anchored logs; public blockchain is used as a zero knowledge notary. You can compare it to ad-hoc private plasma chains with legal arbitration (instead of onchain challenge). Let’s check out if the code lives up to the promise.

LTO Network’s github has 98 repositories. Many of them are not important for the review purposes: helper libraries (i.e. base58-php-ext: PHP extension for base58 encoding and decoding using the Bitcoin alphabet), project page sources, legalfling.io in-joke. Still, there is a lot of code to check out.

Most important are following repositories:

  1. legalflow
  2. iam
  3. legalevents
  4. anchor
  5. project-orange
  6. lto-api.js
  7. livecontracts-specs

Around a dozen developers worked on those, including jasny (Arnold Daniels). Commit history runs as deep as 2014 (though some code was clearly written even earlier), it’s a clean, tidy history, commits are fairly large and well-defined by their commit message.  I’d recommend the team to step up their game when they’re going to open source it: things should be described and discussed explicitly in issues and pull requests, there should be at least a contribution guide and a better, longer description for all the open repositories. I can see by commit history the team is working in that direction: dev branches are definitely more developer-friendly than master.

There is a number of tests for every important piece of software. Tests are good but not extensive: something that can also be improved, given that LTO is essentially a solution to enforce security in a byzantine setting. There is a Travis-based CI process that is hooked up to github. Overall, an imperfect but decent development process.

Full review in: https://www.icoventures.net/lto-network-code-review/

Thanks to icodog.io



No comments:

Post a Comment