作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以将流程可视化的唯一方法是:在区 block 链中搜索与正在处理的交易具有相同源地址的所有交易,将它们全部加起来(包括正在处理的 trx)以验证它们加起来更少小于或等于源交易金额。
对每一笔比特币交易都这样做听起来效率极低。
他们是如何做到的?
最佳答案
矿工和所有全节点确实会检查整个区 block 链以验证新交易,但他们能够高效地完成这项工作。
当他们从创世纪开始扫描区 block 链时,他们会更新一个仅包含未花费输出的内存结构,并对该集合进行索引。使用索引,可以非常快速地检查新交易的输入是否以前没有被花费过。目前大约有 800 万个未花费的交易输出。
比特币交易不会从地址中花费金额。他们完全花费了一组输出,每个输出都来自特定的早期交易。对早期交易中输出的引用不是通过其地址:那将是模棱两可的。相反,它是由早期交易中输出的数字序列。
一些网络工具,尤其是 blockchain.info,给人的印象是事情以不同的方式运作,但它们根据上述实际情况自行创造了这种印象。
关于bitcoin - 比特币矿工如何检查双花或超支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30425272/
我正在尝试创建一个 crontab 作业,该作业将在我的服务器(Ubuntu 16.04)每次重新启动时运行。我希望命令在新屏幕中运行。如果我在命令行中运行以下命令,它每次都有效。下面的命令启动我的门
我是一名优秀的程序员,十分优秀!