Renegotiation and recursion in bitcoin contracts