Total Pageviews

Saturday, 17 August 2019

聊聊区块链

真正开始研究区块链技术的产品落地,应该在17年中前后,ETH开始火了起来,其智能合约技术有一些可以解决实际问题的可能之后,才开始认真的看一些文档和代码。而真正的开始坐下来想区块链到底应该怎么样在产品上落地,还是几个月前霍炬来我家住了两天,我们聊了一些技术之外的观点之后,才开始的。
周围的朋友大约可以分为两类,一类是极度看好区块链,相信这东西可以改变世界且按流行的词儿说:all-in到这个领域的人。而另外一类则是认为这东西是个泡沫,技术上根本没啥进步么,只是搞了个分布式系统怎么可能改变世界呢?而最好玩的是,前者一般是“古典”技术圈之外的人,以不懂太多技术的同学为主,而后者则主要是我周围在互联网创业方面摸爬滚打很多年的老手,更有很多人的技术底子也不错,这些人却更不看好区块链这件事。
我觉得如果抛开纯系发币圈钱的主儿不算,这两类朋友的观点倒是都可以理解,而也都可以找到他们为啥有如此大的观点上的不同的原因。而就我而言,这几个月里面,几乎每天都有朋友来问我对区块链的态度、让我看白皮书、让我帮他们写合约之类,甚至有些不堪其扰了。加之实际上在技术圈以外,大家对区块链的看法确实有很多不完整和偏颇之处,所以,想写篇文章,一来集中说说我对区块链这件事的观点和态度,借此给急于了解区块链的开发者、产品经理一些建议,二来,也希望通过文章给区块链技术和现在盛行的发币、ICO画个界限。
这篇文章不谈技术,不谈高大上的各种算法,这些东西随便一搜网上就有大堆的文章可以看,只讲我对区块链的认识和理解,以及一些技术外行也能看懂的东西。好在,据说现在很多币都破发了,也许这时候写这篇文章,可能会有更多人会郑重其事的看看吧。

区块链到底是什么鬼?

抛开一堆名词和概念不讲,更不讲技术细节,简单来说,区块链就是一个不可随便改内容的数据库。如果对比我们现在在用的数据库技术,无论是mysql、mssql、oracle这类关系型数据库,还是redis、mangodb这样的nosql数据库,你在上面保存的东西显然是可以被改掉的。而区块链利用一些算法和数据结构上的技巧,确保了存在上面的数据不可改,或必须遵循特定的方法和规则(合约)去改。
注意:与绝大多数的文章不同,这里我并没有提到区块链是个“分布式”数据库。因为实际上,分布式只是实现“内容不可以随便改”的方法,而不是目的。搞清楚这个,非常重要。
既然这个数据库里面的内容不能改,或者必须通过某种方法才能改,那么显然我们会发现,区块链技术解决了互联网世界里面之前无法解决的一个问题:数字内容的确权。所谓确权,就是确定某个数字世界里的东西属于你。传统互联网世界里,所有数字资产的传递都是基于“复制”的:你把硬盘上的某个照片发给了朋友,但这个照片并不会从你的硬盘上消失。而在区块链世界里,如果你想,就可以通过区块链技术,来确保这个照片的所有权,一旦发给别人,就真的不属于你了。
而这个数字内容,可以是一些电子文件、一些程序代码,更可以只是一个数字:这个数字只有你在遵循某种特定方法的情况下操作才会减少或增加,别人完全没有办法把你拥有的这个数字随便改掉。
根本上来讲,区块链解决的只是这个问题,没有更多了。

你对发币这件事怎么看?

