发表时间:2020年5月29日
信息来源:https://coingeek.com/the-story-behind-the-op_push_tx-technique


最近Stas Trock撰写了一篇文章,内容是关于如何让能够体现现实世界状态的智能合约在Bitcoin SV区块链上实施、部署和交易。Stas与sCrypt的创始人刘晓晖合作密切,正在利用sCrypt平台开发智能合约。在一篇关于状态型智能合约的Medium文章中,刘晓辉将OP_PUSH_TX的概念归功于nChain。

我们联系了nChain的首席技术官Steve Shadders,了解他如何参与了这一概念的验证过程。

谁最早提出的OP_PUSH_TX?

这一概念最早产生于2016至2017年间,主要来自前nChain研究员Ying Chan。我相信其他人也参与了该项目,但是Ying在这个领域的专业知识是最丰富的。

一个名为Mr. Word的人几个月前提问:OP_PUSH_TX的想法是如何产生的?

因为那时我还没有参与进来,我想应该让Ying来直接回答这个问题:

“我就想看看当脚本操作码都解锁且不加限制之后,比特币的局限性将如何被突破。”“那时,还只有BTC。”

在OP_PUSH_TX里,私钥将被推送至链上。请解释一下为何此时我们不需要顾虑私钥的安全性了?

私钥这里只是被用于在推送交易时生成签名。需要该签名来验证OP_CHECKSIG有效运行,并确认你计算出的内容与你当前正在进行的交易相匹配。

由于私钥实际上并没有在保护任何资产,因此只要你不再次使用它,它就不存在安全性问题。通过推送私钥,你可以重新计算ECDSA签名算法的许多元素,因此计算变得非常简单。

你需要使用另一个不同的私钥来保护交易本身,这个私钥当然是不公开的。

请谈谈为何当脚本语言被完全解锁后,密钥不再是支付比特币时所必需的了?

从技术上讲,脚本不需要签名检查,但通常签名检查被用作为一种机制,来限制向持有密文的人转移比特币的能力。
挖矿谜题也能做到这一点,但它需要你解出脚本谜题后公开密文。而ECDSA签名却能够允许在不泄露私钥的情况下对私钥进行验证。

所使用的任何技术都是nChain的知识产权吗?如果是,主要有哪些专利?

据我所知,至少有9项专利是针对该技术并涉及其相关扩展范畴的。之前由于BTC上人为施加的限制,我们不得不等待比特币协议被恢复后才能够在真实环境下展示它们。
目前,我们正在基于创世纪升级后的比特币规则下对这些技术进行审查,并开始重新测试。

OP_CODESEPARATOR或其它脚本操作码会影响这项技术的功能吗?

我认为OP_CODESEPERATOR可以创造出混合功能,但在此处我们并不需要它。

Steve,你之前和我提起过,在Bitcoin SV诞生之前,你曾在2018年初向Bitcoin Cash的主要开发人员介绍过该技术。能详细说下那时的情况吗?

2018年3月,BCH社区就一个新的操作码OP_GROUP进行了激烈讨论。从本质上讲,这个操作码可以让你“用颜色标记UTXO”,并附加了一个非常有限的转发条件,即该UTXO及其所有后代都必须都是相同的颜色。

这被吹捧为一种能够在BCH上“无需许可就可以操作资产”的方法。该提案极具争议,以至于讨论甚至可能引发算力战和分裂。

nChain既不想分裂BCH,也不想要引入新的OP_GROUP操作码,于是我们向他们说明了OP_PUSH_TX可以解决相同的问题,同时还可以实现更多操作功能。我们根本不需要引入任何新的操作码,我们只需要将脚本语言恢复到最初的形态,这本应该就在BCH的发展路线图里。

我们提出的方案既能满足Bitcoin ABC希望引入此操作码的愿望,还能满足Bitcoin Unlimited所追求的功能。不幸的是,该提案遭到质疑,他们认为该提案行不通,并且脚本太大。

现在,sCrypt团队所做的工作已经证明了方案是可行的,而脚本太大的问题也迟早会被解决,我正在研究其他技术。

在你看来,为何这次脚本演示能够鼓励技术应用?

一直以来,人们总是认为比特币缺少以太坊所拥有的一个基本功能,那就是将脚本的条件推进到下一个事务的能力。举例来说,你可以设定花费一个比特币的条件,但是你不能这样设定这个条件——下一个事务中必须包含一个特定的条件,你才能花费这个比特币。

OP_PUSH_TX这项技术打破了这个神话,展示出了比特上可以实现这种功能。通过访问脚本中的事务,您可以针对这个事务检查部分脚本或者检查其它特性,如果状态不满足,你可以强制不履行脚本。

结论

Steve,谢谢你抽出时间回答上述问题。我希望读者们可以由此更好地了解现在在Bitcoin SV上已经实现的脚本技术。

为了更清晰的表述,本文中的人物引言被稍加编辑过。


