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 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 区块链与比特币学习笔记二 -> 正文阅读

[区块链]区块链与比特币学习笔记二

什么是区块链

在《区块链技术和应用发展白皮书2016》中对区块链的解释是:
狭义来说,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成一种链式数据结构,并以密码学方式保存的不可篡改和不可构造的分布式账本。
广义来说,区块链技术是利用块链式数据结构来验证和存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全性、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
区块是链式结构的基本数据单元,聚合了所有交易相关信息,主要包含区块头和区块主题两个部分。在区块头中主要由父区块哈希值、时间戳、默克尔树根等信息构成;区块主体一般包含一串交易的列表。

分叉

对于去中心化系统,升级比较困难,需要协调网络中的每一个参与者。(我的理解是:分布式账本的记账方式或内容的升级与修改)软件升级意味着运行逻辑的改变,但在bitcoin系统中升级必然会导致不同节点在一定的时间内运行不同的版本,产生分叉。
分叉包含两种:软分叉和硬分叉。
软分叉意味着升级后的代码可以向前兼容,对于区块链来说:这意味着在新的规则下产生的区块仍然能被旧的结点接受读懂;而硬分叉则表示新的代码逻辑无法向前兼容,即新规则下的节点产生的区块不被旧节点接受。

软分叉

提到了软分叉的向前兼容,这就表示无论是新规则还是旧规则下的节点都运行在同一条区块链下,不会产生新的链,这对系统的影响就较小。而软分叉的缺点就在于为了保证能够向前兼容,它不能够新增字段,只能够在现有的数据结构下修改,这意味着能够升级的内容十分有限。而在这些限制下,让软分叉的升级方案十分复杂,往往容易产生更多的bug,导致可维护性很差。
对于Bitcoin而言,已经发生过多次软分叉,像BIP-34,BIP-65,BIP-66,BIP-9等。这些称为BIP的全称叫做(Bitcoin Improvement Proposal),即bitcoin改进建议,由bitcoin社区成员针对比特币提出的一系列改进建议。

《区块链技术及应用》中介绍了BIP-34的软分叉过程:在旧版本中,存在一个无意义的字段“coinbase data”,矿工不会去验证该字段的内容。而BIP-34升级的新版本则要求该字段必须包含区块高度,同时将版本信息由“1”修改为“2”。这个升级过程包含三个阶段:
第一阶段:矿工将版本号修改为“2”,此时所有矿工验证区块时,按照旧的规则验证,即不关心“coinbase data”字段内容,所有矿工不论以新规则还是旧规则打包区块,均可以被整个网络接受。
第二阶段:最新产生的1000个区块中,版本号为“2”的区块个数超过75%时,则要求版本号为“2”的矿工必须按照新的规则打包区块,升级的矿工收到版本号为“2”的区块时,只会接受“coinbase data”字段包含区块高度的区块,对于版本号为“1”的区块,仍然不校验该区块字段并接受。
第三阶段:如果新产生的1000个区块中,版本号为“2”的区块个数超过95%,则升级的矿工只接受版本号为“2”的区块,并会对“coinbase data”字段进行校验,版本号为“1”的区块则不被接受,以此来逼迫剩余少量矿工进行升级。

硬分叉

硬分叉不能够向前兼容,旧版本的矿工会因为不能够验证新版本的区块而被拒绝接受,并且只能接受旧版本矿工打包的区块。但新版本产生的区块会被新版本的矿工所接受,这样新版本保存的区块和旧版本保存的区块则会渐行渐远,形成两条链。
对于硬分叉而言,它的方案设计简单,可升级的内容多,但是若对于升级的方案往产生了分歧,容易分裂正常运转的生态。
2017年8月1日的硬分叉,产生了一条新的链,也就是如今的“比特币现金”(BCH)。这一次硬分叉的背后,就有着开发者和矿工对于bitcoin扩容方案上的分歧。许多接触过bitcoin的也许知道,比特币全球每秒只能完成大约7笔交易,这是因为比特币区块大小为1MB,以每十分钟一个区块的速度增长计算得来的。(插一局题外话:对于很多区块链记账技术似乎都存在着记账延迟的问题,3.6号以太坊大涨还出现了未确认交易数一度超过十万笔)。对于初期的bitcoin,1MB的区块大小足够打包出块间隔内产生的所有交易,但如今,这种处理速度已经不能满足需求。对于开发者和矿工而言,bitcoin的改进就十分重要。但二者的分歧就在于:矿工希望对区块进行大幅度扩容,这样每一个区块交易能够获取的手续费就更多。而对于开发者而言,大幅度的扩容犹如“扬汤止沸”,并且区块变大会降低普通矿工的参与度,进而导致去中心化程度降低。于是开发者又提出了隔离见证方案:将交易分叉两个部分,一部分是交易信息,另一部分是见证信息,将这两个部分信息分开处理。但这种隔离见证方案会让小额交易不通过区块确认,让矿工能够获取的手续费降低。二者在升级方案上产生了分歧,并且在两次商讨之后最终没有达成共识。最终在2017年8月1日,比特大陆投资的矿池ViaBTC团队最先采用了比特大陆提出的UAHF(用户激活的硬分叉)方案,挖出了第一个新版本的区块,对比特币区块链进行了硬分叉,自此比特币的分叉币比特币现金诞生。比特币现金的区块链的区块容量有8MB,但没有采用隔离见证方案。