显然,如果区块链解决的问题就是确权,那么各种数字货币一定会是首先会在区块链上跑起来的应用。道理很简单,就是因为如果当成账本来用,对区块链来讲,是个极好的使用场景。而实际上,区块链的第一个经典应用——比特币就是这么干的,如果简单理解的话,比特币实际上就是做了一个账本来记录你有多少比特币而已(当然实际上具体实现要更复杂一点,比特币用了一种独特的机制,叫做UTXO,这个以后有机会再讲细节)。
如果对比现实世界,你现在去银行存上一笔钱,银行会在属于你的那条数据库记录上加上特定的数字,你的账户里就多出了一些钱。那么问题来了,为什么你选择把钱存在银行,而不是存在我这,我也可以给你记个帐嘛。原因很简单:我不如银行可信,你相信钱放在我这并不是一个有效的确权方法。而区块链如果在技术底层就解决了确权这件事,不用再考虑谁会改掉账本上的数目而黑掉你的钱。那么显然把区块链当成账本用这件事,必然会成为大家的首要选择——因为之前互联网解决不了这个问题。
而发币,就是在区块链上创建一个账本,在上面记录某个人名下的数字有多少而已。这个数字可以不与现实世界的货币对应,所谓发币,就是先给这组数字起个名字,再给你的账本上加上一个数字,比如叫CNB,那么你就拥有了对应的CNB。非常简单对吧?实际上确实非常简单。
然而可惜这个世界并不是由程序员写出来的,有人的地方就有了利益、江湖。既然有一个大家都可以信任的记账方法,不用担心得到的币会被别人黑掉,那么就干脆用这个东西做个可以炒的东西出来就好了。历史上,可以拿出来炒的东西可是不少,从中世纪的郁金香、香料一直到现在的钻石、收藏品甚至房子。可以炒的东西可以是任何——只要有足够多的人相信这东西可以涨价就好了。以前在互联网世界,因为没有一个有效的确权方法——你必须真的持有某个东西才能拿来炒,比如郁金香球茎,比如房子,所以在虚拟世界里无物可炒,现在则不一样了,数字货币没有任何仓储、持有成本,交易速度更快更方便,拿来炒简直就是再合适不过的东西了。这就是很多所谓空气币的本质,跟技术、跟互联网完全没有一点关系。
只要利益足够大,就一定会出现足够多的不靠谱玩法,既然发币炒币就有办法赚钱,又何必坐下来踏实做事呢,发个币然后想办法炒高其价格套现,显然是成本最低的方法。所以市场上几乎99%的各种币都是不靠谱的空气币,这是人性的必然。
如果把不靠谱的玩法去掉,我们仅仅将那个数字真的当成一个账本,来记录某人拥有了什么,这本身并没有任何问题。比如,我们可以用来记录给我投资的投资人、我的员工,拥有这个公司多少额度的股份。甚至我们还可以用智能合约约定这个股份什么时候才能生效、兑现(没错,这就是期权和锁定期啊)。我们只是把现实社会中的记账方法放到了区块链上,并且用区块链上保存的一段代码(智能合约)来约定这些数字应该怎么变化和改变。这些都可以实现,而且看上去更先进,更自动化对吧?但如果我们继续把人性问题考虑进来,就有点不对劲了:你怎么确保你记录在区块链上的股份可以真的被兑现?你怎么确保你用钱换来数字股份之后,收钱的那个人不会跑路?记录在工商局的股东名册为什么靠谱?因为那背后有法律和国家暴力机关的保证,而记录在区块链上的股份,目前看还不会被保证。这,才是风险所在。
所以所谓ICO,在我看来是个伪概念,如果对应IPO的话,那背后就得有一干人马,诸如承销商之类的在背后做保证,更要有NASDAQ这样的机构去确保在交易时不会乱搞,更别提证监会一类的机构的层层审核和监管。ICO则这些都不会有,完全靠人品来保证,这个信任成本就太高了。
在我看来,很多人混淆了区块链上的信任和对人的信任两者的关系,区块链提供的信任是基于技术的,会保证你的账本不会被改,而如果人不靠谱,你账本上的数字仍然只是一些数字,并不能给你带来价值。信任区块链,不代表信任发币的那个人,这又是两回事。最后仍然要回到现实世界中的信任上面才能令你做出决策。
这是我极少参与ICO去认购额度的根本原因——尽管我信任区块链,但多数情况下无法信任特定ICO项目背后的人。
当然,有人会反驳说,区块链技术同样也可以解决信用背书的问题,只需要1、2、3,这个我当然也知道,但目前看并没有有效和被普遍使用的方法,长期看来,如果对方笃定就是搞个局圈钱,由于技术与现实社会交易中的巨大信息不对称,类似DAICO之类的技术迭代是否会在短期内有效的发挥作用,也需要打个问号。

区块链是技术进步么?

