主页 > imtoken限制中国用户该咋办 > 计算机科学视角下区块链的起源与发展

计算机科学视角下区块链的起源与发展

指导

从理论上讲,比特币并没有解决计算机科学中的共识问题。 这是一个由经济杠杆推动的实用系统; 比特币链缓慢的结算速度是基于证据的特殊设计,无法加速; 以太坊不能作为通用链支持全世界的应用; 以太坊做智能合约是不科学的; 图灵完整性或不完整性无关紧要; 链下交易的问题是巨大的; 要想把握未来区块链发展的正确方向,就必须了解互联网成功的本质。

比特币(Bitcoin)就像一股气流在海洋中默默积聚,一举落地后,给各行各业带来了巨大的冲击。 过去几年,比特币价值暴涨,引发无限想象,区块链项目层出不穷,英雄无数。

参与区块链运动的人大致可以分为三类,当然他们之间也有交集。 一是所谓的“币圈”,包括炒家、交易所、钱包、韭菜和割韭菜等; 一个是寻找落地应用项目,从跨境支付到货源有机猪肉应有尽有,有真有假,有假有真; 还有所谓的“链圈”,目的是研究区块链基础技术的发展,包括真正懂行的人,也有很多帮程咬金的名词和套路. 本文重点介绍区块链技术。 通过从计算机科学的角度分析区块链的来龙去脉,纠正了一些广为流传的误解。 最后的结果无非就是把野马养肥,让骑手开心,断粮断草,毁掉大家对区块链技术的信心。

为什么比特币令人惊讶,它是否解决了计算机科学中的共识问题?

外国的比特币便宜中国的比特币贵为什么?_比特币比特币的行情_比特币的由来去脉

很多人把区块链称为自互联网以来最具革命性的技术,其中经常提到的一个就是“去中心化”。 其实区块链可以去中心化也可以不去中心化,两者没有必然联系。 比特币在设计上是去中心化的。 乍一看,它解决了分布式系统中所谓的“共识”问题,即分布式系统中的多个节点对某事保持一致的看法。 分布式系统可以简单地想象成通过互联网连接的多台计算机。 互联网连接不一定可靠(例如,可能会断开连接),信息的传输需要时间,传输时间不固定甚至没有上限。 另外,多台计算机的时钟时间不能保证同步(原因同上),部分计算机可能会故意伪造,所以分布式共识问题通常是无解的。 这是学术研究的结论,也是从事分布式系统的专家们的共识。

比特币不是解决传统意义上的共识问题,而是改造问题。 一方面以区块链的序号作为虚拟时间,另一方面以“挖矿”的经济力量推动比特币链的不断延伸。 这就是为什么比特币理论上总是可逆的,总是可以分叉的,因为它达成的共识不是绝对的。 以经济因素(在实践中,在理论上没有)来解决分布式系统共识算法,是中本聪的天才。

为什么比特币系统很慢? 10分钟结算其实是一个特性,不是bug!

比特币流行以来,很多人抱怨系统的结算速度(TPS)太慢。 许多人花费精力试图为比特币提速,也有不少人提出新的区块链系统试图解决速度问题。 那些抱怨比特币速度慢的人没有看到路。 当然,了解计算机科学的人可能并不都明白为什么比特币结算系统很慢。 众所周知,这是一个设计特性,而不是一个错误。

事实上,挖矿难度决定了结算速度,而这个难度是可调的,所以结算速度也可长可短。 想象一下,如果结算时间缩短到一秒,也就是说挖矿难度降低到一秒,会发生什么? 即经常有数千万矿工同时挖矿。 届时,如何决定哪位幸运矿工获得奖励? 选择幸运矿工又是一个共识问题,循环结束! 想象一下,如果结算时间变成一小时会怎样? 由于挖矿难度增加,多个矿工同时挖矿的情况非常少,发生冲突或临时分叉的可能性很低。 因此,结算时间不能太慢,但也不能太快。 这清楚地表明加速比特币链的想法是多么的业余。 中本聪在与比特币相关的文件中并未详细说明其系统设计的由来。 不知道是说错了还是有针对性。

