当前位置:网站首页 > 加密货币 > 正文

数字货币量化交易系统搭建学习--2 加密货币

 #创作灵感#

技术笔记,巩固学习,仅供自己参考

学习视频

6.3【视频讲解】加密货币_哔哩哔哩_bilibili

上述视频up的博客

萧曵 丶-CSDN博客

0-货币的发展

1-比特币

1 什么是比特币?

比特币(Bitcoin,简称BTC)是一种去中心化的数字货币,由中本聪(Satoshi Nakamoto)在2009年创建。比特币通过一种称为区块链的技术进行交易和管理。


2-现有货币系统vs比特币

1 现有货币系统的核心问题

  • 被掌控在单一机构手中,容易被攻击自身的价值无法保证,
  • 容易出现波动
  • 无法匿名化交易,不够隐私

2 比特币网络特点

  • 去中心化:没有任何独立个体可以对网络中交易进行破坏,任何交易请求都需要大多数参与者的共识
  • 通胀预防:比特币的发行需要通过挖矿计算来进行,发行量每四年减半,总量上限为 2100万枚
  • 匿名性:比特币网络中账户地址是匿名的,无法从交易信息关联到具体的个体,但这也意味着很难进行审计

3-比特币的基本原理

1 重要概念

私钥:

· 本质上是一个随机数,由32个byte(256bits)组成的数组

· 私钥的总数=2^256,这个数量已经超过了宇宙中原子的总数

公钥:

钱包地址:

类比银行账户:

比特币的地址是公开的、透明的,但私钥是需要严格保密的!!!

挖矿

· 挖矿是增加比特币货币供应的一个过程

· 矿工们需要将交易进行确认,形成新的区块,串联到区块链中

· 目前,每10分钟左右生成一个不超过1MB大小的区块

· 每个区块的奖励最初是 50 个比特币,每隔 21万个区块自动减半,即4年时间

· 最终比特币总量稳定在 2100 万个,预计2040年开采完

挖矿过程

· 参与者综合上一个区块的 Hash 值,上一个区块生成之后的新的验证过的交易内容,再加上自己猜测的一个随机数X,一起打包到一个候选新区块,让新区块的 Hash 值小于比特币网络中给定的一个数

· 谁先猜测出这个随机数X,谁就有记账权,并获得奖励

 Hash函数(随机数X,上一个区块Hash值,交易内容) < 给定的数 

· 这是一道面向全体矿工的“计算题”,这个数越小,计算出来就越难。

挖矿的重要性:

· 挖矿不仅仅是为了获取奖励,它还是比特币网络的安全性和去中心化的基础。通过参与挖矿,矿工们帮助维护比特币的交易网络和账本的完整性。

· 挖矿的难度会根据全网算力的增长而动态调整,以保证新区块大约每10分钟生成一个,这也保证了比特币的稳定性和预定的货币政策。

2 私钥、公钥和地址之间的关系

· 公钥生成地址,验证发送交易的地址是否和该公钥生成的地址一致
· 公钥验证私钥的签名,用来验证该交易是否使用了正确的私钥签名
· 私钥生成公钥是成对出现,公钥可以生成对应的唯一地址,这样就能确认了该地址发送的交易是否使用了对应的私钥

3 比特币一条交易信息包含的信息

付款人钱包地址

付款人对交易的签字确认:确保交易内容不被篡改

付款人的公钥

付款人资金的来源交易ID:从哪个交易的输出作为本次交易的输

交易的金额:多少钱,跟输入的差额为交易的服务费

收款人钱包地址

4 交易示例

https://blockexplorer.comhttps://blockexplorer.com


4-示例交易步骤*

  1. 发起交易
    • Alice 想给 Bob 转账 0.5 比特币 (BTC)。
    • Alice 使用她的比特币钱包软件创建一笔交易,指定 Bob 的比特币地址和转账金额 0.5 BTC。
    • Alice 的钱包生成一笔交易,并使用她的私钥对交易进行数字签名,以证明这笔交易确实是她发起的。
  2. 广播交易
    • Alice 的钱包将签名后的交易广播到比特币网络。
    • 比特币网络中的节点(矿工和全节点)接收到这笔交易并进行验证。
  3. 验证交易
    • 节点验证 Alice 的交易是否合法。具体步骤包括:
      • 检查 Alice 的账户是否有足够的比特币余额(至少 0.5 BTC)。
      • 验证 Alice 的数字签名是否有效。
      • 确保交易没有双花(即 Alice 没有尝试同时使用同一笔比特币进行多次交易)。
  4. 打包交易
    • 一旦交易被验证为有效,它将被放入一个内存池中,等待被矿工打包到区块中。
    • 矿工选择一些交易(包括 Alice 的交易)并将其打包到一个新的区块中。
  5. 挖矿和确认
    • 矿工通过解决一个复杂的数学难题(工作量证明)来竞争创建新的区块。这个过程被称为挖矿。
    • 第一个解决难题的矿工将新创建的区块广播到整个网络。
    • 其他节点接收到新区块并验证其中的交易。如果区块和交易都被验证为有效,则区块被添加到区块链中。
  6. 交易确认
    • Alice 的交易被包含在一个新生成的区块中,并被添加到区块链上。
    • Bob 的钱包收到交易,并显示 0.5 BTC 的入账。此时,这笔交易被认为已经有了一个确认。
    • 通常情况下,比特币网络认为交易有 6 个确认是安全的,即交易所在区块之后又有 5 个新区块被添加到区块链上。

到此这篇数字货币量化交易系统搭建学习--2 加密货币的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 时间序列预测某加密货币_时间序列预测典型算法2024-10-30 21:39:45
  • 金融支付系统中的区块链与加密货币_金融支付系统中的区块链与加密货币的关系2024-10-30 21:39:45
  • 深入探索CryptoCoinTracker加密货币追踪应用2024-10-30 21:39:45
  • 【免费API】加密货币 cryptocurrency2024-10-30 21:39:45
  • 强大而灵活的加密货币交易策略回测框架_强大而灵活的加密货币交易策略回测框架是什么2024-10-30 21:39:45
  • 用 Python 创建你自己的加密货币(附源码)2024-10-30 21:39:45
  • 加密货币为什么有价值?_加密货币为什么有价值呢2024-10-30 21:39:45
  • 区块链技术和加密货币_区块链技术和加密货币学者观点2024-10-30 21:39:45
  • 2024 年领先的 10 种 AI 加密货币2024-10-30 21:39:45
  • Go语言的区块链与加密货币实战_go语言 区块链2024-10-30 21:39:45
  • 全屏图片