比特币发展到今天已经有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. Ruby 定时任务之一(初步尝试)

    最近工作需要用到定时任务.原来写java的时候也用到过类似的Scheduler的功能. Ruby语言中也有同样功能的工具.rufus-scheduler.下面介绍一下rufus-scheduler. ...

  2. asp.net获取URL方法

    方法如下: Request.Url.ToString()获取完整url(协议名+域名+站点名+文件名+参数):https://localhost:44300/WebForm1.aspx?abc=123 ...

  3. ios内存管理笔记(三)

    我们在进行iOS开发时,经常会在类的声明部分看见类似于@synthesize window=_window; 的语句,那么,这个window是什么,_ window又是什么,两个东西分别怎么用,这是一 ...

  4. mac 安装 mysql-python

    1 首先安装mysql 要那种纯净,独立的mysql,不是xampp里附带的 2 下载 mysql-python压缩包,解压,找到里面的site.cfg里的 mysql_config = /usr/l ...

  5. tomcat使用安全及CVE-2017-12615

    tomcat安全情报的收集 1.首先定期查看官网各个版本存在的安全漏洞公告: http://tomcat.apache.org/security.html 2.去各大漏洞网站查看漏洞披露信息 看几个漏 ...

  6. VC++动态链接库(DLL)编程深入浅出(二)

    好,让我们正式进入动态链接库的世界,先来看看最一般的DLL,即非MFC DLL 上节给大家介绍了静态链接库与库的调试与查看,本节主要介绍非MFC DLL. 4.非MFC DLL 4.1一个简单的DLL ...

  7. 香蕉派(or 皮?)上手初体验 -- 外观鉴赏,安装,配置&amp;总结

    一.前言及简单介绍 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG9uZ2Vyem9uZQ==/font/5a6L5L2T/fontsize/400/f ...

  8. jq:正则表达式

    var checkNum = /^[A-Za-z0-9]+$/;   注意没有引号 checkNum.test(这里添加待匹配的字符串); var textNull=/^\s*$/; if(textN ...

  9. ExtJs4学习(一):正确认识ExtJs4

    认识ExtJs 1.Javat能用ExtJs吗? 它是展现层的技术,与JS,HTML,CSS有关.至于server端是.Net,还是PHP等无关. 2.ExtJs适合什么样的项目? 依照官方的说法,E ...

  10. HDU 5042 GCD pair 预处理+二分 分段

    点击打开链接 #include <stdio.h> #include <string.h> #include <iostream> #include <cma ...