当前位置: 首页 > 工具软件 > OpenBazaar > 使用案例 >

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

仲承福
2023-12-01

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已经烧了“货币”(燃烧证明),并在区块链上验证它烧的额度。

 类似资料: