正本清源区块链-手抄版本

金融危机之后,为了刺激经济,很多国家通过货币超发来刺激经济,货币超发等于大姐所有人去补坏人的窟窿,坏人犯错好人埋单,这是很多国家经济政策的问题。

我们说的货币来自公权的信用,但公权的信用真的可靠吗?非洲有津巴布韦,美洲有委内瑞拉,就算次一级的,阿根廷,尼日利亚,也都经历过货币汇率的暴跌,南美,非洲,乃至东南亚,很多国家的公权信用根本受不住冲击。但这为数字货币提供了群众土壤。

比特币背后代币的是算法信用,基于共识算法来保障信用,这先受到了极客的追捧,其货币紧缩特性,也让那些对通胀不满的人开始关注和接受。可以说,比特币是现实政治的反面,但是与此同时,也为黑暗面所利用,成为违法交易的帮凶,这也成为比特币价值的基础之一。

第一部分——烧脑篇(区块链的一些技术常识和技术理念)

1、区块链的价值是共识,这个已经很多人强调过了,共识来自公开的算法,而共识算法是人类在数学,计算机算法领域非常卓越的成就。它并不是为区块链专门设计的,但是区块链是一个非常典型的共识算法的应用场景。那么什么是共识算法,说简单点,就是,在不可靠的网络环境中,在不可信任的数据传输中,寻求一个保障信息传递和验证可靠的算法策略。当然,不是绝对的,比如说,假设坏人无法掌握超过半数的信息节点,如果坏人真的掌握了超过半数的信息节点,那么实际上是可以对传递的信息进行篡改的,这样共识就会奔溃。

共识算法分很多种,目前最常提到的,比特币和以太坊所用的,是叫做pow的共识算法,基于工作量证明的一种信息保障的算法。这里解释一下,以太坊当前的基于pow的共识算法,但其未来将切换为pos的共识算法,这个后续会阐述。

那么,到底区块链是怎么工作的呢?以pow算法为例,首先,每笔交易,记账信息,是一条信息,每条信息都会发布到各个不同的节点,节点将会检查最新的记录打包到一个新的区块上,然后通过算力证明,将区块链发布到网络。但这里的算力证明其实是有其极大的偶然性随机性,现状可能是几十万台同时打包和发布数据,但只有一个幸运的矿机,获得了证明,生成了新的区块,并获得区块的奖励。

当这个区块链发布后,其他的节点会很快得到这个信息,然后放弃掉当前以及打包完的数据,进行下一步数据打包,并试图证明算力获得发布权利和区块奖励。

所以,其实,pow共识算法里,算力竞争中的空耗也是惊人的。

但也正是因为所有节点的概率一致,保证了任意节点被入侵,被篡改,其数据信息,不会被其他节点接受,也就是保障了主链的安全性。

pow 目前的局限是出块速度被限定,比特币差不多10分钟一个区块,所有交易均需要记录在区块内,所有这样也就限制了交易频率,由于一个区块只有1M,可以承载的交易信息是有限的,所有目前比特币的交易频次被限定在非常低的量级上,差不多一秒才可以支撑不到10个交易。

那么升级的方案,就是如下几种,第一是提高区块大小,比如第一次硬分叉后,比特现金把区块大小提升到8M区块;第二是提高出块效率,并同比降低出块奖励,以太坊的出块速度就明显比比特币要快的多。但出块太多存在节点存储和网络传输的压力,那么就提出了第三个方案,区块分化存储的方案,现在比特币这样的区块链虽然是去中心化分布存储,但每个全节点存储的是记录全集,也就是规模总量和本地查询明显受到制约的。

使用分布式存储的方式,让每个节点只存储某个子集是否可以呢?这样结合第二个方案,就可以极大提升系统的承载能力,并且不会对节点存储和网络传输带来过大的压力。但这里也就存在一些其他应用中的问题,我觉得这个是值得讨论研究的,我也是最近在看这方面资料。比特币是都扩容,其实还是有很多技术值得讨论的。

当然,闪电网络的解决方案,闪电网络是指将小额的,频繁交易,先通过一些分支节点进行存储和计算,并在一定事假内整合归并到主链,这和以前我们做数据库优化分享中,合并写入的逻辑基本一样,可以极大减少主链的写入压力,提升主链的容量。

