首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
比特币代码分析7 交易校验
时间:
2018-12-07 18:26:19
阅读:
228
评论:
0
收藏:
0
[点我收藏+]
标签:
输出
数据
解锁
str
pts
nba
字节
选项
验证
每一个收到交易,比特币节点都验证该交易,有效的交易将被传递到各个附近节点,这将确保只有有效的交易才会在网络中传播, 而无效的交易将会在第一个节点处就被废弃。
校验选项列表:
每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表
1、交易语法与数据是否正确
2、输入与输出列表都不能空(>=1)
3、交易大小 < max_block_base_size(1M)
4、0 < 输出值与总量 < 2100万
5、输出点中hash!=0,N!=-1(哈希值不能为零、序列号N不能为-1)
6、nlocktime<int_max
7、交易字节>=100字节
8、解锁脚本(scriptSig)只能够将数字压入栈中,并且锁定脚本(scriptPubkey)必须要符合isStandard的格式 (该格式将会拒绝非标准交易)
9、池中或位于主分支区块中的一个匹配交易必须是存在的
10、
对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝
11、验证孤立交易
12、coinbase交易需经过100个确认
13、输出必须存在,且未被花费
14、0< 输入值与总量 < 2100万
15、如果输入值的总和小于输出值的总和,交易将被中止
16、交易费用太低,则交易被拒绝
17、每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证
比特币代码分析7 交易校验
标签:
输出
数据
解锁
str
pts
nba
字节
选项
验证
原文地址:http://blog.51cto.com/13878196/2327595
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!