IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 区块链知识拼图:区块链中的记账,以bitcoin为例 -> 正文阅读

[区块链]区块链知识拼图:区块链中的记账,以bitcoin为例

什么是UTXO

我们日常生活中的账本一般会记录当前用户的账户余额等状态,但是bitcoin不同,它并不存在一个统一维护的当前状态。它采用了一种名为UTXO(Unspent Transaction Output)的账户模式。Bitcoin中一笔交易(Transaction)最基本的组成是:若干的输入、若干个输出。这里的输入来自于交易发起者之前所收到的来自其他交易人的输出(比如说A转账10元给B,那么B下次进行交易转账的时候,交易中包含的输入为10)。交易输出即对此次交易输入总和进行重新分配。

值得注意的是,由于需要支付矿工手续费,重新重新分配后的总和必定小于之前的交易输入总和,而其中的差值便是交易手续费。当一笔交易输出未被下一次的交易调用时(还没被花掉),这个输出就成了UTXO,就比如B接收的10元输入没出现在之后任何一个交易中。文字描述比较绕,可见下图(省略手续费):
请添加图片描述

UTXO的特点就是每次被交易调用后,必须全部花光,花不光的部分以找零的方式重新构造一个新的UTXO(如图中输出给John的5块钱)。至于如何确认某个用户有多少余额,最直观的做法就是遍历所有当前的UTXO,其总和便是余额(具体细节以后再深入学习,留坑)。

交易中的脚本

真正的交易结构不像上面的图那么简单。在bitcoin中,系统需要保证Bob在引用John给他的UTXO时的合法性(即John能合法的引用此UTXO,而别人无法正常引用)。在bitcoin中,使用了一种满足图灵非完备性的脚本语言来保证UTXO使用的合法性。具体的分为两类脚本:一个锁定脚本和一个解锁脚本。

锁定脚本位于交易的输出部分(UTXO),这样就可以把交易输出看成如下结构[1]:请添加图片描述
而解锁脚本位于交易的输出部分,解锁脚本用于解锁此次交易所需要的UTXO的锁定脚本,具体结构如下图[1]:
请添加图片描述
解锁脚本和锁定脚本相互协作,就保证了UTXO使用的合法性。其协作的过程可以用下图表示。如图所示,解锁脚本包含了UTXO引用者的签名和公钥,而锁定脚本包含了正确引用者的公钥哈希。将这两个脚本语言如此拼接,便完成了一个完整的验证脚本。若脚本的执行结果为True,则此次引用合法。
请添加图片描述

参考文献

[1] https://www.huweihuang.com/blockchain-notes/blockchain/blockchain-transactions.html

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:01:46  更:2022-01-14 02:01:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:57:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码