Bitcoin SV是唯一遵循着中本聪于2008年发表的白皮书《比特币:点对点的电子现金系统》中协议的区块链。


  • 对比特币区块链开发感兴趣的朋友可以通过CSDN站内私信联系我们,申请加入BSV开发者交流群。
  • 同时,您也可以扫描下方二维码,关注比特币协会官方微信公众号——BA资讯,了解更多区块链领域的实时资讯。

OP_PUSH_TX技术背后的故事相关推荐

  1. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

  2. 华为无线充电怎么用?技术背后的故事你了解多少?

    华为无线充电怎么用?技术背后的故事你了解多少?相信近来来华为无线充电技术在智能手机行业的快速发展大家都是有目共睹的,除了想要了解无线充电怎么用,想必小伙伴也很想一窥背后的故事. 华为无线充电怎么用?比 ...

  3. 爱奇艺播放技术——300ms背后的故事

    爱奇艺大播放内核运行在 Android Mobile.Android TV.Apple TV.iPhone.iPad.GPad.MAC.Windows PC 等不同业务平台,支持以"直播.点 ...

  4. 图像处理经典图片Lena背后的故事

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|新机器视觉 在数字图像处理中,Lena(Lenna)是一张 ...

  5. HTML5背后的故事

    乍一看,你可能觉得HTML5是网页编写语言HTML的第5个版本.但实际上,这背后的故事可乱得多. HTML5是一个叛逆.它是由一群自由思想者组成的团队设计出来的,这个团队的成员并不负责制定官方HTML ...

  6. 【下载】《看见新力量》第二期,带你走进数十位科技创业者背后的故事

    简介:这是一本正在进行中的科技创业者的记录,书中涉及的创业者还都奔跑在路上.然而,他们的所思所做,已足以令一些产业发生微小而有效的变化,令数字经济时代下人们的生活变得更加智能.阿里云创新中心作为科技创 ...

  7. 【今晚七点半】:对话平行未来姜雨晴——重启熊猫直播背后的故事

    点击上方"LiveVideoStack"关注我们 "关于熊猫直播的回忆,2019年3月,雨晴找我投了一篇稿子,关于P2P网络.我记得有同学留言,熊猫直播的存在就是养活了许 ...

  8. CSDN《某一程序员竟然吃过shi?让我们走进他的生活,揭露背后的故事》

    CSDN<某一程序员竟然吃过屎?我们走进他的生活,揭露背后的故事> ----------接下来让我们走进他的故事 到底是什么原因让他吃屎 这是这位程序员的自曝,我很好奇的不是他吃过屎,我在 ...

  9. 专访最强夫妻店:“神庙逃亡2”开发背后的故事

    摘要:Imangi近期发布了Temple Run 2,上架仅数小时即登顶App Store榜单.在做第一款游戏时Imangi只有三人,为了做出更好的游戏,不仅新添两名成员,更舍弃自家的游戏引擎,转投U ...

最新文章

  1. Linux 操作系统原理 — loop 伪设备
  2. 百练OJ:2808:校门外的树
  3. VBS教程:函数-FormatPercent 函数
  4. eclipse建java项目不见_秒建一个后台管理系统?用这5个开源免费的Java项目就够了...
  5. Mybatis逆向工程(代码生成器)及其简单使用——及其报错处理
  6. java根据距离算经纬度_java 根据两点经纬度来算距离
  7. 掌控人生的姑娘,从不活在PS里
  8. uchome的Ajax
  9. 用dxdiag命令show计算机系统配置
  10. 语音情绪识别.PDF
  11. Avatarify-人脸驱动项目在Linux环境中的实现
  12. H5+CSS+JavaScript入门学习
  13. 虚拟存储页面置换算法c语言,虚拟存储器管理页面置换算法模拟实验.doc
  14. 利用freemarker导出Excel(格式自定义)
  15. 1000个微信小程序源码分享
  16. 广义线性模型(GLM)
  17. 软件工程之PERT图 (AOA与AON)
  18. 【日常学习】XML文件约束,Tomcat服务器和HTTP协议
  19. 高等数学:第六章 定积分的应用(5)功、水压力和引力
  20. AirPlay经常投屏失败,安卓投屏逐渐超越ios?

热门文章

  1. Linux系统网速测速,Linux系统下的网络带宽测速
  2. 【SemiDrive源码分析】【X9芯片启动流程】08 - X9平台 lk 目录源码分析 之 目录介绍
  3. 31.SAP MII产品介绍(06)功能详解(04)数据服务和系统资源
  4. 别踩白块_前端H5游戏毕设
  5. springboot美食分享系统 毕业设计-附源码612231
  6. html导航栏动态图标,导航栏动态图.html
  7. c语言的int类型转换为(void *)类型
  8. 2021年广西甘蔗播种面积、产量及进口情况分析:广西甘蔗产量占全国甘蔗总产量的68.56%[图]
  9. 公民身份证号码的编排规则
  10. oracle mysql 卸载_Oracle完全卸载详解