基于比特币的Timed Commitment实现机制

0 下载量 3 浏览量 更新于2024-09-02 收藏 1.07MB PDF 举报
Timed Commitment的实现 Timed Commitment是一种特殊的承诺机制,它允许一个承诺者在一定的时间内公开其承诺,而不需要信任其他参与者。这种机制在分布式系统中非常重要,因为它可以确保参与者之间的承诺是可靠的和可信的。 在Timed Commitment中,承诺过程包括两个阶段:承诺阶段和开启阶段。在承诺阶段,承诺者以某种秘密值xxx启动承诺阶段,即承诺方向接收方传递信息“我拥有秘密xxx”。此值将在开启阶段执行后为每个接受者所知。如果承诺者是诚实的,那么在开始阶段开始之前,对手(接收方)不应该有任何关于xxx的信息。 在开启阶段,承诺方公开秘密xxx,完成承诺。每个诚实的接受者都可以确信,无论恶意承诺者的行为如何,承诺都可以以一种方式公开,即承诺者既不能反悔也不能使用x′≠xx′=x。 然而,存在一个问题:没有办法强迫承诺者公开他的秘密xxx。这是因为承诺者可以简单地拒绝公开其秘密,从而违反承诺。 为了解决这个问题,比特币系统提供了一种有吸引力的方法,即使用押金机制。也就是说:使用比特币系统,可以迫使承诺人用一些钱来支持他的承诺,称为押金。如果他在一段时间ttt内拒绝公开承诺,押金将给予其他各方。 在这种机制下,承诺者需要在协议启动之前,分类账包含n个未赎回的标准交易UiC,…,UnCU_{i}^{C},…,U_{n}^{C}UiC​,…,UnC​,这些事务可以用一个仅为C已知的私钥进行赎回,且每笔交易具有dBTC。 该协议被表示为CS(C,ddd,ttt,sss),它包括两个阶段:承诺阶段CS.Commit(C,ddd,ttt,sss)(其中sss包含C提交的消息和一些随机值)和开启阶段CS.Open(C,ddd,ttt,sss)。 在这种机制下,诚实的承诺者总是在时间ttt内开启他的承诺。在这种情况下,承诺方收回押金,即分布式账本中包括可以使用C的密钥赎回的标准交易,且总价值为(d∗nd*nd∗n)BTC. 此外,如果C未在时间ttt之前打开承诺,则每一方都会赚取dBTC。更确切地说:对于每一个诚实的PiP_iPi​,账本中都包含一个交易,其值为dBTC,可以用PiP_iPi​已知的密钥进行赎回。 Timed Commitment是一种特殊的承诺机制,它可以确保参与者之间的承诺是可靠的和可信的。使用押金机制,可以迫使承诺人用一些钱来支持他的承诺,从而解决了承诺者不公开秘密的问题。