《The Book of Satoshi》中本聪之书中文版连载(十三)

  • A+
所属分类:人物
摘要

你们中的任何一个早期采用者在早期都会产生数以万计的比特币,你是否愿意向龙头发送一些比特币以便让更多的人可以试用比特币?

《The Book of Satoshi》

原作者:PHIL CHAMPAGNE

中文翻译:陈雪刚

《The Book of Satoshi》中本聪之书中文版连载(十三)

四十一、关于各种交易类型

此帖比本文提供的其他帖更具技术性。但是,我选择包含它是因为它有助于解释为什么中本聪首次实现核心设计支持各种可能的交易类型,以避免将来的重大修改。

回复:交易和脚本:DUP HASH160。。。 平等检查

中本聪:June 17, 2010, 06:46:08 PM

“所以我正在编写一个解剖比特币wallet.dat的小工具,主要是因为我想更好地理解比特币的工作原理。

我看到交易的输出有一个值(比特币的数量)和一堆字节,它们通过比特币内置的类似Forth的脚本语言运行。例如:['TxOut:价值:100.00脚本:DUP HASH160 6fad ... ab90 EQUALVERIFY CHECKSIG']

第一:它让我有点紧张,比特币中有一种脚本语言,即使它是一种非常简单的脚本语言(没有循环,没有指针,只有数学和加密)。它让我感到紧张,因为它更复杂,并发症是安全的敌人。它还使创建第二个兼容的实现变得更加困难。但我想我可以克服这一点。

查看代码,通过在解释器的堆栈上按下签名然后运行TxOut脚本然后运行TxOut脚本来验证新交易(我做到了吗?)。

我可以编写代码来创建TxOut中任何有效脚本的交易吗?

例如。 我可以使用以下脚本创建一个TxOutOP_2DROP OP_ TRUE。。。 创造一个可以被任何人花费的比特币比特币类型的灵活性是否以这种方式编码?”——Gavin Andresen June 17, 2010, 11:38:31 AM

比特币的性质是这样的,一旦版本0.1发布,核心设计在其整个生命周期中都是一成不变的。因此,我想设计它以支持我能想到的每种可能的交易类型。问题是,每个东西都需要特殊的支持代码和数据字段,无论是否使用,并且一次只涉及一个特殊情况。这将是特殊情况的爆炸。解决方案是脚本,它概括了问题,因此交易方可以将其交易描述为节点网络评估的谓词。 节点只需要在评估是否满足发送者条件的情况下理解交易

该脚本实际上是一个谓词。它只是一个评估为真或假的等式。谓词是一个冗长而陌生的词,所以我称之为脚本。

付款接收方在脚本上进行模板匹配。目前,接收者只接受两个模板:直接支付和比特币地址。未来版本可以为更多交易类型添加模板,运行该版本或更高版本的节点将能够接收它们。网络中的所有节点版本都可以验证并将任何新交易处理成块,即使它们可能不知道如何读取它们。

该设计支持我多年前设计的各种可能的交易类型。托管交易,保税合同,第三方仲裁,多方签名等。如果比特币大量涌现,这些是我们将来想要探索的东西,但它们都必须在开始时设计确保以后可以使用

我不相信比特币的第二个兼容实现永远不是一个好主意。这么多的设计取决于所有节点在锁步中获得完全相同的结果,以至于第二种实现会对网络造成威胁。MIT许可证与所有其他许可证和商业用途兼容,因此无需从许可的角度重写它。

第二个版本对我来说是一个巨大的开发和维护麻烦。在没有第二个版本锁定的情况下升级网络时保持向后兼容性是很困难的。如果第二个版本搞砸了,用户体验会对两者都产生严重影响,尽管它至少会强化用户保留正式版本的重要性。如果有人准备分叉第二个版本,我将不得不提出许多关于使用少数版本的风险的免责声明。 这是一个设计,如果存在任何分歧,大多数版本都会获胜,对于少数版本来说这可能相当丑陋,我宁愿不进入它,只要只有一个版本,我就没有这个版本。

我知道,大多数开发人员不喜欢他们的软件分叉,但在这种情况下我有真正的技术原因。

“”我很钦佩脚本中的交易方案的灵活性,但我邪恶的小脑袋立即开始想到我可能会滥用它的方式。我可以在TxOut脚本中编码各种有趣的信息,如果非黑客攻击的客户端验证然后忽略这些交易,那么它将是一个有用的隐蔽广播通信通道。

