清华大学金融科技研究院孵化
金融科技与金融创新全媒体

扫描分享

本文共字,预计阅读时间

比特币是基于P2P网络,通过网络将数据发送到每个节点。传播对象分为两类:交易和模块。两个目标类型都由一组目标数据处理,并通过网络传播到所有节点。交易对货币实施组合、分隔和汇出操作。模块记录审查后有效的交易。

开销。假设爱丽丝希望汇出1个比特币给鲍勃,2个给卡罗尔。爱丽丝的比特币存储在之前的交易中,该交易设有收款人的公开密钥。为了花出比特币,爱丽丝创造一个她至今没有花出的这类货币的新交易。例如,她可以用一个数字签名授权4个从戴安娜和埃德加处收到比特币作为她新交易的投入资金。在产出方面,她指定1个给鲍勃,2个给卡罗尔,4.99的"找零"给了她自己。在这个例子中,爱丽丝选择了留下0.01的比特币,作为最初审核人的交易费用。

审核。每道程序都需要通过验证,并且就重复支付进行核对,交易才得以通过审核。审核通过后,交易就被并入官方发布的模块当中。任何人可以创造这样的模块,并设立两项激励,来吸引审核人完成模块创造:(1)交易费用采集;(2)新币的铸造。

铸币。随着模块的创造,比特币的货币供给扩张可能会包含一个特殊的代际交易(但无明确的投入),这为模块创造者的努力提供了时间(现在50个,并迅速减少)。由于资金的原因,模块的创造比率受操作难度的限制,只能努力保持整个网络当中每10分钟一个模块的创造比率。因此,比特币交易验证对所有人来说都有利可图,但是运算量特别大。注意:"坏"的模块将会被同行否定,无奖励。

交易和脚本语言:开销的工具

比特币系统的主要优势之一是交易的投入和产出无需固定模式,但是需要使用一个近似Forth语言的堆叠式的灵活的脚本语言。我们注意到这个交易负责人不是用户,而是匿名的公开秘钥,用户可自主设置秘钥。

交易。交易通过将接收到的价值从投入转换到产出来压缩比特币的流通(例外:代际交易均无明确的投入)。"投入"等同于之前的交易输出(作为早先交易的重新表述和输出的参考指数),并拥有其全部价值。产出特指一个数量;产出在"总量上不能超出投入"。二者也包含了可执行脚本片段,在投入方面为赎回资金流入,在产出方面为指定收款人。

脚本片段。脚本语言是一个近似Forth语言的堆叠式的语言。运算符包括类似于SHA1(用散列替代堆叠顶层的项目)和CHECKSIG(从堆叠中取出ECDSA公开密钥和签名,从交易数据中隐晦定义的信息中确认签名,并且在堆叠中留下"真"或"假"的结论)的密码操作。为保证交易的有效性,其产出不能超出投入,同时其发行人必须给每个投入拟定标题。标题用计算与和产出(一笔较早交易)脚本片段串级的投入脚本片段来检验。

标准过户。为了说明基于堆叠的脚本语言的使用方式,另外,为了指定过户的接受者并实施,我们研究了标准比特币交易过户的例子。

[Source]

本文系未央网专栏作者发表,属作者个人观点,不代表网站观点,未经许可严禁转载,违者必究!

本文为作者授权未央网发表,属作者个人观点,不代表网站观点,未经许可严禁转载,违者必究!

本文版权归原作者所有,如有侵权,请联系删除。

评论


猜你喜欢

扫描二维码或搜索微信号“iweiyangx”
关注未央网官方微信公众号,获取互联网金融领域前沿资讯。