2023-11-02 15:24:37
深入一点来讲,比特币脚本存在的意义是让每笔交易合法化,这个合法化不是人工审核而是有脚本自动执行校验的,脚本分为锁定脚本和解锁脚本,概念比较复杂,所以大家掌握起来比较困难,但是比特币又是一个值得投资的项目,现在全球数字货币市场中排在第一名,其综合实力还有投资价值都很高,所以一些新手投资者还是想要了解比特币脚本,投资比特币,那么新手小白如何理解比特币的脚本?下文211Coin小编为大家讲解。
比特币脚本是一种基于栈的脚本语言,不是图灵完备的,在比特币没有账户的概念,谁拥有这笔交易的输出谁就可以花费这笔交易中的比特币,为了证明拥有这笔交易的输出就需要提供密钥接受验证,验证通过就可以花费这笔交易的输出。
其基本的设计思路是,谁能提供一个签名和一个公钥,让这个脚本运行通过,谁就能花费交易中包含的BTC。
执行的脚本由输入和输出拼接而成,如下图所示;
比特币提供了三种输入输入脚本的形式,分别是PaytoPublishKey,PaytoPublishKeyHash和PaytoScriptHash。
公钥支付(PaytoPublishKey)
输出脚本直接给出了收款人的公钥,输入脚本提供了用私钥对整个交易的签名,最后通过OP_CHECKSIG验证。我们知道签名算法是私钥签名公钥验证,如果通过验证,则证明这个行为确实是私钥拥有者所为,在这个例子中,花费交易用私钥对这笔交易进行签名,而上一笔输出交易用公钥对这笔花费交易的私钥进行验证,验证通过后,就可以证明这个交易确实是私钥拥有者做出的,并非冒牌。
可以说每笔交易都有两个部分—钥匙(用于给保险箱开锁)和锁。您需要用钥匙打开包含要发送的支票的箱子,然后将新的支票添加至另一个使用不同锁的新箱子。要花掉新箱子里面的钱,您需要另一把钥匙。
就这么简单。系统中的锁的类型可能会有一些变化。有些保险箱需要您提供多个多个钥匙,其他保险箱则需要您证明您知道某个密码,总之可以设定很多条件。
我们的钥匙就是我们所说的scriptSig,锁则是我们所说的scriptPubKey。如果我们更详细地观察这些组件,我们会发现它们实际上由数据位和代码块组成。当它们结合在一起时,就形成了一个小程序。
当您进行交易时,您就是在向网络广播该组合。每个接收到这笔交易的节点都将检查这个程序,该程序将告知节点这比交易是否有效。如果无效,交易就会被废弃,您将无法使用锁定的资金。
您持有的支票(代币)被称为未花费的交易输出(UTXO)。只要能提供与这把锁相配的钥匙,任何人都可以使用这笔资金。具体来说,钥匙是scriptSig,锁是scriptPubKey。
如果UTXO在您的钱包内,它们可能会有一个条件,即只有能证明该公钥所有权的人才能解锁这些资金。如需解锁资金,您需要提供一个包含数字签名的scriptSig,使用映射到scriptPubKey中指定公钥的私钥。一切很快就会变得清晰起来。
上述内容为大家介绍了新手小白如何理解比特币的脚本?通过211Coin小编的讲解,相信不少人都对比特币脚本还有运作方式有了大概了解,其实这一部分涉及到代码信息,所以在进行操作的时候一些投资者可能不是很熟练,这也让投资过程遇到阻拦。不过深入研究比特币后,您就会开始理解为何它具有如此大的潜力,交易可能有多个不同的组成部分构成,通过操纵这些构建区块,用户可极其灵活地为使用资金的方式及时间设定条件。
2682