关于学习,特别是“速成、迅速入门”这件事,其实每个领域都有属于自己特有的“最少必要知识”(MAKE)
Minimal
Actionable
Knowledge and
Experience
备注:make概念来自李笑来得到专栏《通往财富自由之路—起步时,最重要的是什么?》
关于区块链世界的最少必要知识是什么?
经过探索,自己认为,只要掌握了这3个知识,就能迅速入门,还能迅速展开行动,赶超大部份盲目跟风者。
1、分布式账本
2、挖矿与共识
3、智能合约
一、分布式账本
到了21世纪这个信息化、数据化、智能化的世界,我们可以把任何数据的增加、删除、修改都看成是一种”记账“行业。
举个支付宝的例子。我们把支付宝的数据库当成一个巨大的账本。
小明从银行卡充值100元至支付宝账户,记录小明+100;
小明转账20给小芳,记录小明-20 小芳 +20.....以此类推
由于支付宝的品牌及违约成本过高,我们相信支付宝并不会恶意破坏这本账,但如果发生以下这些情况呢:
如果机房恰好遭遇了火灾?如果黑客刚好侵入了支付宝数据库中心(也就是账本中心),并且在每人的账户中减掉1分钱,加到黑客自己的账户中?.....
面对这一些用户没有任何办法,用户天然地只能选择“支付宝”这个中心机构能够处理好这一切。同样的道理也适用于银行、腾讯。我们相信银行一定会认真保管好账本;相信腾讯一定不会莫名删除我们的QQ好友;相信微博一定不会莫名地给我们添加好友;
不得不赋于中心化机构信任,这就是“中心化”账本最重要的特点
而分布式账本最重要的是什么呢?
多个参与者!共同记账!保持一致性!
去中心化账本意味着:用户的信任不再赋给某个中心化机构,改为相信实现"去中心化账本"的技术,相信网络本身。
从只能相信某个“中心”机构,到相信“分布式账本”,完成了“中心化互联网”到”信任互联网“的转变。
这也可以叫“价值互联网”
实现去中心化账本的技术有哪几种?
1、区块链——代表为比特币
2、以”RaiBlocks——源石币“为代表的加密数字货币,是通过区块点击技术实现的”去中心化账本“,号称可以实现无交易手续费、瞬时交易特性
3、以“IOTA”为代表的Tangle技术,也可实现“去中心化账本”。
二、挖矿与共识
这种,通过某种规则,规定谁优先记账,记账完成之后是否给到奖励的规则就叫做“共识”。
参与到这个“共识”规则中的角色可以统称为矿工。
矿工的一系列记账动作可称作为“挖矿”。
既然“共识”是一种规则,目前去中心化世界里的共识机制有哪些呢?
当前市场上较为流行的共识机制整理成以下表格,供大家查看。
重点提下Iota,用的虽然是Pow(工作量证明)共识机制,却并不会像比特币的POW机制那样产生算力浪费,而是把算力作为交易的一部份,实现交易与记账的绑定,最终达到“去中心化”目的和0手续费。
随着越来越多的企业或个人参与到“去中心化”行业中,会有更多的共识机制产生,但不管是什么样的机制,在现实的约束条件之下,往往都需要通过牺牲掉某些特定需求,来满足当前场景的需求。
没有完美的共识机制,只有是不是适合当前场景,很多问题的解决思路,都在于做出合理取舍。
对各个共识机制有基本了解之后,在未来的行业参与(投资)过程中,可渐渐形成自己的独力判断能力,最终实现我们的目标。
三、智能合约
在理解智能合约之前,我们先来看看传统的合约:在传统的合约中,一般都会有两方Bob和Alice,他们都希望交易能够有利于他们,所以他们希望创造共赢。
于是大家在合约中写好了一些条款,用于约束双方,保证共赢:
(1)如果Bob在18.1.15日之前发货1000个配件给Alice,Alice必须保证在18.1.17日之前支付2000美元给Bob;
(2)如果Bob延期半个月发货,则Alice只需要支付货款的80%;
(3)如果Bob延期大于半个月,则Bob需要支付Alice违约金500美元;
如果双方把规则1、2、3写成白纸黑字并签字画押,就形成了我们常规意义上的”线下合同“;
如果双方找程序员把这些规则写成代码,可以自动执行,就成了今天要讲的”智能合约“,也就是说利用代码表达、确认并执行各方之间的协议;
现在把智能合约做一个狭义理解:
智能合约就是运行在区块链上的电脑程序,是一串代码。
拿以太坊举个例子(以太坊是一条公链,人人都可以基于这条公链创建自己的智能合约)。
可以用Mist工具创建属于自己的智能合约,并调用这个智能合约(如下图所示)。在以太坊中的架构中,智能合约被看作一个特殊的账户,因此智能合约也能和其他账户一样进行交易,可以接受以太币,也可以付出以太币。
这样的特性,在我们的金融化应用中非常有用,例如众筹合约等。
大家非常熟悉的代币众筹,本质就是代币发行方通过创建智能合约,在合约规则中写清楚如果收到来自某个钱包的X个ETH,则对这个钱包地址发行Y个新token。
然而现实世界是复杂的。
Alice的付款可以通过链上执行,但如果Alice认为只有当Bob货物的缺陷率小于某个值时才付款呢?关于货物的缺陷情况就不能仅依靠链上完成。
在代码中增加”货物缺陷“情况是没有意义的,因为它并不能够自动执行,它只能通过线下商议或诉讼执行。
基于这点,我们可以就智能合约做一个广义理解:使用智能合约代码创建新颖但具有商业用途的替代协议形式,是可以被定制化、被谈判的。
按照我们之前对智能合约的定义(是用代码创建的具有商议用途的协议),可以基于区块链+智能合约,创建全新的构建在代码之上的信任网络。
从此以后,不必去调查合同对方的人品如何,只需要相信”智能合约“代码即可。
由于区块链的不可更改特性,没有谁可以任意更改合约内容,除非合约中规定可以发起投票,并根据投票结果进行更改。
虽然我们说相信代码比相信人好,但代码也是人写的,也会出现漏洞。
如果一个智能合约太复杂而又没有经过审计,是很容易被黑客攻破并盗取财产,著名的 TheDAO事件就是由智能合约漏洞引发,导致以太坊分叉成ETH、ETC。
因此,在实现智能合约时,最好经过专家严格审计,最好规则不要太复杂,最好可以纯线上完成。
大家可以思考下,在我们看到的这些去中心化项目中,哪些是可满足上述要求的?