验证过程需要对签名脚本和公钥脚本进行求值,在P2PKH 输出中,公钥脚本的格式是:
发送方的签名脚本被解析作为整个脚本的头部。在P2PKH交易中,签名脚本包含了一个secp256k1的签名,和完整的公钥,这样和上面的公钥脚本连在一起就创建了完整的脚本
脚本语言是一个基于栈的、故意被设计成无状态、非图灵完备的语言。无状态确保交易一旦被放到区块链上,就不会出现输出永远不能被花费的情况。非图灵完备(缺少循环和goto语句)让脚本语言更加灵活(flexible)和可预见,大大简化了安全模型。
为了测试交易是否有效,签名脚本和公钥脚本的 *** 作逐语句执行,从Bob的签名脚本开始直到Alice的公钥脚本。下面的图展示了脚本的执行过程。
公钥脚本由发送方创建,发送方并不在乎公钥脚本是干嘛用的。接收方很关心公钥脚本,如果他们想,会让发送方使用一个特殊的公钥脚本。不幸的是,一般的公钥脚本不像比特币地址那样简单,而且在不同的程序之间无法互通(在BIP70支付协议实现之前)。
为了解决这个问题,pay-to-script-hash(P@SH)交易在2012念的时候被创建。它允许用户创建一个公钥脚本,这个公钥脚本包含第二个脚本的哈希和回收脚本的。
基本的P2SH工作流如下图所示,看起来几乎和P2PKH的工作流一样。Bob创建一个回收脚本,然后进行哈希,并且将回收脚本给Alice,Alice创建一个P2SH-style输出用于包含Bob的回收脚本。
当Bob需要花那个输出中的钱的时候,他在他的签名脚本中包含回收脚本和他的签名。P2P网络确保完整的回收脚本的哈希和Alice在他的输出中所给出的一致。然后执行回收脚本,执行成功就允许Bob花费那个输出,否则执行失败。
回收脚本的哈希和公钥脚本的哈希有同样的功能---因此只需要通过一点点改动,它也可以被转换成标准的比特币地址。这是的搜集P2SH风格的地址和P2PKH风格的一样简单。哈希同样可以隐藏哈希的具体内容,所以P2SH脚本和P2PKH脚本一样安全。
ph的意思~P是小写代表「这个」的意思,而H是指氢离子(H+)。
ph之实际意义乃「氢离子浓度的负对数值」,广义的说法就是「酸碱度」。
酸→在水中溶解时会与水反应来增加其H+比例的物质。
如硫酸、硝酸等与碱性相反,遇碱即中和而变成盐及水。
碱→在水中溶解时会与水反应来增加其OH-比例的物质。
像是所含的一种质料,成份如碳酸钠,性滑味咸,也跟酸相反,凡是化合物的水溶液有氢氧根离子存在。
因此水溶液是呈酸性或碱性,完全由溶液中H+ 与OH-的
相对含量来决定~
OH- =H+时呈中性(ph=7);
OH->H+时呈碱性(ph>7);
OH-<H+时呈酸性(ph<7)。
硬度~概略之义:
我们所说的水的硬度是指「钙与镁」离子的总浓度 又可分为钙硬度及镁硬度~~两者之合称『总硬度』简称「硬度」,是以水中的含有多少硬度(多价)金属离子~~通常以碳酸钙(CaCO3)所表示,但它也包含了:镁、钙、铁…等浓度。
<德国硬度~ GH之定义>
主要是台湾地区的水质信息受到德国的影响十分深远,并其引用之故。硬度通常是指溶于水中的主要钙、镁等化合物的含量, 硬度有多种表示法,惟水族界多使用德国硬度也就是以氧化钙(CaO)的当量来表示溶于定量水中所有可溶性钙和镁盐。
德国硬度是以氧化钙(CaO)来计算,与「碳酸盐硬度」无关,也不能称为「氧化钙硬度」!100毫升水含有氧化钙当量为一毫克,记1度gh 或1dh ,而勿称碳酸盐硬度或氧化钙硬度,德国硬度是以氧化钙来计算的8度gh以下即为软水。
<碳酸盐硬度>
碳酸盐硬度是以溶于定量水中所有可溶性多价金属离子,如钙与镁的含量方法并以碳酸钙(CaCO3)当量来计算,为国际通用的方法,它通常是以每百万份水中含多少份碳酸钙,并以「度」或「ppm」为单位例:每升水中含100mg的碳酸钙,则其碳酸盐硬度为100度或100ppm。
碳酸盐硬度又可分暂时硬度 & 永久硬度 !!!
1暂时硬度→指定量水中钙与镁盐的酸式,经煮沸后变成的不溶性的碳酸盐沉淀析出,干燥后其重量换算每公升含多少毫克碳酸钙。
2永久硬度→ 指定水中钙与镁盐不能经煮沸后使其沉淀析出,必须添加过量可溶性碳酸盐,例碳酸钠于水中使变成不溶性的钙与镁的碳酸盐沉淀析出,干燥后其重量换算每公升含多少毫克碳酸钙。
德国硬度=碳酸盐硬度x0056
例:
坦鱼的硬度~~
碳酸盐硬度230~339ppm= 德国硬度13~18dh
龙鱼的硬度~~
碳酸盐硬度 89~159ppm = 德国硬度 4~ 8dh
KH硬度之定义:
KH 是以 阴离子~碳酸氢根(HCO3-)当量来计算,可用于表示水中的HCO3-的浓度。应该称为~碳酸氢根or碳酸氢盐,非碳酸根,但可另称为「碳酸硬度」或「碳酸氢根(盐)硬度」………(多了个氢字)。
可是须记得喔!KH硬度不是碳酸盐硬度!KH重要性是因为与PH有着缓冲关系(指水中碳酸氢根浓度),也就是仰制酸降。
当水中硬度含<暂时硬度>越多时,KH值也会相对跟着提高。
*附文:
“酸水”制法→缓缓加入降酸剂(无机酸),得连续使用直到破除kh缓冲值;or使用可同时软水兼酸化水质的氢型树酯。
“软水”制法→以钠型软水树酯、绿酯棉运用离子交换功能吸附钙、镁离子;利用RO水去稀释自来水;水草的同化作用(除了氮、钾、磷三项主肥,其它元素亦是水草所需);使用『有机酸』(黑水、榄仁叶、泥碳土、草泥丸)与钙、镁离子形成螫合物沉淀以软化水质。
“碱水”制法→加入碳酸钠、碳酸钙(碳酸根离子能与H2O产生OH-离子使水中的OH-浓度增加)。
“硬水”制法→加入珊瑚砂(本质是碳酸钙),在高含CO2的水中呈缓溶液,可徐徐溶解于水中形成碳酸氢钙(CaHCO3),使水的GH-KH同时上升。
TDS值之义:
TDS表示水中的导电度盐钙等含量,可以TDS笔(水质检测笔)来侧量。
自来水的测量~~
0-89ppm(μs)→强软水0-4dh
90-159ppm→软水5-8dh
160-229ppm→适度硬水9-12dh
230-339ppm→中度硬水13-18dh
340-534ppm→硬水19-30dh
大于535ppm→强硬水30dh以上
水质饮用水40ppm(国际nsf标准质),40ppm以上建议停止饮用。高雄自来水测过约250ppm;台南约170ppm;RO水约8~20ppm。若是随意额外添加任何溶液、盐巴会超出水源ppm原本质。1个ppm就是该水溶液中含有1毫克物质之浓度。
以上就是关于比特币开发者指南(二)续--- P2PKH脚本验证和P2SH脚本全部的内容,包括:比特币开发者指南(二)续--- P2PKH脚本验证和P2SH脚本、关于水质中的GH、TDS、KH、PH值分别是什么,如何测量和控制、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)