既然pow存在大量的算力空耗的问题,所以也就出现了基于其他共识算法的区块链应用,那么一个被认为可行的pos共识算法,也就是基于拥有的数量和时间获得证明的算法。简单解读类似于存本取息,你在系统中存在的钱越多,存的时间越长,你所获得的收益就越多,这样算力竞争的意义被弱化,而拥有的意义被强化。

以太坊的规划目标是变更为pos,但pos也存在一些问题,比如马太效应,最后系统决策和收益依然会集中在少数寡头手里,除此之外,当矿工热潮退却后,如何保证有效的工作节点数量来完成运算,也是值得观察的。

在pos 之上,又有人提出了dpos,在基于拥有数量的基础上,投票选举工作节点的模式,由投票委任的节点负债运算打包,一旦出现坏区块或者故障,会有一套机制保障自动切换到其他节点,实现平滑过渡,目前eos主推这样的一个共识模式,作为其平台的基础架构,从白皮书指标看是相对不错的,但产品并未上线,是否经过实践考验有待观察,实话说,我对其白皮书的技术指标是比较质疑的,当然不排除我判断力有限。

实际上,我认为这里存在两个极端,共识和效率,pow 实际上是为了实现网络共识,极大的牺牲了效率。我们所支付宝为什么效率那么高,是基于中心系统,现在任何一个互联网公司做一个支付交易系统都可以比比特币的效率高,但无法形成有效的共识基础。所以个人觉得,仅仅为个人思考,如果想要有效提升区块链的效率,可能完全的去中心是很难得,多中心是一种兼顾效率和共识的策略,实际上dpos已经理解为多中心系统,现在即使是pow共识算法也避免不了大矿场的垄断,一味强调去中心化可能是一厢情愿。

比特币是区块链的第一个实际场景应用,那么作为共识最广泛的产品,比特币其架构的核心价值在于其可以作为一个账本系统,完成一些国际贸易,跨境贸易中信用凭证的问题,在传统金融中,交易的信用成本是蛮高的,而区块链本身在这个领域是有天然的优势的。 

但作为最早的区块链应用,比特币的问题也是蛮多的。,比如算力空耗严重,以及交易支撑能力极为有限,不要说支付宝这样量级,国内任何一个第三方支付接口的性能述求比特币的架构可能都支撑不了。此外,不支持智能合约,不支持零知识证明,说实话,现在比特币架构有点跟不上时代了。

比特币架构危机在两年前已经体现,这也导致了第一次硬分叉的出现,对于第一次硬分叉,一些忠实的比特币支持者认为所有硬分叉都是撕裂共识,非常拒绝。但是线下分享中,多数人选择重构的。这里也就涉及到一个比特币的价值讨论问题,你是把它当做资产,还是当做货币,当资产,确实不需要频繁交易,维持共识最重要,当做货币,那么架构的升级就理所当然了。

以太坊可以认为是区块链的第二代平台,因为对智能合约的支持,以太坊的应用场景空间增加了很多,而且其出块效率也明显高于比特币。交易结算周期也明显有了更好的表现。

由于智能合约的出现,以及以太坊的开发平台的支持,实际上任何人都可以快速的创建自己的token,或者ico,市面上的ico,99%都是以太坊的平台上捣鼓出来的一个token,所以,实话说,一点技术含量都没有。

智能合约,也就是说,在区块链中传递合约,或者传递的字符串,不是单纯的字符串和信息,二是一段可执行的脚本,比如说,触发条件,有交互能力。

图灵完备,就是说不考虑硬件限制的情况下,这个脚本的支持性可以满足所有图灵机的功能诉求,图灵机也可以简单理解为全功能计算机。那么,支持图灵完备的智能合约,如果我们用通俗的比喻,就是你甚至可以发布一个大吉大利,今晚吃鸡的游戏到这个平台上。

但现实是不可能的,因为不可能有那么大的区块来支持,也不可能有那么强的算力来支持,稍微复杂一点的代码就可以把整个区块链网络搞奔溃,光一个简单的宠物猫就导致以太坊大拥堵。

所以图灵完备只是一个理想态,现状是受到网络环境,算力环境的极大制约,其实比特币本身也是支持简单脚本合约的,但是非常有限的一些脚本支持,远不如以太坊的支持性能,肯定无法实现图灵完备这样的级别。所以,我们说以太坊是一种虚拟货币,这个定义是错的,以太坊是一个平台,上面跑了几千种虚拟货币,其中之一是以太坊自身的代币。而这个平台不但可以发布货币,还可以发布应用,智能合约的应用,这个想象力是蛮大的。