哈希运算

区块链账本数据主要通过父区块哈希值组成链式结构来保证不可篡改性。

哈希算法即散列算法,基本功能是将任意长度的输入通过一定计算,生成一个固定长度的字符串,输出的字符串称为该输入的哈希值。

哈希运算的特性:正向快速、输入敏感、逆向困难、强抗碰撞。
参考:区块链原理
所谓的正向快速、逆向困难其实指的是哈希算法是一种单向函数:通过输入可以很容易得到输出,但是通过输出很难反推出输入。

一些常用的哈希算法特性如下:

哈希算法输出长度(bit)输出长度(字节)
MD5128 bit16 bytes
RipeMD160160 bit20 bytes
SHA-1160 bit20 bytes
SHA-256256 bit32 bytes
SHA-512512 bit64 bytes

例如比特币所使用的哈希算法有:SHA-256和RipeMD160。
SHA-256的理论碰撞概率是:尝试2的130次方的随机输入,有99.8%的概率碰撞。注意2130是一个非常大的数字,大约是1361万亿亿亿亿。以现有的计算机的计算能力,是不可能在短期内破解的。

比特币使用两种哈希算法,一种是对数据进行两次SHA-256计算,这种算法在比特币协议中通常被称为hash256或者dhash。

另一种算法是先计算SHA-256,再计算RipeMD160,这种算法在比特币协议中通常被称为hash160。

区块链因其不可篡改而具有使用价值,其不可篡改的实现也是通过哈希运算来实现的。
在这里插入图片描述

对于每个区块中的每一笔交易,都会有一个相对应的哈希值。而区块中每一笔交易的哈希值会通过计算得到Merkle Hash,只要修改了任意一个交易或字节、调换了交易的顺序,都会导致Merkle Hash验证失败。

永续合约

本文一切内容均不构成任何投资意见或建议。
参考:永续合约介绍
传统的合约往往都有到期交割的日子,往往是月份或是季度进行交割,但永续合约顾名思义没有交割日,所持有的合约可以一直持仓下去。因其无需交割的特点,永续合约在区块链交易所中成为了主流的交易合约。

永续合约是由BitMEX首创。相较于普通交割合约,永续合约需要解决期货价格偏离现货价格的问题。在交割合约中交割时刻期货和现货价格是一样的,虽然购买者会在交割时产生一定的盈亏,但是正因这个特点,会存在着一部分套利手控制期货和现货的差价,使交割合约的价格往往不会太背离现货价格。但永续合约不存在固定的交割日,所以BitMEX在创造永续合约时规定了手续费规则旨在控制永续合约的价格贴近现货价格:

BitMEX的做法是每8小时让多空双方之间支付资金费用。它的基本思想是,在一个时间段内,如果永续合约价格高于现货价格,说明多头势能较强,于是多头将向空头支付资金费用,反之,空头向多头支付资金费用。资金费率假设是0.01%,那么每个交易员按照持仓数量计算他将支付或收取的资金。由于多空持仓总量永远是相等的,因此,资金费用并不是由交易所收取,而是在多空双方之间转移。