比特币比特币的行情_外国的比特币便宜中国的比特币贵为什么?_比特币的由来去脉

进一步延伸,只要是纯挖矿达成共识的开放链,结算速度都不能太快。 以太坊不也打算摆脱 PoW 吗? 现在想搞出像以太坊这样的东西来糊弄人可不是件容易的事。 我这里说清楚了,以后可能不会再有什么ICO叫嚣比特币提速了。

还想研究这个话题的同学可以对比一下大家使用的本地网络以太网(Ethernet)的体验。 在本地网络上,如果多个节点同时“说话”(传输数据),就会导致冲突。 冲突发生后,每个节点都知道数据没有传输成功,然后重新尝试。 但是,如果每个人都立即尝试再次传输,就会发生冲突,导致网络拥塞。 如果大家等到某个固定的时间再试,也会发生冲突。 因此,以太网的设计是每个节点在尝试传输之前等待一个随机的时间,这样就大大降低了碰撞率,实现了高速数据传输。 这种等待随机时间的方法在比特币中是否有效? 显然不是,因为会有不自觉的矿工基于经济利益争相重试。 大家打架,没有解决问题就回到原点。

以太坊能否成为支撑千万级应用的基础链?

比特币是一种单一用途的区块链,紧凑但经过深思熟虑,可以说接近完美。 有的留了一点空位,本意是想留一些评论或者留言。 中本聪本人在第一个区块中留下了一句话来解释比特币链启动的时间。 聪明人用这块土地来生产彩色硬币等等。 但毕竟活动空间不大,也不能做太多事情。

以太坊应运而生,号称是一个可以编写通用智能合约的区块链平台。 一时间巨额资金涌入,无数人开始在以太坊的基础上开发各种应用(包括所谓的DApps,即分布式应用),以及更极端的所谓分布式自治系统(道)。

比特币比特币的行情_外国的比特币便宜中国的比特币贵为什么?_比特币的由来去脉

大家都在以太坊一条链上做应用,什么概念? 就好比微软推出了一个叫Windows的系统,然后全世界的人都写程序,在同一台电脑上运行同一个Windows系统。 这样的系统能支持这么多人、这么多应用吗? 完全不可能。 看看你周围的情况。 每个人都使用自己的电脑或手机。 他们需要沟通的时候就沟通,需要协作的时候就协作,需要购物的时候就去购物网站。 其余时间他们各自做自己的事。 如果互联网试图采用全球共享的超级计算机的模式,那将无法发展。 以太坊在相反的方向运行。 不知道是真的不懂还是故意忽悠。 作为发币平台,以太坊是非常成功的。 是否还会有其他剧集还有待观察。

智能合约有希望吗? 所谓图灵完备是好事还是坏事?

先引用别人的一句话,“以太坊上的智能合约既不是智能也不是合约”。 用可编程计算机语言表达合同有基本的限制。 比如合约写成代码后就“死”了,哪来的智能。 为了能够随机应变,必须提前考虑各种变化的可能性。 在现实世界中,无论多么紧凑的合同,也有想不周的时候,或者双方对合同内容有不同看法的时候。 在现实世界中,合同双方也可以坐下来讨论修改合同。 在以太坊上,如何实现这些修改和协商或仲裁功能呢?

以太坊的智能合约后面跟着的另一个词是图灵完备,这似乎是一个很棒的特性。 事实上,如果真的要做智能合约,图灵完备性是另一种与之背道而驰的思维方式。 你为什么这么说? 设计过计算机编程语言的人都知道,一种编程语言的限制越少,它的功能就越强大,程序员也越容易出错。 比如常用的C语言就是这样一个例子。 它之所以强大,是因为它是作为系统级语言诞生的,它需要如此强大的灵活性才能用作操作系统。 但是作为写应用的需求,可以说是处处有陷阱。 后来推出的Java语言加入了很多限制,比如类型安全、垃圾回收等,为程序员避免了很多陷阱,因此成为企业级应用的首选语言。

