区块链随笔 - 连载第三期 - 误区篇
4. 常见误区
由于本人入行不久,在学习过程中遇到的各种坑,以及误区与各位分享一下,错误之处,还请多多指正。
4.1. 只有精通开发的IT人员才能搞懂区块链原理
诚然,区块链是一门高难度,跨学科的综合型IT技术,包含数学,密码学,分布式数据库,点对点网络传输,金融学,博弈论,世界上能够完全精通,并且能开发底层的,可能不会超过一百人。但这完全不妨碍我们去领略区块链的魅力,以及未来价值互联网的到来。再次安利一个课程,由万向赞助的 chainB制作。B站(哔哩哔哩)搜索关键字:“三分钟 区块链”
其实现在的各种公众号,直播,O2O,共享经济就是类似 DAO 的应用。
DAO (Distributed Autonomous Organization),不依赖于大型机构,分布式自治组织。
人们突然发现可以利用上班之余的时间,无需中介,创造内容,输出服务,获得收益,来养活自己。原来需要大型集团才能开发出来好的软件,现在 GITHUB证明,全球各地几颗在一起搞开源软件,照样可以风生水起。区块链也是同理,利用技术,创造平等公开的环境,比特币就是最经典的案例,每个人贡献出自己的电力&计算机算力,就有可能挖到矿,尽管后期变成了矿机军备竞赛,个人电脑完全没可能挖矿。前期确实是给大家看到了一个真实的蓝图,全球各地的人,按照一定的规则做事,就可以公平的获得报酬。
现在我们都用着智能手机,高性能笔记本,享受着移动互联网带来的便捷生活。然而几乎没人可以说得清楚,CPU,操作系统原理,手机上的一个点击,需要CPU,硬盘,内存,显卡,网卡,路由器,交换机,加密解密,防火墙,操作系统,中间件,数据库,后端服务等一系列复杂的软硬件交互最终返回了一个正确的结果。即使计算机系毕业的同学学过之后应该也忘得一干二净。
然而最早使用智能手机,互联网应用的人,所谓的新技术的早期采纳者,他们一定会比中后期大众,更早看见未来趋势,也更容易从中获得经济回报。
4.2. 搞区块链就是 ICO 传销
用IT技术可以开赌博网站,但是不代表搞IT的都是玩赌博的。 用菜刀可以做菜也可以杀人,不能说生产菜刀的公司是坏人的帮凶 用比特币可以解决跨境支付,结算速度慢,手续费高的问题,也可以成为黑市匿名交易的代币。 用区块链可以搞ICO,但不代表所有区块链公司都是搞传销的。 技术本身是中立的,就看人怎么使用。
刚开始搞区块链应用需要的开发投入很大,后来 天才少年 Vitalik搞出了以太坊及一套非常简单快速可用的代币发放协议,让几乎所有人(不需要开发技术)都能够很快以收ETH的方式,完成项目众筹。当然区块链本身只能保证募资过程的透明公正,项目的可靠性,完全看项目发起人的节操和大众评估风险的能力。
前段时间被叫停的 ICO ,算是区块链最成功的应用之一,本质上就是中小企业,新项目的众筹融资,然而绕过了政府机构监管,效率极大提升,然而效率,风险很多时候就是双刃剑,IPO 上市需要各种审计报告,而 ICO 上市只需要一纸白皮书,后来甚至于白皮书也不用了,空气 ICO ,从刚开始极客们纯粹的开发项目筹资,到最后变成了传销客们割韭菜的屠杀机器。为了维持社会金融秩序稳定,国家给予一刀切的处理方案也是非常合情合理的。只不过把洗脚水和孩子都从洗脚盆里一起倒掉之后,如何把孩子找回来成为了一个重大课题。不知道下一个类 ICO 的爆款应用是什么。ICO 的尝试,已经证明金融市场完全无监管的融资必然带来失控的混乱局面。如果把 ICO 变得像 IPO一样,需要一大堆手续环节,那么区块链本身也就失去了价值,沦为一套IT系统。 如何在监管和自由之间找到一个合理的平衡点,是未来很长一段时间里,技术圈和政府机构需要探讨的课题。
4.3. 数据上区块链不等于数据是真实的
看到好多项目写着,用了区块链创造了信任,不可篡改的数据让金融机构信任。 这里偷换了一个概念,比特币区块中的数据证实性是通过UTXO的验证实现。
UTXO是神马?(Unspend transaction output)未被花销的交易输出,换句话说就是你的这一笔消费要低于银行余额,不能开空头支票,这种简单的非真即假的布尔判断。当然很容易确保数据是真实的。
现实中的情况复杂得多,你说一句话,做一件事,数据库上记录的一个行为,多数都是不能简单粗暴判定真假的。 也就是说非转账交易类的区块链数据只能保证上链后数据不可篡改,无法保证上链前的真实。
4.4. 区块链上的数据是不可篡改的
如果熟悉比特币的同学们都听说过,51%攻击,如果掌握了比特币超过51%的算力,就可以修改数据。不可篡改的定义并不是理论上完全不可篡改,而是基于区块链参与人具有理性收益动机的判断,如果一个人拥有超过51%的算力,修改已经生成块产生的好处,远远低于利用这些算力诚实挖矿带来的收益。而且破坏行为极有可能导致比特币价值共识的破灭,于己于人都是非常不利的选择。 对于现在构建的商业区块链也是如此,而多数联盟链共识机制为 PBFT,因为区块链是分布式总账,想要修改原来的数据必须掌握超过2/3的节点,而黑客攻击的价格非常昂贵,与其修改数据的代价,不如投放点广告,招募点牛人,改善公司经营状况赚钱来的更加直接。
4.5. 区块链是去中心化的系统
因为比特币的诞生第一次实现了无中央政府背书的货币发行,很多人说这象征着无政府主义时代的到来,比特币发展至今,无数的政府轮番打压,价格始终居高不下。
实际上没有任何系统能做到所谓的完全去中心化,当时中本聪先生构想的去中心化,每台电脑都可以挖矿的美好愿景,很快被高性能显卡,矿机所打破,现在比特币的挖矿,完全是中心化的。 全球多数算力(矿池)都集中在中国。
区块链不是理想主义的无政府乌托邦,而是把原来完全中心化的系统,变为多中心。举个例子,如果十个人中午要吃午饭,大家每个人都投票,少数服从多数,那效率还好。如果有1000人吃饭,每个人都来投个票,那么效率太低,投完票,估计几天过去,大家都要饿死了。区块链的共识机制同样也是如此,需要在效率和分布式之间找到一个平衡点,而不是一味地完全去中心。
大家只看到了高歌猛进的比特币经济价值,却忽略了区块链技术作为一种大规模协作机器更大的社会价值。 过去分散的组织,如果需要搞价值观,使命,愿景,一方面概念层讲故事,一方面实际层各类规章制度,绩效培训,保证大家心往一处使,为公司效力创造价值。而比特币用一个软件程序就实现了全球各地互不认识的人用公开透明的规则进行经济协作。
参与挖矿协作的个体物理属性上是分散化的,但协作的规则逻辑却是高度中心化。
4.6. 比特币账户及余额存储在什么地方?
大众理解的银行需要有两个最基本的东西,一个是余额,一个是账户,一串账号数字后面跟着你的个人信息,外加你的存取款记录。 比特币的神奇之处在于,既没有余额,也没有账户。当要发生转账的时候,把你历史交易记录全部加总算一遍。那么大家有疑问了,没有账户,怎么证明钱的归属问题呢,这时就要引入非对称加密的概念了。比特币网络上要生成一笔交易,需要用你的比特币地址账户找到所有的交易记录,用私钥打开自己历史的交易,并且用接收人的公钥生成一笔输出,保证这一笔输出只有接收人的私钥才能打开。
换个简单通俗的概念,比特币中的公钥就是支付宝中的地址,私钥就是转账密码,但是区别在于,没有任何中心化服务器存储你的私钥,也没有找回密码,或者多因子识别功能,私钥丢失意味着钞票全没了。
而且公私钥对和任何个人基本信息没有绑定关系。 这就牵涉到一个很重要的问题,正常银行交易需要做到 KYC(Know Your Customer),AML(Anti Money Laundering)。 现在的比特币网络不支持上述两点,上次的wanna cry 勒索病毒敢于让别人向某个地址充值,也正是基于此,不怕被抓,如果要追踪货币走向,需要极其复杂的分析推理,从一堆乱码地址中找出资金去向,但是这一堆乱码地址究竟对应哪些人,却很难搞清楚。 所以比特币广泛运用于黑市,让各类政府执法机构比较头疼,未来国家发行的电子货币一定会保证上述两点的可用。
对于公有链来说,这样的设计是非常巧妙且合理的,如果每个账户个人信息存在公有链上,除了匿名特性丢失,现在的完整区块大小不是几百G,可能是几百T,下载数据连硬盘空间都不够用,全网速度会更慢。
4.7. 区块链上的资料都是加密的
因为区块链技术和密码学紧密绑定的关系,会给大家一个误解,似乎区块中的数据都是加密的。实际上只要满足六层模型中三层(共识层,网络层,数据层)的分布式数据都可以称为区块链。(具体的知识请网上看B站的三分钟系列视频) 区块链的上可以存电子签名,可以存明文,存哈希,存结构化数据,非结构化数据,神马都可以存。作为分布式总账技术,保证大家的数据都公平的存储在每个节点,然而使用的时候又能保证相关方的数据隐私,所以在权限管理方面还有很多的功课要做。
4.8. 比特币是一枚金币
刚入门的时候,觉得比特币作为金币一般的存在,存储于像保险柜一样的区块中。实际上比特币是一个可以被无限分割的数字。只是因为比特币价值高,所以大家会用金币类比。
4.9. 后端逻辑放到智能合约就是区块链应用
比特币把分散于各银行间的隐私账本放到了公网上进行记录,完成了数据的前置。
以太坊把藏匿于各种企业后端的应用逻辑,以图灵完备共识机的形式放到了公网上,完成了应用逻辑的前置。神马是图灵完备呢?能执行所有可被描述的计算。区块链节点既可以从外部获取信息,也可以向外部发送指令。
要想做出有价值的区块链应用,需要弄清楚两个已经成功区块链产品背后的商业逻辑。
为什么比特币的数据前置的操作,能产生数千亿美金的经济价值呢,因为记账是一种带有巨大经济利益的行为,过去只有依靠强大的中介及法律背书,才能做到真实可靠,甚至于强大的中介和法律有时候也会受到人为意志的干涉出现造假行为。
为什么应用逻辑的前置可以产生巨大的经济效应了,本来金融机构之间的互相对账,需要多方记账,对账,出现问题需要重新算。本来投资股票需要银监会层层审核,认购,交割,退出投资需要等几天,甚至几年。区块链通过把藏匿于后台双方互相不信任,但又必须要合作的逻辑,放到了透明的智能合约,减少IT系统的重复建设,也极大提升了效率。
想要产生经济效应的区块链应用需要弄清楚以下几点
1. 多方参与,彼此之间信任偏弱
2. 系统重复建设
3. 中心化系统造假风险大,收益高
4. 使用了区块链后造假成本高,收益小
5. 短期和长期能产生什么效益
数据,应用逻辑上了区块链势必会带来 运维成本升高,因为分布式账本,一份内容要拷贝到N个节点。如果解决问题带来的收益不能覆盖运维成本的升高,那么就会陷入为了技术而搞技术的泥潭。不是所有的牛奶都叫特仑苏,不是所有用了区块链技术的项目都有商业价值。
区块链项目和互联网信息系统项目有很大的区别,相比起线下手工操作的线上化,调研需求后写出用户故事,画出流程图,思维导图,原型图,不停迭代优化,能够产生经济价值;
区块链更偏重于后端逻辑思考,需要考虑到数据隐私,逻辑隐私,各方参与的利益点分别在哪里。不可能要求企业一股脑把数据和逻辑都放到区块链上去执行,很多的数据涉及商业机密,不能公开,或者只有在适当场合才能被公开使用。