• 蜡蜡 置顶
    2018-03-29
    陈老师,您好,非常精彩的讲解了比特币到底是怎么运行的,个人对比特币运行的整理与思考如下,欢迎讨论:
    步骤1:召集全村每家每户, 一起共同记账。
    1)高薪招聘记录账本人员:  人人都可以参与,只要每次谁记录的最快又最准,每次可以拿到丰厚的报酬。

    2)分发村民记账工具:特殊的印章(盖章有两块标记,第一块可识别的标记,第二块扫描器才能看)、扫描器(扫描器有两个功效、一是识别他人的交易是否真实有效,二是识别这个交易是不是自己账号的,同时识别并解锁未花费的余额)    、特殊的信封(装交易信息的文件)  ;
    3)记账注意事项:
    为了防止大家真实姓名泄漏,   大家统一使用代号代替(第一块可识别的标记);
    账本上不再记载每户村民的余额,只记录每一笔交易的信息,即只标注付款人、收款人、付款金额;
    必须保证每个村民随时查看整套账本,每次交易信息用小喇叭通知大家。
    步骤二:创建账本的开头;首先中本聪创建第一步交易信息,付款人为空、收款人为村长、付款金额100万元,
    然后记录着交易信息,装进特殊的信封里,现在让村长把信封传递给张三,张三复印一份,在传递给李四,一传十,十传百,直到传到全村人。
    步骤三:交易;
    1)村长与村民的交易:现在村长有100万元,这时村长根据张三旧账10万元,把这10万元给张三,然后把旧账划掉。中本聪教村长记账,付款人代号村长、收款人代号张三、付款金额10万元;村长填好交易信息,在交易信息签名(盖章),这个章全村人可以用扫描器验证是否有效,就这样,村长与村民陆续操作,张三一笔10万元,李四一笔1万元,王五2万元,等等!
    2)村民与村民的交易;现在张三有10万元,李四有1万元,现在张三买李四家的房屋1万元,张三在付1万元单盖章,李四用扫描器查看着1万元是否有效,然后高新聘请的记账人员开始记账,交易信息为:付款人代号张三,收款人代号李四,付款金额1万元。
    步骤四:打包数据(挖矿)
    因为装信封人报酬多,参与的人非常多,中本聪设定难题,答案很容易验证,计算过程非常复杂,如比如,2、9、1、5加减乘除如何计算得到24,只有答案(5-2)*(9-1)=24,当谁最快又最准计算出,谁就可以把这交易信息放进信封里,并在信封上签字盖章。
    步骤五:广播交易;记账人员把数据放进信封里,并签字盖章,用广播的方式通知所有人,每个村民可以验证交易是否伪造。
    步骤六:账本按每一笔交易数据物理时间自然记录,并且只加不该不删,不断形成新的账本数据库,至此,全村人的记账问题就解决了。

    当这些还看不懂比特币如何运行模式,举结婚场景大家脑补下:
    张三与李四结婚,请全村人见证他们结婚了,张三签字保证爱李四一辈子,李四也同意爱张三一辈子,记录人员记录着他俩的承诺,并装进信封,然后通知全村人。当张三不爱李四啦,需征求全村人的意见,并且全村人同意他俩才能离婚。
    展开
     1
     32
  • 良辰美景
    2018-03-28
    作者你好,我读了几遍,仍然还是不太明白,有如下问题,希望能给解答一下:
    假如现在有A村民(有50万)与B村民,A转账10万给B
        文章说需要在这个交易上写的信息如下:
        10万,B章
        40万,A章
    问题如下:
        1:上面的交易是否还要盖上村长的章?A主动转账给B,这个交易信息是否需要村长监控:比如村长需要监控A的账户是否有10万以上的钱
        2:如果不需要,扫描器的作用是否能识别这个村里的每一笔交易,还是只能识别自已的交易(这个扫描器的作用还是没太明白)假如我是村民C,我能解开上面的交易么。
        3:挖矿也就是得到信封,将交易数据打包到这个信封中,而这个信封也需要有一个地方存储,这个信封(区块)存在那里呢?每个村民的家中么(初使化好的服务器)?
        4:这份账单会存在网络中多份,具体有多少个节点呢,是事先约定好的还是可以动态变化的?
        5:一个区块(信封)能存储的交易数据有数量限制么(还是有一个时间段的限制),如果没有交易限制,如微信系统一分钟的交易量上百万份,这个数据量级的情况有解决方案么。
    展开

    作者回复: 1. 不需要的。村民A如果有50万,转移过程由村民A盖章即可,其实这更像咱们的实体纸币,纸币100在花费的时候,现场确认是你掏出来的就行。钞票本身的面额就是50万,不需要检查的。
    2. 村民C是无法解开交易的,扫描器和章是一对的。扫描器其实有两个功用,一个是可以验证别人的章是否有效,第二是识别属于自己的交易。
    3. 是的,存在每个村民的家(本地持久化存储)中。快速理解就是每个村民家中都有一套日志型的账本,有点像数据库的binlog,是无状态的。每家收下的所有信封连在一起就是重演历史交易
    4. 账单是全冗余的,所有节点都保存了副本。节点数量是开放的,动态变化的。
    5. 一个区块是由大小上限的,比特币的上限为1MB一个块,曾经出现了网络拥堵的情况。上万TPS的区块链系统是由的,不过从架构上看更中心化一点。这个我们会再后续文章有详细讲解

    
     31
  • near
    2018-03-28
    请问老师:例子中说拿出50万奖励封装信封的人,当这50万奖励用完以后,后续产生的交易信息由谁来封装信封呢?
     2
     17
  • teletime
    2018-03-28
    这样记帐的话,随着时间推移,总帐无限增大,每次计算一个帐户的当前余额,要追溯的历史链越来越多,效率能撑住?
     1
     12
  • 陈建斌红了..
    2018-03-28
    怎么广播,难道每个节点要保留所有其他节点的ip地址吗

    作者回复: 是的。仅保存临近节点,临近节点接力

     1
     12
  • 胡敏
    2018-03-29
    我理解 打包交易 的的前提是有交易,如果交易量不足,哪些所谓矿工为啥可以一直挖矿呢

    作者回复: 交易笔数至少会有一笔。这一笔叫做铸币交易。又称coinbase。这种区块我们叫做空块。属于正常情况

    
     10
  • LuDi
    2018-03-29
    配一些图来说明的话,会让读者更容易理解呢?

    作者回复: 谢谢建议,到深入讲解模块会配图的。

    
     9
  • ytl
    2018-04-03
    如果两个矿工差不多时间解除难题,都暂时认为自己获得奖励,区块链产生自然分叉。通过竞争,几个区块后只有一条链最长,所有矿工都追随最长链。前面以为自己得到奖励的矿工并没有真正得到奖励。

    作者回复: 嗯嗯,我们理解一致。“最长”其实是难度累计最大,而不是高度。

    
     6
  • ync
    2018-03-29
    作者您好,阅读后我收获很多,但有个问题不太清楚:交易为什么不记用户余额?不记得话每次交易都要翻老帐,当用户量和交易量上去的话效率会不会很低?

    作者回复: 你好。
    区块链有两种记账模式,第一种是我们正在举例讲解的utxo模型,另外一种是你说的记余额模式。交易效率不会低的,但是会影响同步效率。
    utxo是无状态的,余额是有状态的。后面utxo一文我们会有详细讲解这两者。

    
     6
  • Corey
    2018-03-29
    (1)矿工打包交易时,计算出目标哈希,是怎么实现易于验证的?
    (2)全网有没有可能,同时超过2个矿工同时计算出目标哈希,如果出现这种情况,网络是怎么处理的?
    (3)目前btc使用1M,bch使用8M,扩容可以提高交易量,带来的问题有 带宽、存储、计算,但是目前btc也基本都是专业人士在挖,扩容还带来了其他什么问题吗?
    (4)目前为了提高交易速度,除了扩容,还有分片和侧链,我想问的是,扩容是必须的吗?

    作者回复: 1. 简单来说,就是所有人把这位矿工的计算原结果再计算一次。如果符合前n位是0就证明是有效的
    2. 网络不存在绝对的同时。这种情况再观察下一个块的产生,如果其中某一条链“长度”大于另外一条,则废弃短链。这种情况的概率叫做孤块率,越低越好
    3. 扩容之争有很多备选方案,比特币社区争论了很久,导致社区分歧才有了bch。专业矿机的产生不是扩容导致的,扩容后续我们也会讲。
    4. 不是必须

     1
     4
  • life is short, e...
    2018-04-03
    老师您好,请问150w的总数,是怎样的一种机制保证他无法被修改?

    作者回复: 由创世区块规定的,后面的区块的哈希计算都是依赖前面区块,所以历史记录没有办法改,一改全变了。

    
     3
  • 曼巴
    2018-10-06
    区块链的运行机制有下面几个步骤:公开记账,创建创世区块,交易,挖矿,交易广播。

    这些运行步骤体现了区块链的特点,公开记账体现了区块链的公开透明,创世区块的创建初始化了整个区块链的起始状态,
    
     2
  • 万历十五年
    2018-05-27
    1.数字签名主要解决了“谁干了什么”的问题
    2.打包主要解决了“篡改”问题,使篡改成本变高
    
     2
  • 张军营Jason
    2018-04-03
    咨询几个问题
     1.多少个transaction可以打包成为一个信封?
    2.transaction的验证过程,是否有效,不太明白

    作者回复: 1. 这个是由区块容量上限决定的,区块容量上限是由物理环境,代码决定的。通常几百几千笔一个块。
    2. tx的验证是由非对称加密中的签名算法保证的,全网可验证。

    
     2
  • 羽惑飞
    2018-04-02
    50万被旷工挖完后谁来打包?
    
     2
  • 石标
    2018-04-01
    你好,请问挖矿的奖励谁来付?

    作者回复: 系统凭空产生的,所以叫挖矿。

     1
     2
  • DBG
    2018-03-29
    打包时计算出来的目标哈希 怎么确定没有被其他矿工已经计算出来

    作者回复: 目标哈希不是唯一的,只要满足难度条件即可。即使别人同时有了答案,剩下拼速度了

    
     2
  • 鸿飞
    2018-03-29
    老师费心了,这么复杂的知识放到一个故事里面了,赞
    
     2
  • 小颜
    2018-03-29
    老师我问下,比如A给B转帐10块,交易方是A(A的代码替换),收款方为B(B的代码),那请问A是怎么知道B的代码的
    
     2
  • Shen
    2019-11-06
    章和扫描器有点不太明白。所谓章就是自己的公钥?扫描器就是自己的私钥和别人公钥?
    
     1
我们在线,来聊聊吧