回到区块链智能合约的问题。 为了安全可靠地编写合约,合约语言必须进一步减少其功能并增加许多约束。 和律师打过交道的都知道,合同一般都是按照模板来分类的,律师从来都不愿意从头起草,而是根据模板来写合同。 这是因为模板提供了很多约束条件,经过了时间的考验,不断更新,不容易出错。 律师模板类似于高级程序设计语言设计中的类型和模式。 前段时间,以太坊上的DAO因为合约代码错误而遭到攻击。 所以,对于编写智能合约的编程语言来说,少即是多。 另外,如果我们真的要设计一个智能合约语言,恐怕从一开始就必须考虑如何结合形式验证(formal verification)技术来证明每一个合约的正确性,以及设计可验证性(provability)进入语言的结构。 里面。

比特币的由来去脉_比特币比特币的行情_外国的比特币便宜中国的比特币贵为什么?

链下交易是解决方案吗?

因为链上交易速度慢,所以产生了很多链下项目,也就是交易在链下(或者链下)实现,然后跑到链上统一聚合。 乍一看,似乎有道理。 但仔细分析,问题就来了。 之所以看好区块链,是因为链上有很多好的功能,比如内容不可篡改等等。 将交易带出链会失去这些功能的支持,带来额外的风险。 比如两个节点之间的小额支付,貌似每天都在链下进行,当累积到一定时间或规模时,又可以在链上进行支付。 但是如何保证这些链外交易的正确性呢? 如果一方系统出现故障,在结账前丢失了账簿,另一方可以反​​悔。 这种在链上不可能发生的场景,会在链外发生。 提倡链下交易的人似乎并不强调链下带来的这些问题。

还有一个链下场景,就是交易所和钱包。 许多问题都存在于这些链的端点,包括技术安全问题和非技术信任问题。 比如有些网站号称可以帮用户管理各种币种,这和陌生人问你银行卡密码没什么区别。 还有所谓的冷钱包,其中大部分来自不知名的制造商。 价格只有几十元。 它们制作简陋,但用于管理庞大的资产。 怎么可能没有问题? 并且一旦出现问题,也找不到任何人负责,而且币是转移的,不可逆的。 管理和使用这些币,让公众能够安全便捷地操作这些币,还有很长的路要走。

区块链发展的正确方向是什么?

说了这么多,指出了很多广为流传的误解,揭穿了很多迷思和谎言,也算是对一大批人的打击。 这并不是说我不看好区块链技术。 比特币的增长通过市场力量推动了几件事。 一是证明人人共享的公钥加密系统时代已经到来,人人都能接受。 一是分布式系统的共识算法在冷落多年后再次受到关注,吸引了众多学者和博士生积极研究。 此外比特币的由来去脉,这一领域吸引了如此多的资金。 虽然牺牲了很多,但终究会有一些钱落到实处,总得做点什么。

比特币比特币的行情_外国的比特币便宜中国的比特币贵为什么?_比特币的由来去脉

区块链的发展可以比作新一代互联网。 原则上比特币的由来去脉,要真正吸取互联网几十年成功发展的经验,而不是简单地按照web 1.0的方式搞各种炒作。 未来正确的发展方向是在区块链领域发扬互联网成功的本质。 为此,需要扎实的知识背景、扎实的研究能力和丰富的实践经验。

【作者巩俐出身计算机科班,清华大学计算机专业学士、硕士,博士。 剑桥大学计算机科学专业。 密码学硕士论文。 关于分布式系统安全协议的博士论文。 博士期间(1989年)发表了一篇关于使用单一函数结合秘钥进行验证的文章,比后来比特币采用的HMAC定义早了5年左右。 90 年代初期,他发表了多篇关于分布式系统安全的文章。 1995年发表密码学应用于拜占庭通用算法的文章。 容错技术集成的早期倡导者之一。 发表学术论文60余篇,英文专着3部,获得美国专利22项。 1990年代中后期,在美国Sun公司JavaSoft部门带领杰出工程师,担任Java平台安全首席架构师。 1994年,他被IEEE通信学会授予Leonard G. Abraham年度奖。 】

扫描下方二维码加入区块链讨论群

比特币的由来去脉_外国的比特币便宜中国的比特币贵为什么?_比特币比特币的行情

@等字闺房