关于视频课自己的问题汇总

BTC

  • 用户只保存最近的一些区块,当要用到先前产生的区块,再向别人要就可以,这向别人要的过程是什么?(2-区块链)

答:在网络上传播自己需要哪个块,然后拥有这些块的人会给他

  • 可以要求转账的人发来哈希值,那转账的人和全节点的关系 是什么?(2-Merkle proof )

答:转账的人可以不是全节点,全节点可以转账,全节点在网络中是较少的

  • 为了说明币的来源是从哪个交易来的而设置的指针是怎么存储工作的,怎么知道自己的来源交易所在的区块在哪里?(3-去中心化)转账交易怎么说明币的来源?(4-transaction-based ledger)

答:UTXO集合中的每个元素要给出产生这个输出的交易的哈希值,以及它在这个交易中是第几个输出。用这两个信息就可以定位到一个确定的交易中确定的输出。然后交易的输入脚本中给出了UTXO集合中的来源交易的哈希值和对应在来源交易的第几个输出,这样就提供了币的来源。

  • zero confirmation指交易刚发布出去,还没有写入区块链中的时候,就认为交易已经不可篡改了,这是为什么?(4-比特币安全性的分析)

答:这是个个人行为,自己觉得不能篡改了

  • 发布了交易以后,矿工打包进区块,这样才算交易完成吗?那如果一直没被打包这个交易也当作没执行吗?(7-挖矿)

答:是的,只要不上链就不算交易完成,就需要一直等着

ETH

  • 怎么检测前面的链上有多少叔父区块?

答:网络中会传播,如果有一个块产生别的节点都可以监听到。

  • 合约账户要能接受外部转账的话必须标注为payable,那给外部转账就不需要吗?(9-solidity)

答:payable指的是可接受转账,给外部转账的话就说外部账户里标注了

  • 外部账户调用智能合约,调用的函数是TXdata里面给出的要调用函数,如果这个函数有参数,那么其参数也在这里的data域里说明的,不是很明白TXdata里面的函数和data域里面的参数分别是什么。(9-solidity)

答:TXdata里面前四个字节是函数,后面的是参数。每个函数都会算出一个哈希值然后代表他自己,data域里面就是这个哈希值。

posted @ 2021-11-12 13:05  不加糖不加奶  阅读(121)  评论(0)    收藏  举报