Let’s TAC™ About It: What’s a Smart Contract?

For the ninth installment of our blog series, we will cover how TAC™ uses smart contracts to govern data and analysis workflows. So, are you ready to TAC™ about it?

You may recall from previous posts that TAC™ uses smart contracts as the key control mechanism to govern data and analysis workflows. We have spoken before about the origins and need for smart contracts, in our blog post, Rock Science: How Van Halen Invented Smart Contracts

But, how exactly do we implement these controls?

To recap, a smart contract is a set of software-enforced rules agreed by two or more parties:

  • Rules are enforced through code (e.g., IF x happens, THEN allow (or don’t allow) y)
  • Parties agree to contract terms using digital signatures

Smart contracts are stored on a blockchain, an auditable and immutable ledger. The rules in the contract set specific restrictions around how data can be accessed.

In addition to a contract name and description (e.g., AI goal), there are five required terms for each TAC™ smart contract.

In a TAC™ release earlier this year, VIA also implemented a sub-contracting function. Sometimes customers need to change or update the terms of the contract. By definition, information stored on a blockchain is “immutable” so we technically can’t make a change to an original contract. To accommodate updates, we do allow sub-contracts that are linked to each other in a parent-child relationship and act as a kind of version control. 

One of the most important and unique terms of a TAC™ smart contract is the disclosure restriction. We will discuss this in more detail in our next blog post.