比特币发展到今天已经有10个年头了,在这十年的发展中,比特币一共经历了两次重要的分裂,现在变成了三种货币,第一种是目前继承了比特币绝大多数遗产的BTC;第二种是BCH;第三种是BSV。那这三种货币到底有什么区别呢?

  BTC

  BTC现在是继承了比特币绝大多数遗产,包括冠名权和整个生态。是目前共识最大的比特币。BTC成功地维持了1M区块和实现了隔离见证。

  BTC的主要追求是主链做价值存储网络,通过闪电网络来发展支付网络。BTC正在积极发展闪电网络和侧链来实现理想。

  BTC的追求可以从两个层面来说,第一个是追求任何普通用户都能运行一个完整节点。BTC的支持者以此为证明自己是去中心化的。

  为了做到普通用户都能运行完整节点,BTC开发者在代码优化上下足了功夫。Bitcoin Core的代码质量是整个加密数字货币里最好的。

  BTC追求的第二个层面是一个主链结算网络和价值存储网络,配上闪电网络来实现广义支付网络来扩展用户,再加上侧链来行驶更复杂的区块链功能。BTC主链+闪电网络,是想构建一个货币体系。而侧链的主要功能是发展更广大的区块链应用,如智能合约类的东西。

   BCH

  BCH继承了少部分比特币遗产,比特币现金的名字也不错,形象logo也继承到了比特币的一部分。BCH的生态也是不错的。

  BCH追求做一个世界货币,和一个链上应用底层平台。BCH正在积极部署主链扩容和发展二层网络来实现理想。

  整个生态主要从两方面努力。第一个方向是做主链扩容、支付体验和功能完善。扩容是保持货币交易手续费确定性很低的保证。提高支付体验,包括普及零确认,预共识,以及可能的缩短区块时间,等,都是朝着更好的支付体验方向进化。主链功能完善包括OP_Return扩容,发代币,添加新操作码这些。

  虽然BCH主链功能的扩展,基于BCH的应用就可以发展起来。最著名的是memo这样的去中心化微博,JoyStream这样的付费下载种子的应用,keyport这种去中心化加密通信等等。

  第二个方向是发展二层网络。基于BCH网络来搭建新的区块链,比如虫洞和Kenoken都是基于BCH的类似以太坊的网络。BCH通过二层网络来承接更复杂的区块链功能,如通知合约。BCH二层网络的竞争方向是和BTC的侧链相竞争。

BSV

  BSV现在是刚分裂出来,目前还看不出多少实质性的现状,能看出来的都是基于CSW等人输出的价值观,和BSV发布的路线图。在实际发展上还没有多少东西可供观察的。

  BSV在继承比特币遗产上,是三种币当中最少的,现在各个生态节点还在选择和站队。现在BSV有一个关于遗产的问题一直没有重视,那就是Logo。Logo其实对广大群众的教育作用是非常大的,拿一个龙的图标,基本上是告诉新手BSV是一个和比特币没啥关系的。但BSV生态好像也没有重视这个。除了Logo,BSV的命名,也很不清晰,中文名都不知道该怎么取。

  BSV的理想也是做一个世界货币,做一个链上应用底层平台。BSV的发展思路是更激进的对主链进行扩容,恢复比特币早期版本的协议,对主链进行激进地解除各种代码限制,和扩展二层网络。

  扩容这方面,没什么好说的。和BCH是一样的。

  BSV主张稳定协议,回归比特币早期版本的协议,这是对BSV主链的功能性改造的发展思路。主要理由是CSW认为bitcoin 0.1版本的协议已经足够完善,特别是脚本是图灵完备的,这意味着可以做任何事。但目前能理解这一点的人不多,绝大多数人认为这是不可能的。

  BSV的一个非常明确的发展思路是解除各种非市场经济的代码限制,诸如脚本opcode数量限制,区块大小限制,防尘交易限制,非标脚本限制,OP_Return空间和数量限制,甚至可能还要包括1M的交易大小限制等。BSV认为只要是能够使用自由市场机制来涌现出来的限制,都从代码人为设定的限制删除。

  这种解除代码上各种限制,是BSV目前能看到的和BTC、BCH区别最大的。BTC是最主张通过代码设定来限制整个系统。比如区块大小一定要限制在1M,以防止区块链过度膨胀导致普通用户无法运行完整节点;比如限制所有的交易格式为标准交易;比如限制OP_Return里的字节大小,以防止往区块链里塞进过多的非币信息。

  BCH则处于中间地段,一方面要解除很多的限制,比如逐步解除区块大小的限制,逐步提高Op_Return容量,另一方面又在加强一些限制,比如10个区块的防重阻。在相信人为设计和市场涌现方面,BTC是最相信人为设计的;BCH是居中;BSV是最激进。

  发展二层网络方向上,BSV和BCH是一样的。

   BTC、BCH与BSV对比

  其实,BTC、BCH和BSV,抛开实现过程,都是希望打货币的文章,做区块链应用。只是实现过程上有区别。

  BTC是依赖于主链和闪电网络来分割货币的储值和支付功能。BCH和BSV都要要在主链上完成货币的所有功能。

  BTC是依赖于侧链来完成搭建区块链应用。而BCH和BSV则是依赖于主链本身和二层网络。

  BCH和BSV主要区别在于对比特币早期协议的信任程度不同,其实两者相重合地地方非常大。

  在相信人为设计和市场涌现方面,BTC是最相信人为设计的;BCH是温和派;BSV是最激进也是最自大的。

  这三种理念和发展思路,我不敢说哪个肯定对,哪个肯定错。持续保持观察吧。

  三个社区好像不是朋友就是敌人,理性派都被打成了骑墙派。

