身份和区块链:我们需要解决的关键问题
身份的基础性使用实例(use-case)是什么?
密码学货币在金融领域最有趣的用途,是证券交易处理、供应链金融和金融衍生品操作。理论讲,这些领域应该实现完全的自动化,但是在现实中,仍然需要大量的人工操作、重做、对账、复杂性和无穷无尽的混乱和争端。
为了帮助思考区块链技术的用途,我提出了“信任的分散”(trust bundles)的概念。将此概念作为一种思考方式,思考现有商业模式--例如证券交易和结算--的哪一方面能够被转移到一个去中心化的共识系统中,从中能够产生什么益处。
然而,在实现这一切美好前景以前,有一个大问题需要解决。这个问题就是身份。比特币的匿名性,在某些使用情景下,可能非常有用,但是比特币的匿名性不能帮助被指控向恐怖分子发放“加密股息”的公司,如果该公司不能证明他们没有这样做的话,他们就会有理说不清。
所以,想象一下,我们正生活在未来社会。智能财产技术意味着证券能够在一个类似于区块链的系统上发行和交易,智能合约技术能够允许我们将所有的金融衍生品合约搬到一个全球平台上。
为了实现这个美好的未来,我们需要解决的身份问题是什么?
智能财产发行
想象自己是一位投资者。你拥有一个智能财产钱包。该钱包中可能有多种密码学货币,一些银行发行的法币和证券投资组合,你使用多重签名技术保障钱包的安全。
你决定向自己的证券投资组合中添加IBM的股票。所以你命令你的钱包在一个去中心化的证券交易所中提交买单。
你提交买单买什么呢?
你应该在用户界面上输入输入什么信息,从而告诉钱包你想买IBM的股票,而不是其它公司的股票呢?
如果你能简单地直接输入“IBM”,那就太好了。
但是,这是怎样实现的呢?记住,我们生活在一个去中心化的世界中。我们有的只是“分散的信任”。所以,我的钱包应该怎样理解“IBM”呢?去中心化账本哪一个资产代表“真正”的IBM呢?如果有人在真正的IBM公司之前,在账本上使用了“IBM”这一名字,那么类似于域名币的系统就不能解决这个问题。
另外,在任何情况下,你所指的“IBM”是什么意思?
直觉上,你的意思可能是这样的:一家位于纽约的美国大型IT公司,它在2014年的收入大约为1000亿美元,还是道琼斯平均指数的一部分。但是,应该怎样描述这一直觉定义,使得一个去中心化网络能够理解呢?
另外,怎样将你要购买的证券从由其他人发行的类似的证券中区别出来呢?怎样将你要购买的证券从一个骗子第三方发行的证券中区别出来呢?这个骗子可是千方百计地想欺骗你,让你购买他的证券。
在一个匿名的世界中,我怎样才能从骗子资产中,识别出真正的区块链资产呢?
一个我们现在使用的、毫无想象力的解决方案是:相信某人。告诉你的钱包,你信任Bloomberg或者Markit的目录表。这实际上是一个预言机服务(oracle service)。
但是,这就会造成一个新的中心点。控制目录表的人能够获得额外的“租金”,他们是风险的源头:如果他们的数据库被黑客攻击或者一个恶意的员工改变记录,那会发生些什么呢?设置多个预言机也许是个可行的方案。
另外,也许我们可以使用互联网X.509证书系统,设计一个模型。但是,即使这样,也需要一些考虑:你不想你的网站管理员发行10亿美元的债券。
成为一个发行者意味着什么呢?
我们也需要从发行者的角度思考这个问题,这更加困难。为了使事情有趣,这次我们以一种货币为例。
想象一下,我们仍然生活在未来,我是花旗银行的顾客,账户余额是100万美元。我可以要求花旗银行在区块链上发行代表我的银行账户余额的代币(token),并让花旗将代币发送到我的钱包中。我的花旗银行账户余额将转变成代表100万美元的代币的所有权。(虽然不需要声明,但是我还是声明一下:我只是以花旗银行为例。我不知道花旗银行在这一领域的计划。)
Richard是花旗银行的顾客。花旗银行将Richard的余额转变成一种位于区块链上的“CitiUSD”代币,并将它发送到Richard的地址上:1RICHARD。
所以,我现在是一位持有100万CitiUSD代币的持有者,这些代币存在于我的地址中:1RICHARD。需要注意的是,这种操作本质上是Ripple系统的工作原理,但是让我们假设,我们现在在一个区块链系统中。
另外:想象一下,如果所有的银行都这样做。那么我们在一个平台上,将拥有CitiUSD、ChaseUSD和BarclaysGBP。可能他们将以不同的、基于自身信誉的价格交易。这个价格充当信用违约交换价差(CDS)的功能?
现在,花旗银行知道我是谁:我已经是花旗银行的顾客,需要记住的是,他们需要知道我的区块链地址,从而能够发行代币给我。
但是,想想接下来会发生什么。现在,我对这些代币拥有完全的控制权。
所以,我可以将代币发送给世界上的任何一个人。接受代币的人现在拥有代表100万美元的代币。让我们想象一下,我从Charlie那里购买了一所房子,使用我的CitiUSD代币付款,将代币发送到Charlie的地址:1CHRLIE。
我用CitiUSD代币向Charlie进行“支付”。所以,Charlie现在拥有向花旗银行要求兑换美元的权利。但是,花旗银行没有参与这一交易。
花旗银行会怎么认为这一交易呢?谁是“1CHRLIE”呢?他也是花旗银行的顾客吗?如果不是的话,花旗银行怎么知道“1CHRLIE”是好人还是坏人?花旗银行有义务将代币兑换成100万美元吗?
更加复杂的情况,如果在代币发行和兑换之间的时期内,代币流经一个“坏人”之手,那将会发生什么呢?代币的最初拥有者可能是好人,一段时间后要求兑换代币的持有人可能也是好人。我们可能知道1CHRLIE是Charlie,Charlie是Chase银行的顾客,我们已经向Chase银行核实过了。但是,我们需要知道位于中间环节的代币持有人是谁吗?
我们需要知道曾经拥有过代币的每一个人的身份吗?
如果中间阶段的一位持有者是1TRRST,他是一名恐怖分子。
你非常肯定,我们确实需要知道他们的身份。如果你能告诉你的监管者,这些代币是等同于现金的资产,这可是一件幸事。
如果不考虑说服监管者的可能性,还有什么选择呢?
我认为,有两个选择:
选择1:事前预防–发行银行“共同签名”
这一选择非常简单。你改变这个模型,从而使得这些资产不是类似于现金的资产。花旗银行代币的持有者进行任何转移资产的区块链交易时,需要得到花旗银行的联合签名。所以,花旗银行有机会审查收款人。你可以将此称为“事前预防”。它当然会有效,但是它也将严重地限制系统的用途。
选择2:事后预防–除非你行为规矩,否则银行不会支付
这一选择更加有趣。你可以在任何地方发送代币,但是如果你想将代币兑换成真正的美元,银行将要求你证明,曾经拥有过代币的人都是好人。如果你不能证明代币的所有权历史是干净的,那么代币将不再具有价值,银行不会兑付美元。
先把这些问题放在一边:“好人”究竟是什么标准、什么意思,以及对银行会因此否认自己义务的担忧。
首先,让我们除去最明显的选择。最明显的选择就是:只有所有的代币所有者都是花旗银行的顾客时,花旗银行才会兑付代币。或者可以将条件放宽:只有所有的代币所有者都是下列银行时,花旗银行才会兑付代币。后一种方法可能会导致一个行业“登记”,将银行的标志与区块链联系起来。我们又回到了中心化,导致系统“割据化”的风险:你有“白色”地址和“黑色”地址–“白色”地址可以拥有银行系统资产,“黑色”地址不可以。
如果一些读者将要暴怒了,那就先等等,因为以上的选择不是我建议的。幸运的是,还有其它的方式。
“身份是新的货币”
上周,我幸运地参加了在伦敦举行的“数字化身份”会议。会议的主持人–Dave Birch–鼓励观众深入思考数字化身份问题。此次会议给了我动力去读Dave Birch的书《身份是新的货币》(“Identity is the New Money”)。我推荐这本书,它使人思考。
主题之一是:我们对身份的思考完全错了。大多数时候我们认为我们需要知道某人是谁,实际上,我们需要知道的是关于他们的某些事情:
酒保不需要知道你的名字,他们只需要你能证明自己年满18岁。
一位英国医生不需要知道你出生在哪里,如果你有权享受免费医疗
……等等
与此类似,理论上讲,USD代币的发行者需要知道的可能是像下面的事情:
控制代币地址的人是一个合法的人……
……这个人有一个美国银行账户……
……某人已经仔细研究过这个人的身份证件,没有问题……
……正在做陈述的人被代币的发行者(假设是花旗)信任
我强调“理论上”,因为AML、KYC和CDD的监管者可能不这样看,但是不管这些监管者,继续往下思考……
这些概念的共同点是它们都有“证明者”这一理念。证明者是:
●被发行者信任
●将我有的某物(我的脸或者我的区块链地址)与我是什么(“年满18岁”,“一个美国银行账户的持有者”等)联系起来。
如果你信任证明者,那么你可以信任能提供脸的所有权或者区块链地址的人是年满18岁和美国银行账户的持有者。
银行需要什么,才能满意呢?
现在,让我们回到货币的例子。记住我们正在致力解决的问题是:如果我是花旗银行,我想确定任何曾经持有过花旗代币的人,都是被我允许的人。
那么在没有一个中心化数据库的情况下,我们怎样实现这一切呢?想象一下,Charlie是Chase银行的顾客。
假设Chase银行知道Charlie是谁,对Charlie是个好人感到满意。
所以,如果Charlie能够向Chase银行证明,他控制着某一特定的区块链地址,Chase银行可能乐意给他颁布一个“证书”。
这个证书可能会写着:
“我是Chase银行。这是我的证明。我知道这一地址--1CHRLIE--的所有人是谁。他是一位美国公民,在2014年12月3日,他是我们的顾客。他拥有一个良好的账户历史,他的账户没有危险迹象。”
我可能从花旗银行那得到一个证书,认为我是一个好人,并从英国政府得到一个证书,确认我是一个英国公民。
资产的发行者可以使用这些来自于他们信任的第三方机构的证书,从而使得监管者满意吗?
所以,现在更加有趣的东西出现了。
当发行资产时,发行者可以设置他们的条件。他们可以这样声明:
“如果持有人能够证明他们和每一个曾经的持有者是美国公民,拥有一个KYCd美国银行账户,我将按照票面价值,将代币兑换成美元。我将接受任何由FDIC担保的银行的证明。”
所以,如果我考虑从某人手中购买CitiUSD代币,我不用再关心卖方是谁。我只需要关心他们是否持有一个或者多个满足资产兑换条件的证书。我的钱包软件甚至可以为我自动检查卖方是否拥有证书。
当某人想将代币兑换成美元时,他们只需将代币出示给花旗银行,并附上证书链。花旗银行能够立即判断出代币只被拥有证书的人持有过。
现实操作更加复杂。特别是,如何阻止交易证书的黑市?例如一个人获得一个区块链地址的证书,然后将证书和地址转让给一个坏人。虽然这是一个困难的问题,但是不是不能克服的。
但是,最基本的原则是至关重要的:如果我们将迁移到一个新的世界中(在那里,信任是分散的,控制是去中心化的),我们需要重新思考身份。将身份与一组不同的“证明者”–证实我拥有的某物(一个区块链地址?我的脸?)和我是某物(英国人,年满18)之间的联系–锚定在一起,这可是未来的发展方向。
原文:http://gendal.me/2014/12/03/identity-and-the-blockchain-key-questions-we-need-to-solve/
Scan QR code with WeChat