这是很多“老”程序员问的最多的问题,也是他们特别不解的问题:不就是个分布式数据库么,没啥大不了的,为啥就成了技术进步乃至有人嚷着可以改变世界了呢?
我一般会反问对方这样一个问题:互联网本身不就是用一些电线把电脑连起来让他们可以互相发消息么?看上去也不像能改变世界呀。
一般问到这个问题,就会有人恍然大悟。没错,区块链的价值不是那几行代码和算法,而是解决了以往世界里没法解决的问题,并且得到了足够多人的共识和使用。往往一个技术可以被拿出来当成一个革命性技术来讲的原因,不太可能是技术多牛逼,而是有足够多的人扑在上面搞事。补丁摞补丁的互联网协议没有让互联网变成电子垃圾,因为有足够多的人在上面探索无限可能,而区块链也是一样。
区块链现在还有很多问题要解决,诸如交易效率、使用门槛、成本、节点体积等等问题,实在是太多了。但我相信,只要有足够多的聪明人投入在上面,探索各种可能性、发明各种更新的技术去解决问题,这事儿就能成,而令我更加关注区块链的诱因就是在于某一天我突然发现这个群体已经足够大了。
所以,如果不仅仅就事论事的讨论技术,而是把视线放在一个更高的角度,去综合考虑需求、产品、运营的话,你会发现区块链确实是个了不起的技术进步。
这里又延展开一个特别有意思的话题:如果ICO、发币是泡沫,那这个泡沫客观上带来了区块链技术的繁荣和普及,在这个层面上,你会发现现在的泡沫似乎也可以接受了?像不像互联网早期的那些.com们搞出的泡沫?与早期互联网一样,泡沫也许会存在一堆问题和麻烦,但似乎没有泡沫的话,同样也没法快速推动普及和应用。

区块链的杀手级应用是啥?

嗯,这个问题是很多“老”产品经理会经常问的。但凡新技术,都要找个杀手级应用似乎是个常规思路,本身无可厚非,但问题是区块链技术本身就是个互联网杀手级应用呀。
一定要明确的一件事是,区块链本身仍旧是个互联网应用,区块链不是从天上掉下来的,而是互联网通信技术、算法、数据结构发展和研究的成果。所以在区块链上找杀手级应用似乎不太对,我们的讨论语境应该是:互联网技术加上区块链可以做到什么?
如何界定啥叫区块链应用本身就很难,以太坊养猫也许是个区块链应用,但结果大家都看到了:因为交易容量不足,直接导致以太坊挂掉。如果把区块链理解成账本,当然除了记账以外,还可以在这个账本上画画、写字,甚至拿账册当厕纸用。但问题在于,这个账本太贵了,所以你确定要这么做么?如何有效利用本就不多的区块链交易资源来解决某个实际存在的问题,应该是产品经理要考虑清楚的事情。
我有一个观点:未来很长一段时间内,区块链技术的角色会像现在互联网技术架构中的数据库、缓存、负载平衡等逻辑层一样,多出一个”区块链层“,来根据实际需求和场景,解决产品中必须要解决的某个共识和记账问题,而绝不是用区块链技术开发了某个应用。

区块链并不是万能的

区块链解决的仍旧是数字世界当中的问题,它不是个万金油。有人想当然的认为,区块链的不可篡改特性,可以用来做食品溯源之类的用途——既然记录不能改,它就是安全可靠的,我们可以从区块链上查到原产地。这是个非常普遍的错误观点。
区块链是个账本,而记账的仍然是人,如何确保记账的人记录到区块链上的数据是真实的,这不是区块链技术能解决的,按上面的例子看,如果记账的人在区块链上记录了一条假的原产地记录,区块链本身是不可能发现这个问题的。除非有一天,这个世界里的所有资产、工作、记录都自动化了,都在区块链上记账,也许可以解决这个问题,但显然这一天是不可能在短期内到来的。
在这个层面上,区块链并不能改变世界,起码不可能改变现实世界,提区块链改变世界为时太早了。脚踏实地的找到眼下可以用区块链解决且区块链是最优解的场景,才是需要做的事情,本末倒置的把区块链当锤子,看到啥都是钉子,肯定不是一个正确的应用思路。

去中心化更不是万能的

这个观点普遍存在于很多粗通区块链的同学那里,没错,现在流行的公有链应用都是拥有无数节点的去中心化系统,但这并不代表去中心化是区块链技术的核心,甚至在某种意义上来讲,去中心化并不是必须的。
公有链要通过共识机制,用足够多的节点在算法层面构造信任体系,来解决节点间的信任问题,避免恶意节点给整个网络的运行带来干扰,而区块链技术本身,实际上并不是依赖去中心化的。如果你只是在几个可信的伙伴之间,运行一个区块链系统,来解决内部记账问题,显然只需要几个节点就够了,甚至,一个节点就能解决问题。
注意,区块链的账本本身就是不可修改的,去中心化是避免恶意节点干扰的手段,而不是保证账本不能被修改的手段。如果你的节点之间本身就有办法达成互信,则更少的节点可以达成更高的交易效率,更能降低很多无谓的成本。
所以,不要谈及区块链就必谈去中心化,这没意义。

该怎样开始学习区块链

