- 1.前言
- 2.为什么是区块链编程而不是比特币编程?
- 3.为什么是 C#?
- 4.预备条件
- 5.本书众筹
- 6.补充阅读
- 7.图标
- 8.许可: CC (ASA 3U)
- 9.项目设置
- 1.比特币地址
- 2.交易
- 3.区块链
- 4. 区块链不仅仅是比特币
- 5.支付比特币
- 6.作为真实性验证方法的所有权证明
- 1.足够随机了吗?
- 2.秘钥加密
- 3.秘钥的生成
- 1.P2PK[H] (向公钥付款 [Hash])
- 2.多重签名
- 3.P2SH ( 向脚本哈希付款)
- 4.灵活机动性
- 5.使用 TransactionBuilder
- 1.颜色币
- 2.发行一项资产
- 3.传输资产
- 4.单元测试
- 5.李嘉图合约
- 6.流动的民主
- 7.烧钱和声誉证明
- 8.存在性证明
- 1.比特币发展的挑战
- 2.如何证明一个币存在于区块链上
- 3.如何证明一个颜色币存在于区块链上
- 4.断开与第三方 API 的信任关系
- 5.防止延展性攻击
- 6.保护你的私钥
7.烧钱和声誉证明
问题很简单: 在 P2P 市场里面,如果执法成本太高,参与者如何最大限度降低被骗的概率呢?
OpenBaazar 貌似是第一个试图使用烧钱证明作为声誉评判机制的。
对那个问题有好几种解决方案,但是这里我们就讲讲烧钱证明。
设想你自己在中世纪,生活在一个小山村里面,陪伴你的有一些本地商人。 一天,一个行销商走进你的村子,卖给你一些商品,并且价格与本地相比低得让人不敢相信。
然而,行销商因为劣质商品欺骗顾客而臭名昭著,但是与本地商人相比,他们付出的代价相当低。
本地商人投资一个实惠的商铺、做广告和营造声誉。不满意的顾客可以很容易毁掉他们。但是行销商人没有本地商铺,临时的声誉不足以让他们不欺骗人们。
在互联网上,创建标识是如此地廉价,以至于所有商人潜在都是中世纪的行销商。
市场供应商的解决方案就是收集市场所有参与方的真实标识,这样执法才有可能。
如果你在 Amazon 上被 Ebay 骗了,你的开户行很可能会返还款项,因为他们有方法通过 Amazon 和 Ebay 找到窃贼。
在一个使用比特币的纯 P2P 市场里面,我们没有那些设施。如果你被骗,那就损失金钱了。
那么顾客怎么能信任一个行销商呢?
答复就是:检查一下他给自己的声誉投资了多少
作为一个专业的销售商,你想提高顾客对你的信任。你以部分财富为代价建立声誉,让每位顾客都可以看得到。这就是 投资于你的声誉 的定义。
设想你为自己的声誉烧掉 50BTC。有个顾客需要从你身上购买 2BTC 的物品。他有很好的理由相信你不会欺骗他,因为你对声誉的投资比欺骗他得到的更多。
通过欺骗他获利就变得经济上不划算。
技术细节必然会随时间而变化,下面是烧钱证明的例子:
var alice = new Key();
//Giving some money to alice
var init = new Transaction()
{
Outputs =
{
new TxOut(Money.Coins(1.0m), alice),
}
};
var coin = init.Outputs.AsCoins().First();
//Burning the coin
var burn = new Transaction();
burn.Inputs.Add(new TxIn(coin.Outpoint)
{
ScriptSig = coin.ScriptPubKey
}); //Spend the previous coin
var message = "Burnt for \"Alice Bakery\"";
var opReturn = TxNullDataTemplate
.Instance
.GenerateScriptPubKey(Encoding.UTF8.GetBytes(message));
burn.Outputs.Add(new TxOut(Money.Coins(1.0m), opReturn));
burn.Sign(alice, false);
Console.WriteLine(burn);
{
….
"in": [
{
"prev_out": {
"hash": "0767b76406dbaa95cc12d8196196a9e476c81dd328a07b30954d8de256aa1e9f",
"n": 0
},
"scriptSig":
"304402202c6897714c69b3f794e730e94dd0110c4b15461e221324b5a78316f97c4dffab0220742c81
1d62e853dea433e97a4c0ca44e96a0358c9ef950387354fbc24b8964fb01
03fedc2f6458fef30c56cafd71c72a73a9ebfb2125299d8dc6447fdd12ee55a52c"
}
],
"out": [
{
"value": "1.00000000",
"scriptPubKey": "OP_RETURN 4275726e7420666f722022416c6963652042616b65727922"
}
]
}
在区块链上,这个交易是不可否认的证明,证明 Alice 向她的面包店投资了。
ScriptPubKey OP_RETURN
为 4275726e7420666f722022416c6963652042616b65727922
币再也没有办法花掉了,所以这些币就永远丢失了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论