• 去中心化市场OpenBazaar中的信任是如何建立的


    OpenBazaar中的信任是通过两种协同系统处理的:全局信任和投影信任。当网络中的所有成员都以同样的方式相信网络中的特定用户时,就是全局信任。这种信任是通过燃烧证明和时间锁证明建立起来的。投影信任是指向某个节点的信任,对网络中的每个用户可能都不同,所以它是从每个用户投影到节点上的。这种信任是通过一个匿名的部分知识信任网络建立起来的。

    下面来看看这些方法的详细情况。

    方法1:燃烧证明

    卖家必须消耗比特币来创建店铺,这些比特币是不可退回的。所以用户创建多个身份标识的成本很高,这是OpenBazaar中抵御女巫攻击的基本方法。尽管这不完美,但还是有威慑作用的。燃烧证明越大,创建账号的成本越高,但潜在用户的进入门槛也变高了。公开并可验证地燃烧一定额度的“货币”是在剩余额度上的速遣费(remurrage)。速遣费跟滞期费(demurrage,因为持有“货币”的时间超出给定时段而产生的开支)是相对的。假设你在家里,用笔记本电脑创建了一个有1000万额度的“货币”,人们马上开始用它交易。当你出去走了一圈回来后,就只剩下500万,其他的都被烧了。如果你持有该“货币”,不管额度多少,就相当于在比特币这样额度固定的“货币”上以常规经济追踪价格拿到了想要的股份。

    dapp首先从节点的GUID直接生成一个燃烧地址:

    def burnaddr_from_guid(guid_hex):

        _log.debug("burnaddr_from_guid: %s", guid_hex)

        prefix = '6f' if TESTNET else '00'

        guid_full_hex = prefix + guid_hex

        _log.debug("GUID address on bitcoin net: %s", guid_full_hex)

        # 扰乱GUID,通过翻转地址的最后一个非校验位来防止SHA256的近似碰撞,

        # 确保不可消费性

        guid_full = guid_full_hex.decode('hex')

        guid_prt = guid_full[:-1] + chr(ord(guid_full[-1]) ^ 1)

        addr_prt = obelisk.bitcoin.EncodeBase58Check(guid_prt)

        _log.debug("Perturbated bitcoin proof-of-burn address: %s", addr_prt)

        return addr_prt

    那里只是GUID上的一个简单交易。所有节点都可以在GUID十六进制上执行同一个burnadd_from_guid函数来验证某个GUID已经烧了“货币”(燃烧证明),并在区块链上验证它烧的额度。

  • 相关阅读:
    [Javascript Crocks] Apply a function in a Maybe context to Maybe inputs (curry & ap & liftA2)
    Error: 17053 LogWriter: Operating system error 21(The device is not ready.)
    PPS2013校园招聘笔试题
    RobotFrameWork(十一)AutoItLibrary测试库在win7(64bit)下安装及简单使用
    iOS 5 故事板入门(3)
    Eclipse代码字体、颜色美化,更改字体大小、颜色
    iOS 5 故事板入门(4)
    54. 如何在测试中触发服务器上运行的代理
    【PHP SDK for OpenStack/Rackspace APIs】身份验证
    JQuery总结
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13312780.html
Copyright © 2020-2023  润新知