在战场载誉归来的花木兰,回到了家乡,却遇到了一个头大的难题,这是美丽的女子常常会遇到的。
花家给她介绍了一个男朋友,各种美好。世家子,高富帅,还是花木兰的发小,从小关系就特别好。与此同时,花木兰在战斗中结下了深刻友谊的男猪脚,也追到了花木兰的家乡,并开展了他的爱情旅途。对发小来说,竞争者与花木兰有过命的交情。对战友来说,毕竟这里不是战场,环境变了目标变了,价值观甚至也变了。
战场上的花木兰杀伐决断,但情场上她却优柔寡断,居然同时答应了两边的追求。而两个小伙子也都不同程度的感觉到了这种危险。他们都在安排举行婚礼来确认这段感情,可怜的花木兰不得不在两场婚礼间奔波和犹豫。
这个故事的主角换一个情况,婚礼的主角有意想实现一女二嫁,或者一男二婚呢?作为婚礼的另一方,如何才能避免这种风险。我们可以看到,两个婚礼团队之间如果有通信联络,这个婚礼骗子的故事就会穿帮了。也就是说,如果两个网络被分割了, 一致性就不能达成。
本来两个人的关系是基于爱与信任的,但现在这种信任非常脆弱。那么如何保证一个美女不嫁两次呢?解决的方法有两个。
第一个方法是通过一个共同信任的第三方,比如婚姻登记所,来登记。我们把这样的系统称为中心化的系统,其实质是第三方信任。我们可以有多个信任的第三方来处理各种交易,而不需要信任交易的对方。比如日常生活中,我们往往有不止一个银行。多个银行的好处,还体现在风险分担。如果其中一个银行当天不营业,我们可以用别的银行。
第二个方法是聚集一批人,相互都没有信任,甚至知道其中一部分是来捣乱的,但大多数(例如1/3,51/100)是忠诚于规则的(loyal node),通过把事件(交易)广播给他们,得到他们的认同和背书。那么这笔交易就算完成了。这个模式也叫婚礼,是基于广播协议的共识。
此外,还有第三种方式,就是交易的双方互相信任,他们自己接个吻就地老天荒了。不需要以上两种方式。这种方式的交易成本是最低的。
以上方法那个最好?我不知道答案,我想他们各有各的好处,要看具体的应用场景的。可以把他们都归入交易,采用交易费用的框架来分析。推论交易费用更低的系统有更好的整体经济效益。那么最好的、交易成本最低的应该是真爱。真爱不可得或者得而会变心,退而求此次,只好上登记所/交易所。
交易说所看到这个生意垄断又好赚,不断提升他们的交易费用。有些聪明的程序猿就想了,能不能不要这些中心化的系统了,去掉对第三方信任的需求,这样交易成本会不会更低呢?这就是去中心化共识的理想,它已经被比特币为代表的一批系统证明是可能的。
新娘嫁两次的风险,在货币的环境下,就是一块钱花两次的风险。加密货币(crypto currency) 是如何解决这个问题的呢?请看下回分解。
附录:技术部分
交易费用是科斯定理的核心概念,用它来分析经济系统的效率。
讨论网络隔离与一致性关系的定理,叫CAP。这个定理说,一致性,可用性与网络隔离容忍三个目标,不能同时达到。分布式系统要达成C+A的目标,他的网络必须是连通的。