1、比特币系统UTXO解读

UTXO(unspent transaction output)未花费的交易输出,这是比特币交易中核心概念。

UTXO是比特币拥有者的公钥锁定的一个数字,实际是是拥有者的公钥加密的数字,只有拥有者的私钥才能解开。

UTXO就是比特币,是比特币系统中虚拟货币的底层实现,也就是说比特币系统中没有一个虚拟货币的概念,只有UTXO。

UTXO可以用于支付,新的UTXO可以由挖矿或交易产生。说通俗一些,UXTO就是交易中交易接收者应该收到的支付金额和交易发起者的收到的找零。

UTXO存在全节点的数据库里
转账交易消耗自己的UTXO,同时生成新的UTXO,并用接收者的公钥锁定
比特币系统中用户的“余额”实际上并不直接存在,而是通过计算得来

2、比特币系统交易模型解读

(1)交易输出(UTXO)

  • 锁定的比特币数量
  • 锁定脚本(用接收者的公钥哈希)

(2) 交易输入(UTXO+解锁脚本)

  • 解锁脚本(发送者的签名和公钥)

(3)签名-对发送者和接收者的公钥哈希以及整个交易签名

简单交易模型图

3、交易全流程

  1. 起初,第一个挖出的区块里面包含了一个 coinbase 交易。在 coinbase 交易中,没有输入,所以也就不需要签名。coinbase 交易的输出包含了一个哈希过的公钥(使用的是 RIPEMD16(SHA256(PubKey)) 算法)
  2. 当一个人发起交易时,就会创建一笔交易。这笔交易的输入会引用之前交易的输出。每个输入会存储一个公钥(没有被哈希)和整个交易的一个签名。
  3. 比特币网络中接收到交易的其他节点会对该交易进行验证。除了一些其他事情,他们还会检查:在一个输入中,公钥哈希与所引用的输出哈希相匹配(这保证了发送方只能花费属于自己的币);签名是正确的(这保证了交易是由币的实际拥有者所创建)。
  4. 当一个矿工准备挖一个新块时,他会将交易放到块中,然后开始挖矿。
  5. 当新块被挖出来以后,网络中的所有其他节点会接收到一条消息,告诉其他人这个块已经被挖出并被加入到区块链。
  6. 当一个块被加入到区块链以后,交易就算完成,它的输出就可以在新的交易中被引用。

区块链基础:交易模型解读相关推荐

  1. 区块链 - 区块链基础知识:交易哈希链

    区块链 - 区块链基础知识:深入了解交易哈希链 本文的主题是执行有关交易哈希链. 交易池的角色以及 一个最长的区块链如何永远占据主导. 讨论的细节包括以下内容: 事务哈希链的实现细节 交易池的角色 为 ...

  2. AIADATA 独家深度解密:百度XuperChain开源区块链基础平台

    AIADATA 独家深度解密:百度XuperChain开源区块链基础平台 百度超级链Xuperchain正式宣布开源.根据官网显示,链内并行技术.可插拔共识机制.一体化智能合约等四大技术支撑开源,让区 ...

  3. 【区块链基础知识系列】 第6课 区块链之分片技术(sharding)-区块链扩容问题的良方

    进行区块链扩容的一个答案就是分片技术(Sharding).分片技术承诺通过改变网络验证的方式来增加吞吐量.分片技术独特于其他解决扩容的链上技术的关键特性,就是它可以进行水平扩容,也就是说,网络的吞吐量 ...

  4. 区块链指南 第2章 区块链基础

    目录: 2.1 区块链技术 区块链本质上是一个对等网络(peer-to-peer)的分布式账本数据库.区块链本身其实是一串链接的数据区块,其链接指针是采用密码学哈希算法对区块头进行处理所产生的区块头哈 ...

  5. 区块链基础知识与关键技术解析

    区块链基础 1. 区块链的来龙去脉     1.1 区块链技术起源     1.2 比特币产生背景与现状     1.3 数字货币概念     1.4 比特币技术原理 2. 区块链概念与产业现状   ...

  6. 区块链基础(简单学习)

      摘要:2008年,区块链技术走上了舞台.其因去中心化,透明可信等特点受到了科技界的关注,成为了近几年热议的话题.2014年,以太坊平台的出现将区块链技术推到了新的高度.区块链技术采用了分布式账簿, ...

  7. 区块链基础:分布式账本介绍

    区块链基础:分布式账本介绍 1.分布式账本是什么 2.商业账本扮演的角色 3.现行商业账本的问题 4.区块链是什么 5.区块链网络是如何工作的 6.区块链的商业利益 7.区块链的使用案例 8.你是否应 ...

  8. 区块链基础--工作量证明

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 区块链基础(6)–工作量证明1 我认为技术和共识构建了区块链,那么就由几个问题需要去解决,第一:如果由多个打包节点,那会 ...

  9. 《区块链开发指南》一一第1章 区块链基础

    第1章 区块链基础 区块链究竟是什么?狭义地说,区块链就是比特币的底层技术:不过,经过7年的发展,区块链已经不再"依附于"比特币,而是独立地发展成为了一种革命性的技术,比特币则是区 ...

  10. 私钥经过哈希计算可以产生公钥_「区块链基础概念100」:公钥和私钥 | 027

    免责声明:本文旨在传递更多市场信息,不构成任何投资建议.文章仅代表作者观点,不代表火星财经官方立场. 小编:记得关注哦 投资区块链,猛戳:火星财经App下载 来源:学习区块链 原文标题:「区块链基础概 ...

最新文章

  1. (四)协同过滤算法之基于用户的推荐算法python实现
  2. 世界上最美的40个小镇,你见过多少个?
  3. springboot幂等性_请问,springboot项目支付接口设计,如何保证支付的幂等性,并能给前端反馈友好的提示?...
  4. grep、sed命令使用记录
  5. ORACLE不完全恢复的几种情况
  6. php date hi,php中时间戳和日期格式的转换
  7. Linux学习第一篇之Linux系统安装——系统分区
  8. python 生成随机数: 随机整数,随机小数,0-1之间的小数
  9. Flex读取txt文件里的内容报错
  10. 打破多项存储世界记录,宏杉科技表示很淡定
  11. 如何快速推广你的博客
  12. 半导体封装测试英语词汇量的软件,半导体英语
  13. 动态规划——01背包——精卫填海
  14. 【rzxt】详细了解taskmgr.exe进程的基本信息
  15. Python 按时间顺序读取所选目录下文件
  16. 【单调栈】zjoj p1859子序列累加和
  17. 渐变多彩创意双十二活动方案主题PPT
  18. 多元微积分_stokes定理证明
  19. 拦截召唤神龙云文件,运行本地文件(侵删)
  20. python 单词翻译_Python翻译:我想在senten中翻译多个单词

热门文章

  1. android mcc 模拟,Android 读取MCC, MNC
  2. 如何删除github中的提交历史记录
  3. springboot starter自定义实现公共模块
  4. rman归档日志备份到磁盘并恢复的测试
  5. 基于 HTML5 WebGL 的 3D 网络拓扑图
  6. Shell 获取本月最后一天
  7. 供应链金融业务如何脱颖而出?
  8. 64位处理器_64位系统真的比32位系统快吗?
  9. MyBatis的优点和缺点
  10. wakeup_sources