第一,代码是公开可验证的;第二是跑在所有区块上,没有中央服务器,通过共识算法保障,不用担心被篡改。

智能合约的第一个成功应用是电子猫,发布方一旦发布出去,后面连发布方自己都无法更改。

之后的成功案例就变成电子赌场了,这个东西确实蛮适合赌场的,第一,公信力好,庄家是不能作弊的,代币是可以公共验证的,而且没有中央服务器,第二,确实很难背监控背追踪,而且金额走向无法追踪。国内某些区块链大佬已经搞起这个来了

当然,我们希望还有更多可以用于正途的成功案例,但以太坊的架构也存在一定的制约,由于大多数平台,或者说太多骗子借助以太坊发币,以太坊目前面临的拥堵也非常严重,现在以太坊也开始分叉。

硬分叉,是分叉方约定,在某个区块节点开始,启用新的系统架构继续前进,不再和主链保持一致,但同时也继承该节点之前的所以区块。在这个节点之后,双方各自挖各自的矿,各自爆各自的块,各自走各自的路。

其实,硬分叉不需要主链允许或通过,任何人都可以发起硬分叉,都可以基于自己的理解和判断发起一个新的分支,但对于信仰者来说,每一个分叉都是对共识的撕裂,是在破坏共识。共识算法本身就是防范故障或者恶意分叉的,而认为强行分叉显然是算法所不能处理的。

那么为什么后来那么多人硬分叉,以及对于其他人来说硬分叉的意义在哪里。

零知识证明,在不透露交易细节的情况下验证了交易记录。这也是一个算法保障的。零知识证明可以有效保护交易隐私,隐藏交易来源并防止追溯,同时也能保证交易是安全的,因为任何试图修改交易的行为都无法通过验证。目前一些新的区块链平台方案越来越多宣传支持零知识证明,但实际上很多都还是计划。,除此之外,一个新技术概念,如隔离见证,都是一些补丁方案里提到的,这也技术不具备通用性,也就非区块链的技术核心了。

信息安全的常识

第一,算力劫持,其实共识算法并非是完美无瑕的,其存在的假设前提 是,大部分节点是正确的,可信任的。所以不同的共识算法,理论上都存在一些风险,就是如果坏人掌握了足够多的节点。比如说基于pow共识的,比特币,如果一家矿场或者矿场池超过了全网51%的算力,理论上可以劫持所以交易,改变交易数据。而基于dpos的需要2/3的节点是可靠的,否则也存在强行分叉或者干扰主链的风险。

第二,重放攻击,这是硬分叉首先需要小心解决的问题,如果系统设计不周全,会导致在分叉上执行的交易 被复制到主链,从而带来币拥有者未确认的交易发生,造成损失。所以很多交易所和钱包服务商,不敢去支持名目繁多的分叉币,也是担心由此带来风险。但从设计上,这个问题是可以处理的。

第三,关于私钥的安全,由于新入场的区块链玩家很多,实际上很多人并不明白区块链私钥的意义和价值,会出现这样的情况,认为在交易所,或者钱包的账号和密码最关键的,保护好账号密码就好,但把私钥拱手送出。其实现在想要设计一个钓鱼攻略,来窃取新玩家的私钥,是非常容易的,网上很多帮助用户保存和转移私钥的工具,其实有些是风险很高的。所以私钥是非常重要的。

第四,交易平台和钱包工具的安全,一些交易所失窃,或者钱包失窃。

第五、智能合约的安全,黑客盗币。

第二部——诱惑篇

公有链是目前熟知的b比特币、以太坊、瑞波币等。每个人都可以参与,每个人都可以交易和发布应用。

私有链是目前很多金融机构正在考虑的,在自己的体系内搭建一套区块链系统,不公开对外服务,但是提供内部的共识网络,解决诸如信用证书,合同管理等问题。私有链缺乏共识,需要公权机构的背书

联盟链是指一些愿意彼此实现共信的机构和组织共同建立的。为各自几个提供共识信用和价值传递的平台。

ico是一种基于区块链进行的资金筹集方式。两种方式,一是股权众筹,一是代币发行。

去中心化意味着失去权利机构的保护和制约。

代币本身是有意义的。使用虚拟币本身只是整个系统中一个工具和手段,而不是应用核心的价值所在,更不是这个应用之所以盈利的所在。

硬分叉

交易所的盈利模式:1手续费 2. 新的代币上架费用 3.提现手续费 4.大量资金占用也存在收益空间

你可能感兴趣的:(正本清源区块链-手抄版本)