作者:这个币世界太疯狂

原文链接:https://www.kg.com/article/519829854842130432

BTC、BCH和BSV三者到底有什么区别?的更多相关文章

  1. asp.net(c#)中String.Empty、NULL、"" 三者到底有啥区别和联系?

    开门见山,首先看下面代码,你认为结果分别是什么? string str = string.Empty; string str1 = ""; string str2 = null; ...

  2. 一个简单的例子让你很轻松地明白JavaScript中apply、call、bind三者的用法及区别

    JavaScript中apply.call.bind三者的用法及区别 引言 正文 一.apply.call.bind的共同用法 二. apply 三. call 四. bind 五.其他应用场景 六. ...

  3. Union和Union All到底有什么区别

    以前一直不知道Union和Union All到底有什么区别,今天来好好的研究一下,网上查到的结果是下面这个样子,可是还是不是很理解,下面将自己亲自验证: Union:对两个结果集进行并集操作,不包括重 ...

  4. <%@page include%>、<%@include%>、<jsp:include>三者之间的本质区别

    <%@page include%>.<%@include%>.<jsp:include>三者之间的本质区别 先从它的几个内置对象说起. application和se ...

  5. StringBuilder、StringBuffer和String三者的联系和区别(转)

    StringBuilder.StringBuffer和String三者的联系和区别 1. String 类    String的值是不可变的,这就导致每次对String的操作都会生成新的String对 ...

  6. 基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)到底有什么区别。

    基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)到底有什么区别. 我还是喜欢基于Schema风格的Spring事务管理,但也有很多人在用基于@Tras ...

  7. [转帖]SPU、SKU、ID,它们都是什么意思,三者又有什么区别和联系呢?

    SPU.SKU.ID,它们都是什么意思,三者又有什么区别和联系呢? http://blog.sina.com.cn/s/blog_5ff11b130102wx0p.html 电商时代,数据为王. 所以 ...

  8. To B运营和To C运营到底有什么区别?

    无论To B还是To C运营其本质都是从目标用户转化为付费用户实现产品的变现,但是两者之间仍然存在一定的区别. 单纯从概念上来说,To B和To C的区别主要是从电商兴起的,并随着互联网的快速发展,T ...

  9. 问题:HttpContext.Current.Session;结果:Session与HttpContext.Current.Session到底有什么区别呢?

    我在做练习的时候遇到了这样一个问题,在母版页页面中写入登录和密码修改的js代码,在登录的方法中写 入 HttpContext.Current.Session.Add("UserPwd&quo ...

随机推荐

  1. eclipse 国际化 $NON-NLS-1$ 含义

    一.$NON-NLS-1$ 含义 Eclipse 如果每行代码里有这个字符串:$NON-NLS-1$ 表示:这一行的第一个字符串是不需要国际化的.同理$NON-NLS-2$,$NON-NLS-3$.. ...

  2. Dcokerfile 参考

    Dcokerfile 包含了所有用来组装image的命令.通过docker build来自动创建image.   用法 需要指定本地路径作为上下文目录,路径是本地系统的目录.而docker build ...

  3. 深入解析hostname

    结论:/etc/sysconfig/network 确实是hostname的配置文件,hostname的值跟该配置文件中的HOSTNAME有一定的关联关系,但是没有必然关系,hostname的值来自内 ...

  4. Linux内核中等待队列的几种用法

    Linux内核里的等待队列机制在做驱动开发时用的非常多,多用来实现阻塞式访问,下面简单总结了等待队列的四种用法,希望对读者有所帮助. 1. 睡眠等待某个条件发生(条件为假时睡眠): 睡眠方式:wait ...

  5. 即将到来的Android N,将具备这些新特性

    原文转自:http://www.leiphone.com/news/201602/pSRQAuAjMFJITqHe.html         原创 訾竣喆 即将到来的Android N,将具备这些新特 ...

  6. C++PE文件格式解析类(轻松制作自己的PE文件解析器)

    PE是Portable Executable File Format(可移植的运行体)简写,它是眼下Windows平台上的主流可运行文件格式. PE文件里包括的内容非常多,详细我就不在这解释了,有兴趣 ...

  7. AAuto如何设置字体大小

    在代码视图中(按钮呈现的是设计视图,你再按一下就切换成代码视图了)可以设置缩放比率,右下角也可以设置字体大小   如果你的"设计视图"是灰色不可点击,那是因为你的代码根本没有按钮, ...

  8. openssl之BIO系列之9---BIO对的创建和应用

    BIO对的创建和应用 ---依据openssl doc/crypto/bio/bio_new_bio_pair.pod翻译和自己的理解写成 (作者:DragonKing Mail:wzhah@263. ...

  9. Java数据结构和算法(四)——栈

    stack,中文翻译为堆栈,事实上指的是栈,heap,堆. 这里讲的是数据结构的栈,不是内存分配里面的堆和栈. 栈是先进后出的数据的结构,好比你碟子一个一个堆起来.最后放的那个是堆在最上面的. 队列就 ...

  10. 【Python】删除字符串的空白

    在程序中,额外的空白可能让人迷惑,对于程序员来说,'python'跟'python '看起来几乎一样,但是对于程序来说,可是千差万别 (lstrip)删除开头空白 >>> Langu ...