• 注册
    • 查看作者
    • 认识比特币(SV)-Mempool矿池/打点钱包创始人:林哲明

       

      ■ 内容时间 |  2019.02.22

      ■ 分享人物 |  林哲明

      ■ 主持人员 |  Amy

      本次知识分享感谢来自1bsv.cn的Amy主导、让我们能有机会听到老兵林哲明对比特币(SV)的理解。

      首先让我们先感谢Mempool矿池/打点钱包创始人的林哲明。

      接下来让我们进入到了解认识比特币的环节:

      下面让我们掌声欢迎: [s-62]

      以下内容来自Mempool/打点钱包:林哲明

       

      首先我自我介绍一下,我是🐽,来自福建福州,2011年了解并参与比特币项目,花钱买的比特币基金会终身会员,参与众筹过比特股、以太坊,被动参与过 EOS。现在有个小团队在做比特币相关设施建设,有能在微信里面用的 BSV 钱包-打点钱包,还有 BSV 和 BTC 矿池 mempool。

      群员小A : 大哥,比特币基金会终身会员多少钱我可以拥有吗。 有什么权限吗 [s-19]

      林哲明🐽 : 当时两个多比特币吧。也没啥权限。

        

      正文开始     林哲明🐽 :

       

      下面我说一下比特币(SV)吧,为了避免混淆,关于目前改为 Segwit 隔离见证的币,我们叫 BTC,我说的比特币,是从 2009 年开始创世到现在的比特币(SV)。

       

      我最早听说比特币这个东西啊,来源的是在 slashdot 这个网站上。当时处在工作间隙,比较有闲,看到了关于这个通过电脑可以印钱的消息,出于对将来发财的憧憬,开始了尝试。那时候的比特币,还是中本聪客户端,satoshi 刚消失。比特币的转账依然是可以零手续费的。交易所是 mtgox(唯一)。

      最初吸引我的比特币,是其总量上限(2100万),电脑参与挖矿(我用的矿池是 BTCGuild),极其低廉的全球支付费用(基本可以不要钱)。同时其愿景上,是无法因为单一核心被控制而被摧毁。

      这里的几个要素,除了电脑参与挖矿这个事情外,都得到了继承。我对比特币的理解自己也感觉越来越深入。在 2017 年接触了 csw 之后,我原本对于比特币的理解更深入了。最核心的,是我原先认为通过我自己电脑上的账本来保护比特币(大家不要笑),这个方法是完全错误的认识。

       

      关于这个错误认识的剖析,在于我们想象一个场景,如果矿工记账的时候,产生了我自己并不认可的记账规则,那么我应该怎么办。很多人在这里接受了错误的信息,带来了错误的推论。这个错误的推论是“如果矿工错了,我可以自己挖矿啊”。但实际上由于挖矿的专业化和 ASIC 的进化,导致用户个人电脑,已经无法在合理的预期内挖出矿来。

      虽然比特币的挖矿产出,是参与的人越多,挖矿越难,大家每个人分到的收入越低。但是这里的具体技术细节,是每 2016 个区块,根据之前 2016 个区块的挖掘的协调时间,和预期的14天(14*24*3600s)比较,来调整的(难度周期)。也就意味着如果自己不认可矿工的账本,想要用个人电脑“保护”自己的账本,并不能阻止矿工,也不能在自己的规则下生成新账本。

      这个时候,用户其实什么都不能做,只能在那里等。本质上,是用户使用 “UASF” 或者类似的 PoSM,把自己从比特币网络上分出去。具体的做法,是当你用 invalidateblock 这个指令的时候,把某个你不认可的区块拒绝掉,然后就什么都做不了了。

       

      这个观点对我的触动很大,因此我开始全面的学习比特币到底是怎么回事。(敲重点)比特币是一个通过经济利益进行驱动的网络。在这里,有不同类型的用户,有不同的网络参与。具体的在白皮书里面有了充分的描述,挖矿的是节点,其他是用户。

       

      那么,比特币的网络是怎么形成的呢?我们先从矿工说起。

       

      矿工目前主要搞这么几个事情:

       

      1. 矿工在努力的从网络上获取到新的块,通过工作量证明来观察这个块的有效性;

      2. 矿工需要尽快验证这个区块,来判断共识规则是否发生了改变;

      3. 矿工需要在验证的同时,去掉自己内存池里冲突的交易,更新自己的内存池,准备好下一个区块的内存池;

      4. 在发现新的工作量证明之后,需要尽快的打包自己的区块;

      5. 把自己的区块传播给别的矿工;

      6. 等待别的矿工在自己的区块上投票。

       

      "They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them."

       

      中文翻译 : “他们用他们的CPU能力投票,通过扩展他们来表达他们对有效块的接受,通过拒绝对他们的工作来拒绝无效块。”


       

      在这个时候,矿工的根本的目的,是让其他的矿工尽快的在自己的区块上工作,接受自己的工作量证明。

      这里并不是单纯的比较谁先挖出块来。

       

      如果有某个矿工先挖出块 N+1 了,其他矿工接受了并在之上挖新块 N+2,你的算力还在之前的 N 上尝试挖 N+1,那么就算你挖出来了,也不会有其他矿工切换,大家都默认一个先到先得的规则,先获得的块有更大概率成为最长链的一部分。所以,矿工有动力去尽快获取其他矿工挖出来的区块,尽快验证,让自己可以尽快切换到最有可能成为最长链一部分的区块上工作。

       

      同样的道理,当矿工挖出块之后,也需要努力传输给其他矿工,让其他矿工尽快的接受自己。虽然也有不可忽视的概率,两个矿工几乎同时挖出块来,这个时候就比拼谁的传播做的更好,可以获得更多算力的支持。算力多的区块,有更大的概率成为最长链的一部分。

       

      而我们看到矿工在区块的传输/带宽/验证上都存在成本,这个成本导致了我们矿工只能优先选择连接更有价值的节点,这个节点最好离其他矿工速度越快越好,越近越好,带宽越大越好。

       

      在这种激励上,矿工会因为工作量证明互相发现,然后手牵手建立紧密的连接。因为工作量证明不可伪造,所以矿工是可以信任这个结果来确认对方确实是矿工的。

       

              而传输速度比较慢的,没有算力的节点,会被这些矿工抛弃,成为第二梯队。(但不代表着他们不重要)。

       

      这个连接方式,我们称为小世界网络关于小世界网络的文章介绍

       

      因此,矿工从提升自己的收益的自私的角度出发,会自然的形成一个和其他矿工的小世界网络,并且这种互相连通性,对双方来说都是非常有价值的互惠的事情。

       

      而用户节点,贡献的是什么呢?交易。

      我们知道比特币的交易是可以交手续费的,矿工的另外一个利益驱动,就是尽可能的打包更多,手续费更高的交易,通过收取这些交易中的手续费(矿工费)来获利。

       

      因此,矿工也有理由和其他用户的交易来源保持良好的连接,尽可能的搜集到更多的交易,提升交易费用。在这个驱动下,用户和矿工之间的连接也会得到加强(但不是区块传播)。

       

      同时,用户也需要尽快的把自己收到的交易(注意:收款方更在意交易收到了)交给矿池,尽快的记账。所以用户(主要是收款的商户)也有保持这种高效连接的驱动力。

       

      在这种经济利益驱动下,也可以进一步加强用户和节点之间的连通性。

      理解了上面这些,就能了解比特币的网络到底是一个什么样的特性,为什么可以产生这样的特性,如何演进成这样的特性。

       

      老刘的补充材料非常好,这是补充材料

       

      刘晔律师:

      小世界网络可以比拟为大脑的中枢神经,比外周神经和神经末梢连通更紧密、更快、更高效,当然也更耗能。

       

      林哲明🐽 :

      之后,是比特币到底可以带来什么。我们知道比特币因为是小世界网络,所以,比特币的每一笔交易,其实是在所有矿工的节点之间传播两次(第一次广播,第二次区块传播),并进行了双花验证的事情。

       

      正确理解这个交易,才能理解后面比特币的野心。

       

      这个交易的成本,就可以分成两个部分的内容。第一个部分,是这个比特币交易本身的合法性验证,脚本、签名的验证,金额的验证。第二个部分,是双花/UTXO 验证。

       

      其中第一部分,只和这个交易自身相关,其验证成本和其他交易的关系很小。

       

      第二部分,是需要把当前交易的 INPUT 集合,和目前内存池里面的所有交易的 OUTPUT 进行比对,查找是否存在合法的 OUTPUT。这部分的验证成本,随着数据的增长而增长。

       

      因为比特币交易里面都为这笔交易付费了,所以我们可以在费用允许的情况下,首先判断第一部分。

       

      第二部分是每个 UTXO 都需要的成本,其成本增长是 LogN 的复杂度,对比交易数量和计算机处理能力的增长来看,是可以有非常高的处理能力上限的。

       

      因此,我们才可以说,随着计算机摩尔定律的不断进步,我们有把握可以处理全世界的所有交易数据。

       

      这里的重点,在于每笔交易都为自己的存在付费了。费用合理就会被矿工处理打包。我们可以简单的通过每个字节的成本来计算。这就是交易费率的由来。

       

      有些错误的说法,是交易量那么大,不需要关心其他人的交易。

       

      其实确实是如此,交易量这么大,只有矿工才需要关心,用户使用简单支付验证 SPV 的方式,是不需要关心和自己无关的交易的。

       

      交易量增大后带来的总存储和带宽成本增长,并不是一个“负担”,因为处理这些交易可以为矿工带来收益。

       

      所以,正确的说法是,用户并不需要关注总交易,只需要关注和自己相关的交易。

       

      比特币的信任来源,是用户对这个比特币决策机制的信任。而矿工之间因为在机制下的博弈带来的自由竞争,促进了网络的进化,降低了用户的成本。

       

      这里就说到了比特币的“去中心化”的说法。比特币的去中心化,是一种我们对比特币现状的描述,并不是白皮书中描绘的目的。

       

      真正的比特币,是这样的:

      Digital signatures provide part of the solution, but the main benefits are lost if a trusted third party is still required to prevent double-spending. We propose a solution to the double-spending problem using a peer-to-peer network.

      中文翻译 : 数字签名是解决方案的一部分,但是如果仍然需要可信的第三方来防止双重开销,那么主要的好处就会丧失。提出了一种利用对等网络解决双重开销问题的方法。

       

      主要是为了“去掉对唯一第三方的信任”,而形成对点对点的交易检测双花的方法。

       

      这里就说到了比特币的 “去中心化” 的说法。比特币的去中心化,是一种我们对比特币现状的描述,并不是白皮书中描绘的目的。

       

      在比特币里面,最重要的其实一直是交易的处理。

       

      交易,是点对点的,用户和用户之间直接进行的,可以即时也可以延时(通过 nSequence )进行清算的。

       

      在清算完成之后,就在网络上平均十分钟进行一次结算。

       

             现在的很多比特币钱包的处理做法是并没有使用好这样的特性的。比特币最早版本是可以进行 IP2IP 的直接付款。输入另外一个节点的 IP 进行连接,然后连接上后双方进行直接付款。而不是需要再让用户接触到“地址”这样的概念。

       

             那个,要去登机口登机了。今天的分享我觉得可以先到这里。之后可以有时间再组织进行其他的一些细节的分享。一次讲几个方面比较好。

      接下来可以做一下 AMA,其实不仅仅局限在比特币上。

       

      大家问问题,我可以用手机来回答。

      接下来就到了问答环节、我们一起看看有什么问题吧 :

      1、关于“BSV”的问题:

      • 林总,现在的btc什么时候会被bsv代替?

      • Bsv为什么会取代btc?

      • 预计BSV的商业应用什么时候能够真正开展起来?

      • bsv的大区块和低手续费是不是让矿工收入少了很多?

      2、关于“打点钱包”的问题:

      • 钱包和微信绑在一起安全么?

      • 钱包和微信有协议吗?

      • 打点钱包的用户钱包使用什么数据库进行存储?

      • 如何确保公众号里面保存在本地的私钥不会被微信或者其他公众号读取?

      回答:

      关于“BSV”的问题回答:

      1. 取代 BTC 的理由是又有用又可以储值。唯一理由。

      2. 商业应用的开展需要的是更多有逻辑分析能力的开发者加入进来。知道要用这个技术怎么节约自己的成本。

      3. 矿工考虑的因素不仅仅是币的数量,币的价格也是很重要的一个因素。通过更加低廉的费用来降低摩擦成本,促使更多使用也是可以考虑的。

      关于“打点钱包”的问题回答:

      1. 安全性和用户使用性质和用户特点有关。会忘记私钥/助记词的人,其实适合打点钱包。甚至一些交易所钱包。但交易所的安全性未必更强。你需要去信任一个交易所。

      2. 打点钱包和微信签了协议的。我们使用了他们的开放平台。

      3. 钱包数据库我们有用 mongo 和 mysql 等

      4. 我们的私钥在内存里面,根本不保存,使用签名完成后摧毁的。这个安全模型是网页的安全模型,不保证绝对安全但是安全性和网站的安全性基本上等价。以及私钥管理这方面我们也在考虑用别的方式来进行增强。

      5. 目前我们还在重构。背后我们用的一些基础库可能会开源。但现在说这个有点早。

       

      非常感谢老兵林哲名先生分享给我们他对比特币(SV)8年时光的理解。

      陕西省·西安市
    • 9
    • 9
    • 1
    • 1.3k
    • 1
      hellopla小学生
      致敬
    • 1
      认识比特币(SV)-Mempool矿池/打点钱包创始人:林哲明
    • 1
      Asine7幼儿园
      好文!
    • 1
      Amy幼儿园
      打赏了8μBSV。
    • 1
      Amy幼儿园
      太好了
    • 1
      灵魂游世界幼儿园
      好文
    • 1
      明月清风小学生管理员
      打赏了66μBSV。
    • 1
      aaron67小学生
    • 1
      aaron67小学生
      打赏了88μBSV。
    • 单栏布局 侧栏位置: