43

笨协议和智能终端,为什么比特币简洁的设计是对的 | 火星技术帖

 4 years ago
source link: https://news.huoxing24.com/20191219112043764852.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

ruyIfe7.jpg!web

我们在移动或联通买的手机号,一般包含一个套餐:

1 多少分钟通话时间,超出了就要额外收费。

2多少条短信,超出了就要额外收费。

3彩铃。

4亲情号码。

电话网络是一个功能很丰富的网络,我们订的手机套餐里的功能,都是这个网络提供的功能,这个网络控制了几乎所有的用户体验。这个网络知道所有接入它的用户的号码、姓名、地址等等,这是一个授权的网络。这个网络知道谁在和谁通话,甚至能偷听所有人的通话。而功能手机和电话终端是一个非常笨的设备,本身没有什么功能,这些玩意就相当一个喇叭和话筒。任何创新都需要这个电话网络来完成,用户需要任何的新功能,都需要这个电话网络来授权,如果这个电话网络本身没有这个功能,那谁也别想得到。注意,我这里说的手机是指功能手机。现在我们使用的智能手机其实主要不是一个接入了电话网络的电话机,而是一台联上移动互联网的计算机。现在我们已经很少打传统意义上的电话了,更多的是使用网络电话,比如使用微信语音聊天。

提供互联网通话的网络就是我们的互联网,互联网本身其实是非常笨的,它能做的只是将数据包从一个终端发到另一个终端,互联网本身根本就不知道它传输的是什么数据,更不知道终端设备是什么东西。互联网只知道IP地址,并不知道是谁在用这个网络。我们使用互联网完成通信的任何功能,包括语音、视频(电话网络不提供此项服务)、发图片(电话网络里叫彩信)、发短信、定位服务……,全是终端设备提供的功能,而互联网本身根本就不关心这些功能。

互联网和电话网络,是完全不一样的设计,互联网设计是非常“笨”的,功能极端的单一,用手指头都能数的出来;而电话网络是非常的“智能”的,控制了非常多的功能。而对应的,互联网的终端设备是功能无限多;电话网络的终端设备是非常单调的。在电话网络中,你想添加任何新的功能,都需要这个网络本身的是协议更新和技术更改,也就是它的创新是网络本身的创新。但在互联网中,创新来自终端设备,只要你的手机足够智能,什么花样都给你玩出来,甚至你的终端设备可以是各种智能硬件,什么空调、电饭煲、扫地机器人、智能开关、空调……都可以提供乱七八糟的功能和创新。

所有这些功能和创新,根本就不需要互联网本身进行协议更新和技术改进 我们称电话网络为“智能协议+笨终端”;而称互联网为“笨协议+智能终端”。 比特币(这里包括了比特币三大分支BTC、BCH和BSV)其实就是一 个笨协议 ,它功能几乎可以总结为一句话, 使用简单的脚本和备注信息,将比特币(UTXO)从一个地址转移到另一个地址。 比特币网络不关心交易背后的人,也不关心交易被用来干什么,甚至不关心金额大小。比特币脚本非常简单,现在几乎所有的交易都是标准交易,脚本可以构造多重签名等少数几种金融工具,其他的都没有了。比特币更多的功能需要“终端”创新,这里的“终端”主要指钱包、应用等用户使用的软硬件。比如可以利用比特币的时间戳来构建存在性证明业务;比如创造一个稳定币USDT;比如memo.cash,是一个基于BCH网络的去中心化微博;比如理论上,可以在比特币基础上使用二层网络做大量创新。一个区块链系统主要包含了三种资源:计算资源(CPU)、存储资源(内存),和带宽(Net)。

这三种资源,分别主要对应了交易和区块的验证,交易数据的保存,和交易的传播。 一套协议是否笨,还是智能,可以通过观察协议对这三种资源的能力程度。在比特币这套笨协议里,为了变的笨,中本聪限制了计算能力,只赋与了比特币系统简单的脚本引擎。和以太坊的虚拟机相比,脚本引擎的计算能力和可编程性,真的是弱爆了。对存储资源的限制与否,是BTC、BCH和BSV,这三者的核心区别。BTC是极端限制存储的,对区块强行加了1M的限制(严格来说,1M基本交易区块加3M见证区块);BCH是对区块放宽到32M,认为目前不需要更大,在需要时可以继续放宽;BSV是尽可能地将区块做到最大,目标是做到无上限。对于带宽,三者都没限制。可以说BTC是三者中最笨的兄弟,BCH次之,BSV最聪明。

相比于互联网协议,TCP/IP,是更笨的存在。TCP/IP只是一套数据传播协议,它根本就不认识它自己传播的是啥。而比特币协议也存在类似的笨,比特币协议只认识部分它传播的交易,如P2PKH,P2SH,这些交易。比特币协议会对这些交易进行验证。但还有一大部分数据,比特币协议是“不认识”的。这是在协议设计时特意留下的。这里特别包括了两部分,一是使用OP_Return操作码,往比特币区块链压入的数据。

对于OP_Return里的数据,协议是不管的,碰到这个操作码,后面的数据就只计算大小,只要不超过设定值,就验证通过。还有另一大类数据,比特币协议还显得很笨,那就是P2SH里面的脚本哈希值对应的数据。P2SH交易验证规则是只要哈希值对就行了,而不管哈希里面的是啥。对于带宽,所有的区块链系统都不会加于限制,都是尽可能想榨取最后一点资源。比特币协议的这种笨,有利于协议的扩展,和终端创新。 对应于比特币协议的笨,目前区块链的其他链都致力于创新更智能的协议。最成功的就是ETH。以ETH为代表的诸多区块链,对三大系统资源,计算、存储和带宽,是极端的聪明。

以太坊内置有虚拟机,这就是一台完备的计算机,可以执行任何程序。这就是为什么以太坊上可以创造无穷无尽的应用,目前区块链行业里最好最热的应用都在以太坊上。最好的几个,包括,去中心化交易所Dex,去中心化借贷MarkerDao,去中心化赌博等。对于存储资源的利用,以太坊做了很大的限制,主要是为了防止系统压力过大,导致去中心化失败。对三大资源最智能的区块链,当属EOS了。EOS精确地定义了这三大资源,并且赋与了不一样的经济系统。如以太坊和EOS这一类智能的协议,和比特币的笨协议,两者有一个重大的区别是:智能协议需要中心化的设计,ETH主链的更新是需要以太坊基金会来完成,EOS则是Block.one。而笨协议,可以接手系统更新的人其实很多。

虽然目前BTC由Core开发组主导,BCH由ABC开发组主导,BSV由nChain主导。但在协议更新的竞争层面,这三个开发组都有潜在的竞争对手。比特币笨协议,可以通过智能终端来完成和以太坊一样的智能。但笨协议+智能终端的智能终端需要折损去中心化。对于智能应用,在以太坊上可以是拥有主链的共识,而在比特币协议上,则无法获得主链的共识。主链共识需要消耗主链的资源,这也是为什么以太坊的可扩展性一直没有解决的原因。EOS则是通过限制超级节点为21个,以折损节点的可扩展性来实现交易的可扩展性。

但智能终端,主链更易扩展;智能主链,则更不易扩展。 如果追求去中心化,和可扩展性,是对的,那一个笨协议就是对的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK