首页 快讯 正文

比特币的合约策略有哪些类型(比特币合约原理)

wx头像 wx 2024-03-23 17:15:10 6
...

  前言:写完给身边比特币的合约策略有哪些类型的程序员朋友看比特币的合约策略有哪些类型了下,85%表示IQ不够用,并且认为不会有正常人能读到最后一段。我只能说,尽力了。

比特币的合约策略有哪些类型(比特币合约原理)

  如果你是中本聪

比特币的合约策略有哪些类型(比特币合约原理)

  假如你是2009年的中本聪,你已经找到了解决双重支付的方法,现在要设计比特币的转账功能了。你会怎么做呢比特币的合约策略有哪些类型?我的设计方案会是这样:

  发送方向比特币网络发一份广播,其内容是这样的:“从A地址转账1 BTC给B地址。同时附上A地址私钥的签名”。网络各节点收到广播,校验签名合法。于是从A地址扣掉1 BTC,给B地址加上1 BTC。

  简洁明了对不对?我猜你的设计方案也许和我差不多。幸亏你我都不是中本聪。如果是这样的设计,那么比特币的潜力将大打折扣,我们也无法看到今天区块链领域的蓬勃生息。让我们看看中本聪的设计方案:

  发送方向比特币网络发一份广播,其内容是这样的:“我要转账1 BTC,并且我能提供一段脚本,这段脚本作为钥匙可以打开这1 BTC上的锁;同时,我根据接收方的要求为这1 BTC加个新的锁”。

  网络各节点收到广播,运行脚本,发现确实能“开锁”。于是根据发送方的指令给这笔比特币换上一把“新锁”,这笔比特币也就有了新的主人。当接收方想使用这1 BTC时,只要能提供一段新的脚本作为钥匙打得开这把新锁就行。

  乍一看,中本聪的设计似乎非常繁琐和反直觉,然而这样的设计却大有道理。脚本是一种简单的计算机语言,比如Java就是一种脚本。比特 币的脚本可以表述的内容非常灵活,远远超出了一对一转账的范畴。例如:A可以约定必须由收款人B和担保人C同时签名才能支配某笔比特币(担保交易),也可 以约定B、C、D中任意两人签名就能支配(联名账户);A可以约定B必须在一年后才能动用某笔比特币(延时支付),也可以约定任何人都能支配(撒钱)或者 都不能支配(烧钱)。通过这套内置的脚本编程语言,你可以灵活地编写出各种各样的约定——而这其实就是简单的智能合约。用比特币脚本编写的合约系统,使得 比特币成为了人类历史上第一种可编程的货币。

  真正的中本聪是这么说的

  2010年,当发现了比特币的内置脚本系统后,有人在bitcointalk上发帖表示了惊讶和不解:“比特币的脚本让我有点紧张,这过于复杂了,而复杂是安全的天敌”。此君不是别人,正是后来成为中本聪继任者的Gavin Andresen。中本聪是如此回复他的:

  大意是说:我希望比特币在0.1版就能拥有稳定的架构,未来不需要再做底层改变。在过去几年设计比特币的过程中,我发现只有使用脚本系统才能完成我希望支持的各种复杂交易类型——担保交易、连带合同、第三方仲裁、多方签名等等。

  放在今天,也许中本聪会直接说:“比特币需要脚本,有了脚本,就有了智能合约”。

  比特币脚本的真容

  说了这么多虚的,来点干货。现在请把你的大脑当做一台基于堆栈的解释器和虚拟机,看看比特币的脚本到底是怎么运作的。

本文地址:https://www.changhecl.com/485340.html

退出请按Esc键