如果一定要类比一下来说明区块链技术在哪个阶段,我更愿意用互联网技术的发展阶段来对比:我们现在处于类似1990年时互联网的阶段,彼时,HTTP协议刚刚发明,还仅有GET一种方法,可以满足基本需要,但稍微复杂点的应用就不行了(当然那时还没有人想到会有啥复杂的应用)。而六年后,随着更多的人和资源被投入到互联网上面,更高版本HTTP协议被提出之后,技术得以迅速发展和迭代,而基于技术提供的可能性,各种各样以前无法想象的互联网应用也被开发出来了,当然这个过程中,技术的复杂性也在呈指数上升,直到今天。
如果你是一位开发者,我建议你立即马上就开始了解区块链技术,特别的,我建议你用Solidity开发一个智能合约,并用web3.js去发布、调用合约,开始你的第一个区块链应用之旅。现在区块链技术还在早早期,技术复杂度并不高,有一个周末的时间就足够你完整了解绝大多数技术细节了。唯一一个问题是,目前中文互联网上关于区块链的技术文章几乎都是错的或者过时的,能读懂英文文档是个必须的技能,不然可能会走不少弯路。
如果你是一位产品经理,我倒是建议你不需要马上了解区块链技术本身,而是去找一本经济学的书去读,比如曼昆的微观、宏观经济学。基于区块链的产品设计本质是个经济问题,进而是个运营问题,而不是一个技术问题。篇幅所限,这里不想展开过多,去读经济学的书,肯定没错。

关于好奇心这件事

这是个老生常谈的问题,互联网的世界变化太快,如果不保持好奇心可能会有比较大的落伍风险。不要尝试用自己了解的东西去套新事物,不要过早的肯定或否定一个东西,多请95后吃饭听听他们的想法和观点,是我对自己的三大要求,希望这三点也能帮助到大家。
其实我周围有很多70后的开发者、创业者,他们仍然在保持持续学习,每天都在看新的东西,并没觉得自己的精力、理解能力受到了任何年龄上的局限。而相反,那些觉得自己老了的同学,可能只是个80后,我们会发现却真的是老了——不是身体老了,而是心理老了,不能接受新事物的输入了。

关于笑来同学

啊,这又是一个让我不堪其扰的高频问题。很多人知道,我很早之前就跟笑来认识,然后12年的时候我帮笑来搞过比特币矿厂,后来因为电力、资源上的很多坑这事儿放弃了。后来不知道怎么传的,成了我跟笑来存在啥意见不合了,尤其是某个不靠谱的杂志做完一个访谈之后,更是天天有一堆人试图了解我对笑来的态度。到今天,甚至每有个笑来的消息,就要有人发链接给我,问我怎么看。
比特币矿厂那事,确实应该是中国,甚至全球第一个比特币矿厂,虽然没干成,但其实给后来人积累了不少经验。比如电力问题如何处理和保障、无人值守矿厂不能搞、维护和备用机器、网络连接等等问题,后来就极少有人掉坑里了。另外一点,算是玩笑话,如果矿厂成了,笑来可能也不会想到去拿现金收币这个更高效的办法。所以你看,比特币首富在一定程度上是因为矿厂没干好成就的嘛,所以我怎么可能跟笑来有啥意见不合 … 
现在,我跟笑来的交流也仅限于帮他旗下公司的员工弄弄签证之类的事情,在区块链这件事上交流基本没有,毕竟大家都忙,而且区块链这事儿大家也不是新手,都有基本共识,也没啥可交流的。所以不存在我弄个项目请笑来背书的事儿,你们都别瞎联想了,在我这,碰瓷营销是不存在的,请别人给自己背书更不是我的风格,要是哪天改主意了,我会第一时间告诉大家的 … 

关于区块链产品聚会

之前,我在朋友圈说过要搞个面向对区块链技术有兴趣的开发者、产品经理的区块链产品聚会,结果还没开始就被大家报名的热情吓尿了。这个活动肯定要搞,但具体形式、如何筛选我得重新想想看,预计第一次活动会在3月底左右。

最后

区块链是个好东西,能解决一些原来不能解决的问题,但是说它能改变世界我觉得还太早,真的希望各位开发者、产品经理,放下那些胡搞ICO的人给区块链技术带来的偏见,认真、踏实的去看一下这个新技术会给你的产品和生活带来怎样的改变,就够了。如果能尝试下水自己试一试,更是最好不过的事情。
就是个利用区块链解决问题的社会学试验。这个项目大家在用业余时间折腾,也希望有愿意在这个领域试一试的同学加入我们,看能不能一起折腾点花样出来。

No comments:

Post a Comment