BitMEX将BTC利率定为年化3%,并按此计算资金费率。资金费率计算公式比较复杂,且与盘口流动性相关,总的来说,只要拉到足够长时间,总是多头向空头支付资金费用,且牛市期间支付的费率更高。
当期现价格拉大时,资金费率也随之拉大。如果要避免支付资金费用,可以提前平仓,这样就相当于拉近了期现价差。从实际市场价格观察,各交易所的永续合约价格与现货价格几乎完全贴合,说明永续合约很好地跟踪了现货价格。
而在参与永续合约的交易前,了解资金费率的计算规则以及手续费收支规则是有必要的。

套利

由于永续合约存在着可以永久性持仓以及周期性收支手续费的特点,所以永续合约中也存在着一种十分简单的套利方法,在介绍这个方法之前需要普及几个常识:(以本人观点出发,若有偏差或错误请指正!)

什么是期货?

期货主要不是货,而是以某种大众产品如棉花、大豆、石油等及金融资产如股票、债券等为标的标准化可交易合约。
期货和现货存在着保证金比例不同、交易合约不同以及交易基数不同的区别。

这样介绍也许会有一点懵,所谓的期货和现货之间究竟有什么区别呢。举一个不恰当的例子:
你用100元去数字黄金店中购买黄金,虽然你没有拿到黄金,但是它属于现货->黄金确实属于你了。
你用100元去某交易所购买某黄金指数或基金,你没有拿到黄金,实质购买的只是一种可交易的合约。

仔细理解起来,其实期货并不是实际存在的货,而是一种合约,是一种虚拟化的可交易的“货”,期货与合约的存在,让做空成为可能。

什么是做空?

也许很多没有炒股理财经验的朋友只听说过做空,但是并不知道什么是做空。做空一次火出圈还是在2020年浑水做空瑞辛咖啡一事。用一句话概括这件事就是:

浑水通过一纸长达89页的报告指控瑞辛咖啡存在业绩造假,瑞辛在后续自查与调查中证实业绩造假从而股价大跌和退市。

在这里插入图片描述
这一句话其实可以产生很多的疑问:
1.浑水为什么要做空瑞辛咖啡?->有利可图
2.瑞辛咖啡股价大跌,钱是怎么赚的?->做空

做空违背了大多数人心中只有涨才是赚钱的理念,它是一种跌才是赚钱的实现。它往往依靠期货合约实现,举个例子:

小明用100元作为保证金向交易所抵押借了某价格为1元的股票100股并抛售。(这实质上就是一种合约) 小明:支出100,收入100
由于市场原因,该股票跌到0.9元。
小明用90元购买100股该股票还给交易所拿回100元保证金。 小明:支出90 收入100

上面的例子小明实际利润为10元,他赚钱的趋势是该股下跌,完成了一个简单的做空操作。

通过这个例子可以看出,浑水做空瑞辛也是同理,只不过浑水让瑞辛股票下跌是人为因素,在做空前,浑水一定通过合约抛售了大量瑞辛股票,直到瑞辛股价大跌后再买入兑现。

什么是对冲?

对冲即特意减低另一项投资风险的投资。
在实际操作上,即购买两种走势往往是互斥的股票实现对冲,这样无论股价如何波动,所受到的影响都会降低。

对于投资人员来说,外汇市场中美元和非美货币往往存在着负相关关系:即美元走强,非美货币走弱;美元走弱,非美货币走强。同时购买美元和非美货币即一定程度上实现了对冲。

套利的实现

结合上述的永续合约,套利的实现如下:

假设启动资金为20w元:
1.取10w元购买现货商品。
2.取额外的10w元以杠杆倍率为1做空同现货商品的永续合约期货

在上述操作下,现货和做空的永续合约实现了100%的对冲,即无论该商品价格如何波动,盈亏都为0。
由于在永续合约的介绍中说到:

BitMEX将BTC利率定为年化3%,并按此计算资金费率。资金费率计算公式比较复杂,且与盘口流动性相关,总的来说,只要拉到足够长时间,总是多头向空头支付资金费用,且牛市期间支付的费率更高。

并且由于永续合约存在着周期性的手续费收支,用10w进行做空的部分便能源源不断地收到多头方支付的手续费,实现套利。(当然,若是走势上是大跌行情,也存在着一定时期内空头人数大于多头人数,存在着亏的风险。)

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:49:37  更:2022-08-06 10:50:16 
 
开发: 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年12日历 -2024/12/28 3:30:43-

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