一、信任是社会的润滑剂
信任是交易的基础。只有在交易双方(或多方)互相信任的前提下,交易才能正常进行。小到饭馆吃饭,大到国与国的协定,都需要彼此信任。
我们去饭馆吃饭,是基于对饭馆的信任,我们信任其不会提供有毒有害的食物给我们,我们信任其会给我们提供需要的服务;而饭馆经营方也是信任我们不会吃霸王餐,才会在饭后结账。
自由市场的买卖,由于双方是面对面的,买方可以当场查验货物的好坏及数量的多寡,卖方可以查验买方付款的真假和数量,这种一手交钱一手交货的交易方式,也提供了信任(信任对方不会作弊或者难以作弊)。
信任是社会的润滑剂,有了信任,分工、协作、买卖、管理等各项社会活动就会很容易进行。
当然,信任不表示安全,信任有时候也会被辜负、被利用。
二、网上自由市场
随着信息技术的发展,电子商务也蓬勃发展。如今,我们可以在电子商务平台购买平台提供的商品,或者挂靠平台的销售者提供的商品,这个场合的信任从何而来呢?我们假设某个网站提供这样一种服务:任何人都可以在上面列出自己要出售的商品,然后与买方直接进行交易,网站只是提供平台,不参与买卖的任何其他环节。又会出现什么状况呢?你会放心地买上面不知道是谁列出的商品吗?
事实上,假如没有相关的约束机制,商品可能是假冒伪劣,甚至人都可能是假冒的。在互联网上假冒,是极为容易的。早在1993.07.05,《纽约客》杂志上就刊登了一幅漫画“在互联网上,没人知道你是一条狗”,意指互联网上,人(或物)的身份都是可以伪造的。
我们在电商网站购买商品,是因为信任电商网站,即使是对于挂靠在电商网站的其他个体卖家,我们也因为电商网站提供了中介而信任个体卖家,因为如果发现买的东西有问题,我们可以通过电商平台获得退款。
上述是传统电商的情况。这种中心化的电商有其好处,也有不好的地方,如垄断、获取并滥用用户信息、抽取佣金等等。随着区块链这种无中心的工具的出现,人们提出了基于区块链的无中心的网络自由市场。在这样的市场上,任何人可以自由的加入和退出,也可以匿名加入。
我们前面提到,信任是交易的基础。那么,问题来了,在这种无中心的、匿名的场合,交易双方如何建立信任呢?
当然,我们可以采取打分的方式来评价交易对方的信誉,使得部分用户可能因其行为不当或其所售物品质量等原因导致相关其评价不好,从而使其信誉等降低,这样的后果是对其后续的交易带来不利影响。为了减少或摆脱信用、声誉等降低带来的影响,一些用户可能采取注册新的账号/身份的方式,重新开始。这种恶意攻击者注册多个身份(或者变换多个身份),以满足自己私利、损害他人利益的行为,通常称为女巫攻击,是无中心的P2P网络中常见的一种攻击方式(女巫攻击,取自根据作家Flora Rhea Schreiberie在1973年的小说《女巫》改编的同名电影,其讲述的是一个化名Sybil Dorsett的女人心理治疗的故事。她被诊断为人格分裂,拥有16种不同的人格)。如图3为女巫攻击示意图。
为了给恶意注册者增加门槛,提高攻击者的代价,有人提出使用燃烧证明机制。
三、解决方法(一)——燃烧证明
- 燃烧证明的思想
OpenBazaar® [1],是一个基于区块链的网上自由市场,其于2014年推出。为了抵抗女巫攻击,OpenBazaar®的解决方法是采用货币“燃烧证明”的方式,即,当新用户注册时,需向一个无法使用的地址发送/转账一定数量的比特币,使得这些比特币永远消失,不能再被任何人所使用(比特币的转账不能像银行转账那样查验收款账号是否正确),相当于把这些比特币“燃烧”掉,故而称为燃烧证明。当新用户注册并提交“燃烧证明”后,其获得初始的信誉,其信誉会随着其以后的活动进行调整。
由于付出了代价,通常情况下用户会珍惜其信誉,否则由于信誉值的下降,要么影响其往后的交易,要么需要其重新注册新的账号,但是这又需要其付出新的代价,即燃烧证明。燃烧证明所燃烧的货币,不限于比特币,也可以是其他的数字货币。
- 燃烧证明的实现
燃烧证明如何才能实现呢?我们知道,在现实的银行转账中,我们需要提供收款账户的名称、账号和开户银行,如图5所示。如果这些信息不匹配,我们是无法转账的,即正常情况下,我们是无法把钱转给一个不可用的账户的。
下面,我们先以比特币为例分析一下区块链的转账方式。在比特币系统中,用户首先要产生一个256bit(相当于64个16进制数)的数(通常需要是随机数,以免与他人的相同或被他人猜测到,越是随机,安全性越高)作为私钥,然后通过私钥计算出公钥,再由公钥计算出地址(一个字符串)。这个过程是单向的,我们不能通过一个地址反过来计算出公钥,也不可能通过公钥反过来计算出私钥(这是一种安全机制,需要了解详细信息的读者可以参考比特币或区块链的相关书籍)。如图6所示。
而如图6生成的比特币的地址通常是一串看起来很乱的字符串,如“16UwLL9Risc3QfPqffdUFVDSKofHmBQ7wMtjvC”这样的形式。在比特币的转账过程中,只会检查发送/转账方的合法性(验证其签名),而不会检查接收地址是否属于某人,是否合法的。因此,我们可以“造出”不属于任何人的账户地址的。如果我给出一串如上那样的字符串说这是个不可用的地址,也许没有人会相信。但是,我们可以造出很“规律”的地址,如“111…111”(k个1),则这样的地址就不属于任何人。因为,一方面正常通过图6计算得到这个地址的概率几乎为0,另一方面,想要通过这个地址进行反向找出私钥,是计算不可行的。我们从比特币的原理知道,想要花一个账户地址里的钱,必须知道其对应的私钥。没有人掌握该地址对应的私钥,就意味着任何人都无法使用该地址里的比特币。于是,发送到这样的地址里的比特币相当于被“烧”掉了。我们还可以通过另外一种方法生成“燃烧”地址,我们知道,比特币的账户地址实际上是由公钥经过几轮计算得出的一个200bit数字,最后经过base58编码得出的字符串。如果我们编造一个超出200bit的数,经过base58编码得到的一个字符串,作为“燃烧”地址,则其绝不可能是比特币环境下某个合法私钥对应的地址,从而彻底杜绝任何人使用其上资金的可能。前一种生成“燃烧”地址方法的优点是,人肉眼即可识别,缺点是不保证绝对安全。后一种方法是,绝对安全,但是可能肉眼不好识别。我们可以把两种方法结合起来,生成绝对安全且肉眼容易识别的“燃烧”地址。具体如何操作,留给读者思考。
- 燃烧证明的其他应用
燃烧证明最早是作为一种区块链的共识机制由Stewart提出来的[2],通过燃烧其他种类的货币(如比特币)“挖矿”获得新的种类货币。这在新的货币建立之初是有益的,因为在开始之时,新的货币要么没有,要么很少,无法采用proof-of-stake方式,而如果采用类似比特币的proof-of-work,又因为参与者少,很难得到大众认可。通过燃烧证明,可以快速获得价值认可(相当于锚定其燃烧的货币的价值),从而不需要像比特币那样经过漫长的成熟期。如Slimcoin[3]就采用了燃烧证明挖矿。
四、解决方法之(二)——捐赠证明
- 燃烧证明存在的问题
上述的燃烧证明存在诸多的问题,比如:(1)法律问题,特别是对于法定货币来说,擅自销毁法定货币存在法律风险,有时用户可能还会存在一定的“负罪感”;(2)金融和经济问题,货币的流通量是需要与经济运行相匹配的,货币流通量的不合理变化,可能导致一连串的金融/经济问题,如导致不合理的通货膨胀或通货紧缩等,从而对经济发展带来影响。而“燃烧”货币,自然会导致货币的供应量和流通量的减少。
- 捐赠证明的基本思想
为解决燃烧证明存在的问题,我们提出一种新的机制,称为捐赠证明[4]。当新用户拟加入区块链社群(如自由市场)时,即在区块链中注册/申请一个新的账号时,需向一个或多个指定受捐账户或地址转入不低于某指定数额的资产(如数字货币)作为捐赠证明。这样可达到燃烧证明的效果,提高新加入者的加入门槛,从而提高攻击者实施女巫攻击的代价,降低其实施女巫攻击的意愿。这里作为捐赠证明的资产不限于数字资产,也可以是物理资产。
捐赠证明的提交(即,资产的转入)方式可以具有多种形式。例如,可以在区块链上进行捐赠,也可以在区块链之外进行捐赠(如非数字资产),把接受证明提交到区块链上。捐赠的资产种类、数额以及接受捐赠的账户等,可由区块链社群/自由市场委员会等决定,这里不做赘述。
- 捐赠及初始信用建立流程
本节介绍捐赠及初始信用建立流程。
首先,用户在区块链社群中注册新的账户ID,然后进行足额捐赠并将捐赠证明和账户ID一起提交给智能合约。智能合约如判定用户提交的捐赠足够,就自动给账户ID赋予初始的信誉值。随后用户即可在该自由市场以该账户ID从事相应的买卖活动,而账户ID的信誉值随着其买卖对方的评价或其他因素而调整变化。当账户的信誉值降低到低于系统设定阈值时,账户被系统注销/停用。
在实际应用中,对于不同的账户类型,可以要求不同的捐赠额度,可以视其如不诚实而可能带来危害的大小而定。
五、捐赠证明的优势
捐赠证明相比于燃烧证明,除了没有燃烧证明所涉及的法律问题和经济/金融问题外,至少还有两方面的优势:一方面,捐赠证明同样可以部分地解决女巫攻击问题以及新用户的初始信用问题,而同时又避免了如上所述的燃烧证明所带来的问题;另一方面,作为捐赠证明的资产,如用于慈善,可以满足用户从善的情感需求,用户可从中获得愉悦感,容易获得用户认可,尤其是爱心人士。
此外,捐赠证明还有一个好处,那就是在不使用数字货币的场合,捐赠仍然可行。但是这样的场合下燃烧证明却不可行,因为通过账号处理进行“燃烧”物理世界的资产是做不到的,从银行提取纸币烧毁又是极为麻烦的。而纸币烧毁过程和结果的确认,是更加麻烦的,需要进行线下公证。众所周知,即便是公证,即便是在线进行过程直播,都有很大的做假空间。如图9所示为一个真实的案例,从图中我们可以看到,用于抽奖的球才摇出了3个,而系统却已经报出5个球的数字!
另外,对于法币,如果你燃烧了多少,则造币方就获利多少,你燃烧了美元,最高兴的(获利的)也许是美联储及其相关方,而其他任何人都没有得到好处。
参考文献
[1] openbazaar, https://openbazaar.org
Karantias K., Kiayias A., Zindros D. (2020) Proof-of-Burn. In: Bonneau J., Heninger N. (eds) Financial Cryptography and Data Security. FC 2020. Lecture Notes in Computer Science, vol 12059. Springer, Cham. https://doi.org/10.1007/978-3-030-51280-4_28
[2] Stewart, I.: Proof of burn – bitcoin wiki, December 2012. https://en.bitcoin.it/wiki/Proof of burn
[3] P4Titan, “Slimcoin: a peer-to-peer crypto-currency with proof-of-burn,” 2014, https://slimcoin.info/whitepaperSLM.pdf#:~:text=Slimcoin%20is%20a%20peer-to-peer%20cryptocurrency%20derived%20from%20PPCoin%27s,ofproof-of-burn%2C%20proof-of-stake%2C%20and%20proof-of-work%20strengthens%20the%20blockchain%27s%20security.
[4] 李德全,李涛涛,一种用于区块链社群准入的方法和设备,中国专利申请公布号:CN 109615527 A.
版权声明
本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。