基于比特币的Timed Commitment实现机制
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是一种特殊的承诺机制,它可以确保参与者之间的承诺是可靠的和可信的。使用押金机制,可以迫使承诺人用一些钱来支持他的承诺,从而解决了承诺者不公开秘密的问题。
2021-05-02 上传
2021-04-20 上传
2021-02-19 上传
2021-03-15 上传
2021-05-04 上传
2021-05-01 上传
2021-03-05 上传
weixin_38606639
- 粉丝: 3
- 资源: 946
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章