4.8 Workshop: Rental Agreement

This workshop assumes that you have recently completed Tutorial.

In this workshop, we consider a scenario where Alice and Bob are engaged in an indefinite rental agreement where they both made a security deposit to be given to whomever leaves the arrangement first. At some regular interval, both participants submit whether they would like to Stay or Leave. If they both decide to Stay, then they wait for the next round. If they both decide to Leave, then they both get back their deposit. But if only one wants to Leave, then both deposits go to the participant that wants to Stay, based on the assumption that they are harmed by being surprised at the change in circumstances in the next interval.

This scenario demonstrates the value of decentralization, because in traditional institutions, one party is typically empowered as always dictating the decision to the other who must take it, as is the case for most landlords; or, the two parties must play "chicken" with each other to see who will flinch first, as is often the case in divorces; or, the two parties must pay a third-party to act as the arbitrator.

It turns out that this scenario is structurally identical to Rock, Paper, Scissors!, except with different "hands" and a different pay-out structure.

This page is a placeholder for a future more detailed workshop. You could try to implement it yourself though, given the sketch above! If you’d like to see a draft version of our code, please visit examples/rental in our GitHub repository.