Skip to content
Discussions/App Development/What does a "role contract" mean to you?Forum ↗

What does a "role contract" mean to you?

App Development4 posts149 views5 likesLast activity Jan 2022
LE
Leonid_RozenbergOP
Jan 2022

This is a term that gets thrown around a bit on the form and within DA docs, but I’ve noticed that the implication is sometimes different. I’m curious if we have consensus on a well defined concept. Please no peaking into other users answers before adding one, at least not for the first round.

LE
Leonid_Rozenberg
Jan 2022

My shortest take: a delegation contract (1) signed by a party representing a root of trust on the ledger and (2) enumerating choices controlled by the party granted the role.

A_
a_putkov
Jan 2022

@Leonid_Rozenberg, I think yours is a pretty comprehensive yet very concise take on the definition of a role contract. I love it.
At the risk of compromising the conciseness I would suggest a couple of clarifications to your definition.

  1. signed by a party representing a root of trust on the ledger

I would suggest changing this to “signed by a party representing a root of trust for something on the ledger”. Without this clarification I could interpret this part of your definition as “a party representing the root of trust for everything on the ledger”, which is not what the definition intends to convey.

  1. enumerating choices controlled by the party granted the role

In my mind the party granted the role is the delegating authority (that root of trust from #1). And the purpose of a role contract is to grant parties other than the role party the authority to execute actions that require the role party’s signature. As an example, a “Bank” role contract would have an OpenNewAccount choice controlled by a party representing bank’s customer. Here, the Bank party’s authority required to open a bank account is delegated to a bank’s customer for the purpose of opening a new account.
Also, the role contract does not just enumerate the choices, but codifies them, which I think is significant.

LE
Leonid_Rozenberg
Jan 2022

Yes, our descriptions are similar. I think the “something” is implied, since one cannot know ahead of time what will be created on the ledger. Also, our assignments of who is the role are reversed, but I think it is natural to think of it from the perspective of the party receiving the delegation, as the delegator might create multiple contracts. A bank could create role contracts for its customers and employees.

← Back to Discussions