这是一个很酷的功能,直到它变得流行,并且有人决定用数百万笔交易充斥支付网络以将最新的Lady Gaga视频传输给他们的所有朋友会很有趣。。。

这是交易费用的原因之一。如有必要,我们还可以做其他事情。”——gavinandresen on June 17, 2010, 07:58:14 PM

“你在这个设计工作多久了中本聪先生?这似乎是经过深思熟虑的,而不是那种你只是坐下来编写代码而没有进行大量头脑风暴和讨论的事情。每个人都有明显的问题在寻找洞,但它很好地保持 - )”——laszlo on June 17, 2010, 06:50:31 PM

“自2007年以来。在某些时候,我确信有一种方法可以做到这一点,根本不需要任何信任,并且无法忍受继续思考它。更多的工作是设计而不是编码。

幸运的是,到目前为止,所提出的所有问题都是我之前考虑和计划的事情。”——中本聪

四十二、第一个比特币龙头

嘉文安德森,现任首席核心比特币开发商,宣布他已经写了一个比特币龙头免费赠送每位客户5比特币。中本聪回答说,如果没有其他人想出来的话,他心里也有同样的想法。

回复:从FREEBITCOINS.APPSPOT.COM获取5个免费比特币

中本聪:June 18, 2010, 11:08:34 PM

对于我的第一个比特币编码项目,我决定做一些听起来很愚蠢的事情:我创建了一个放弃比特币的网站。它位于:https://freebitcoins.appspot.com/

每位客户5BTC先到先得,我已经用1,100个比特币开始存货。 一旦我确定它正常工作,我会添加更多。

为什么? 因为我希望比特币项目取得成功,而且我认为如果人们可以获得一些比特币来尝试它,那么它更有可能获得成功。等待可能令人沮丧直到你的节点产生一些比特币(这将在未来变得更加令人沮丧),并且购买比特币仍然有点笨重。

请尝试一下并获得一些免费比特币,即使你已经拥有比你知道更多的比特币。你可以得到一些,然后立即捐赠; 地址是:

15VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC ——Gavin Andresen on June 11

“第一个项目的绝佳选择,干得好。如果其他人没有做到这一点,我原本计划做这件事,所以当凡人太难以产生50BTC时,新用户可以立即获得一些比特币。捐款应该能够保持充实。显示器中显示天平的显示器鼓励人们充值。

您应该在页面上为那些想要为其添加资金的人提供捐赠比特币地址,理想情况下,只要收到某些内容,就应该更新到新地址。”——中本聪

后来,随着价值上涨。 中本聪建议将比特币水龙头减少到1比特币(1比特币)

回复:向FREEBITCOINS.APPSPOT.COM网站捐赠需要的比特币!

中本聪:July 16, 2010, 02:02:07 AM

“比特币龙头真的很好地处理了斜线...除了我已经没钱了钱。自昨晚重新装满水龙头以来,已有超过5000人从水龙头流出。

你们中的任何一个早期采用者在早期都会产生数以万计的比特币,你是否愿意向龙头发送一些比特币以便让更多的人可以试用比特币?我知道他们中的大多数都可能会丢失(我怀疑有很多slashdot lookey-loos不会长时间坚持使用他们的5比特币),但如果是这样,那么这只会增加价值你的其他比特币,无论如何......

基金捐赠地址

15VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC

根据捐款和slashdotting的持续时间,我可能不得不开始赠送bitnickels ......”Gavin Andresen on June 12, 2010, 07:15:46PM

5 BTC这些天似乎很多,也许正常的数量应该是12 BTC

这是一项重要的服务,因此如果生成太难,新用户至少可以得到一些东西。



延伸阅读:

《The Book of Satoshi》中本聪之书中文版连载(一)

《The Book of Satoshi》中本聪之书中文版连载(二)

《The Book of Satoshi》中本聪之书中文版连载(三)

《The Book of Satoshi》中本聪之书中文版连载(四)

《The Book of Satoshi》中本聪之书中文版连载(五)

《The Book of Satoshi》中本聪之书中文版连载(六)

《The Book of Satoshi》中本聪之书中文版连载(七)

《The Book of Satoshi》中本聪之书中文版连载(八)

《The Book of Satoshi》中本聪之书中文版连载(九)

《The Book of Satoshi》中本聪之书中文版连载(十)

《The Book of Satoshi》中本聪之书中文版连载(十一)

《The Book of Satoshi》中本聪之书中文版连载(十二)


文章声明:本文为火星号作者作品,不代表火星财经观点,版权归作者所有,如需转载,请提前联系作者!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: