A. 区块链入门必备108知识点
区块链入门必备108知识点
(欢迎同频者交流)
1、什么是区块链
把多笔交易的信息以及表明该区块的信息打包放在一起,经验证后的这个包就是区块。
每个区块里保存了上一个区块的 hash值,使区块之间产生关系,也就是说的链了。合起来就叫区块链。
2.什么是比特币
比特币概念是2009年 中本聪提出的,总量是2100万个。比特币链大约每10分钟产生一个区块,这个区块是矿工挖了10分钟挖出来的。作为给矿工奖励,一定数量的比特币会发给矿工们,但是这个一定数量是每四年减半一次。现在是12.5个。照这样下去2040年全部的比特币问世。
3.什么是 以太坊
以太坊与比特币最大的区别是有了智能合约。使得开发者在上边可以开发,运行各种应用。
4.分布式账本
它是一种在网络成员之间共享,复制和同步的数据库。直白说,在区块链上的所有用户都有记账功能,而且内容一致,这样保证了数据不可篡改性。
5.什么是准匿名性
相信大家都有钱包,发送交易都用的钱包地址(一串字符串)这就是准匿名。
6.什么是开放透明性/可追溯
区块链存储了从 历史 到现在的所有数据,任何人都可以查看,而且还可以查看到 历史 上的任何数据。
7.什么是不可篡改
历史 数据和当前交易的数据不可篡改。数据被存在链上的区块上,有一个hash值,如果修改该区块信息,那么它的 hash值也变了,它后边的所有区块的hash值也必须修改,使成为新的链。同时主链还在进行交易产生区块。修改后链也必须一直和主链同步产生区块,保证链的长度一样。代价太大了,只为修改一条数据。
8.什么是抗ddos攻击
ddos:黑客通过控制许多人的电脑或者手机,让他们同时访问一个网站,由于服务器的宽带是有限的,大量流量的涌入可能会使得网站可能无法正常工作,从而遭受损失。但区块链是分布式的,不存在一个中心服务器,一个节点出现故障,其他节点不受影响。理论上是超过51%的节点遭受攻击,会出现问题。
9.主链的定义
以比特币为例,某个时间点一个区块让2个矿工同时挖出来,然后接下来最先产生6个区块的链就是主链
10.单链/多链
单链指的是一条链上处理所有事物的数据结构。多链结构,其核心本质是公有链+N个子链构成。只有一条,子链理论上可以有无数条,每一个子链都可以运行一个或多个DAPP系统
11.公有链/联盟链/私有链
公有链:每个人都可以参与到区块链
联盟链:只允许联盟成员参与记账和查询
私有链:写入和查看的权限只掌握在一个组织手里。
12.共识层数据层等
区块链整体结构有六个:数据层,网络层,共识层,激励层,合约层,应用层。数据层:记录数据的一层,属于底层技术; 网络层:构建区块链网络的一种架构,它决定了用户与用户之间通过何种方式组织起来。共识层:提供了一套规则,让大家接收和存储的信息达成一致。激励层:设计激励政策,鼓励用户参与到区块链生态中;合约层:一般指“智能合约”,它是一套可以自动执行,根据自己需求编写的合约体系。应用层:区块链上的应用程序,与手机的app类似前分布式存储研发中心
13.时间戳
时间戳是指从1970年1月1日0时0分0秒0...到现在的当前时间的总秒数,或者总纳秒数等等很大的数字。每个区块生成时都有一个时间戳,表明生成区块的时间。
14.区块/区块头/区块体
区块是区块链的基本单元,区块头和区块体是区块链的组成部分。区块头里面包含的信息有上一个区块的hash,本区块的hash,时间戳等等。区块体就是区块里的详细数据。
15.Merkle树
Merkle树,也叫二叉树,是存储数据的一种数据结构,最底层是所有区块包含的原始数据,上一层是每个区块的hash值,这一层的hash两两组合产生新的hash值,形成新的一层,然后一层层往上,-直到产生一个hash值。这样的结构可以用于快速比较大量的数据,不需要下载全部的数据就可以快速的查找你想要的最底层的 历史 数据。
16什么是扩容
比特币的一个区块大小大约是1M左右,可以保存4000笔交易记录。扩容就是想把区块变大,能保存更多的数据。
17.什么是链
每个区块都会保存上一个区块的 hash,使区块之间产生关系,这个关系就是链。通过这个链把区块交易记录以及状态变化等的数据存储起来。
18.区块高度
这个不是距离上说的高度,它指是该区块与所在链上第一个区块之间相差的区块总个数。这个高度说明了就是第几个区块,只是标识作用。
19.分叉
同一时间内产生了两个区块(区块里的交易信息是一样的,只是区块的hash值不一样),之后在这两个区块上分叉出来两条链,这两条链接下来谁先生成6个区块,谁就是主链,另外的一条链丢弃。
20. 幽灵协议
算力高的矿池很容易比算力低的矿机产生区块速度快,导致区块链上大部分区块由这些算力高的矿池产生的。而算力低的矿机产生的区块因为慢,没有存储到链上,这些区块将会作废。
幽灵协议使得本来应该作废的区块,也可以短暂的留在链上,而且也可以作为
工作量证明的一部分。这样一来,小算力
的矿工,对主链的贡献比重就增大了,大型矿池就无法独家垄断对新区块的确认。
21.孤块
之前说过分叉,孤块就是同一时间产生的区块,有一个形成了链,另一个后边没有形成链。那么这个没形成链的块就叫
孤块。
22.叔块
上边说的孤块,通过幽灵协议,使它成为工作量证明的一部分,那它就不会被丢弃,会保存在主链上。这个区块就是下
23重放攻击
就是黑客把已经发送给服务器的消息,重新又发了一遍,有时候这样可以骗取服务器的多次响应。
24.有向无环图
也叫数据集合DAG(有向非循环图),DAG是一种理想的多链数据结构。现在说的区块链大都是单链,也就是一个区块连一个区块,DAG是多个区块相连。好处是可以同时生成好几个区块,于是网络可以同时处理大量交易,吞吐量肯定就上升了。但是缺点很多,目前属于研究阶段。
25.什么是挖矿
挖矿过程就是对以上这六个字段进行一系列的转换、连接和哈希运算,并随着不断一个一个试要寻找的随机数,最后成功找到一个随机数满足条件:经过哈希运算后的值,比预设难度值的 哈希值小,那么,就挖矿成功了,节点可以向邻近节点进行广播该区块,邻近节点收到该区块对以上六个字段进行同样的运算,验证合规,再向其它结点转播,其它结点也用同样的算法进行验证,如果全网有51%的结点都验证成功,这个区块就算真正地“挖矿”成功了,每个结点都把这个区块加在上一个区块的后面,并把区块中与自己记录相同的列表删除,再次复生上述过程。另外要说的是,不管挖矿成不成功每个节点都预先把奖励的比特币50个、所有交易的手续费(总输入-总输出)记在交易列表的第一项了(这是“挖矿”最根本的目的,也是保证区块链能长期稳定运行的根本原因),输出地址就是本结点的地址,但如果挖矿不成功,这笔交易就作废了,没有任何奖励。而且这笔叫作“生产交易”的交易不参与“挖矿”计算。
26.矿机/矿场
矿机就是各种配置的计算机,算力是他们的最大差距。矿机集中在一个地的地方就是矿场
27.矿池
就是矿工们联合起来一起组成一个团队,这个团队下的计算机群就是矿池。挖矿奖励,是根据自己的算力贡献度分发。
28.挖矿难度和算力
挖矿难度是为了保证产生区块的间隔时间稳定在某个时间短内,如比特币10分钟出
块1个。算力就是矿机的配置。
29.验证
当区块链里的验证是对交易合法性的一种确认,交易消息在节点之间传播时每个节点都会验证一次这笔交易是否合法。比如验证交易的语法是否正确,交易的金额是否大于0,输入的交易金额是否合理,等等。验证通过后打包,交给矿工挖矿。
30.交易广播
就是该节点给其他节点通过网络发送信息。
31.矿工费
区块链要像永动机一样不停的工作,需要矿工一直维护着这个系统。所以要给矿工们好处费,才能持久。
32.交易确认
当交易发生时,记录该笔交易的区块将进行第一次确认,并在该区块之后的链上的每一个区块进行再次确认:当确认数达到6个及以上时,通常认为这笔交易比较安全并难以篡改。
33.双重交易
就是我有10块钱,我用这10块钱买了一包烟,然后瞬间操作用这还没到付的10块钱又买了杯咖啡。所以验证交易的时候,要确认这10块钱是否已花费。
34.UTXO未花费的交易输出
它是一个包含交易数据和执行代码的数据结构,可以理解为存在但尚未消费的数字货币。
35.每秒交易数量TPS
也就是吞吐量,tps指系统每秒能处理的交易数量。
36.钱包
与支付宝类似,用来存储数字货币的,用区块链技术更加安全。
37.冷钱包/热钱包
冷钱包就是离线钱包,原理是储存在本地,运用二维码通信让私钥永不触网。热钱包就是在线钱包,原理是将私钥加密后存储在服务器上,当需要使用时再从服务器上下载下来,并在浏览器端进行解密。
38.软件钱包/ 硬件钱包
软件钱包是一种计算机程序。一般而言,软件钱包是与区块链交互的程序,可以让用户接收、存储和发送数字货币,可以存储多个密钥。硬件钱包是专门处理数字货币的智能设备。
39.空投
项目方把数字货币发送给各个用户钱包地址。
40.映射
映射跟区块链货币的发行相关,是链与链之间的映射。比如有一些区块链公司,前期没有完成链的开发,它就依托于以太坊发行自己的货币,前期货币的发行、交易等都在以太坊上进行操作。随着公司的发展,公司自己的链开发完成了公司想要把之前在以太坊上的信息全部对应到自己的链上,这个过程就是映射。
41.仓位
指投资人实有投资和实际投资资金的比例
42.全仓
全部资金买入比特币
43.减仓
把部分比特币卖出,但不全部卖出
44.重仓
资金和比特币相比,比特币份额占多
45.轻仓
资金和比特币相比,资金份额占多
46.空仓
把手里所持比特币全部卖出,全部转为资金
47.止盈
获得一定收益后,将所持比特币卖出以保住盈利
48.止损
亏损到一定程度后,将所持比特币卖出以防止亏损进一步扩大
49.牛市
价格持续上升,前景乐观
50.熊市
价格持续下跌,前景黯淡
51.多头(做多)
买方,认为币价未来会上涨,买入币,待币价上涨后,高价卖出获利了结
52.空头(做空)
卖方,认为币价未来会下跌,将手中持有的币(或向交易平台借币)卖出,待币价下跌后,低价买入获利了结
53.建仓
买入比特币等虚拟货币
54.补仓
分批买入比特币等虚拟货币,如:先买入1BTC,之后再买入1BTC
55.全仓
将所有资金一次性全部买入某一种虚拟币
56.反弹
币价下跌时,因下跌过快而价格回升调整
57.盘整(横盘)
价格波动幅度较小,币价稳定
58.阴跌
币价缓慢下滑
59.跳水(瀑布)
币价快速下跌,幅度很大
60.割肉
买入比特币后,币价下跌,为避免亏损扩大而赔本卖出比特币。或借币做空后,币价上涨,赔本买入比特币
61.套牢
预期币价上涨,不料买入后币价却下跌;或预期币价下跌,不料卖出后,币价却上涨
62.解套
买入比特币后币价下跌造成暂时的账面损失,但之后币价回升,扭亏为盈
63.踏空
因看淡后市卖出比特币后,币价却一路上涨,未能及时买入,因此未能赚得利润
64.超买
币价持续上升到一定高度,买方力量基本用尽,币价即将下跌
65.超卖
币价持续下跌到一定低点,卖方力量基本用尽,币价即将回升
66.诱多
币价盘整已久,下跌可能性较大,空头大多已卖出比特币,突然空方将币价拉高,诱使多方以为币价将会上涨,纷纷买入,结果空方打压币价,使多方套牢
67.诱空
多头买入比特币后,故意打压币价,使空头以为币价将会下跌,纷纷抛出,结果误入多头的陷阱
68.什么是NFT
NFT全称“Non-Fungible Tokens” 即非同质化代币,简单来说,即区块链上一种无法分割的版权证明,主要作用数字资产确权,转移,与数字货币区别在于,它独一无二,不可分割,本质上,是一种独特的数字资产。
69.什么是元宇宙
元宇宙是一个虚拟时空间的集合, 由一系列的增强现实(AR), 虚拟现实(VR) 和互联网(Internet)所组成,其中数字货币承载着这个世界中价值转移的功能。
70.什么是DeFi
DeFi,全称为Decentralized Finance,即“去中心化金融”或者“分布式金融”。“去中心化金融”,与传统中心化金融相对,指建立在开放的去中心化网络中的各类金融领域的应用,目标是建立一个多层面的金融系统,以区块链技术和密码货币为基础,重新创造并完善已有的金融体系
71.谁是中本聪?
72.比特币和Q币不一样
比特币是一种去中心化的数字资产,没有发行主体。Q币是由腾讯公司发行的电子货币,类似于电子积分,其实不是货币。Q币需要有中心化的发行机构,Q币因为腾讯公司的信用背书,才能被认可和使用。使用范围也局限在腾讯的 游戏 和服务中,Q币的价值完全基于人们对腾讯公司的信任。
比特币不通过中心化机构发行,但却能够得到全球的广泛认可,是因为比特币可以自证其信,比特币的发行和流通由全网矿工共同记账,不需要中心机构也能确保任何人都无法窜改账本。
73.矿机是什么?
以比特币为例,比特币矿机就是通过运行大量计算争夺记账权从而获得新生比特币奖励的专业设备,一般由挖矿芯片、散热片和风扇组成,只执行单一的计算程序,耗电量较大。挖矿实际是矿工之间比拼算力,拥有较多算力的矿工挖到比特币的概率更大。随着全网算力上涨,用传统的设备(CPU、GPU)挖到比特的难度越来越大,人们开发出专门用来挖矿的芯片。芯片是矿机最核心的零件。芯片运转的过程会产生大量的热,为了散热降温,比特币矿机一般配有散热片和风扇。用户在电脑上下载比特币挖矿软件,用该软件分配好每台矿机的任务,就可以开始挖矿了。每种币的算法不同,所需要的矿机也各不相同。
74.量化交易是什么?
量化交易,有时候也称自动化交易,是指以先进的数学模型替代人为的主观判断,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下做出非理性的投资决策。量化交易有很多种,包括跨平台搬砖、趋势交易、对冲等。跨平台搬砖是指,当不同目标平台价差达到一定金额,在价高的平台卖出,在价低的平台买入。
75.区块链资产场外交易
场外交易也叫OTC交易。用户需要自己寻找交易对手,不通过撮合成交,成交价格由交易双方协商确定,交易双方可以借助当面协商或者电话通讯等方式充分沟通。
76.时间戳是什么?
区块链通过时间戳保证每个区块依次顺序相连。时间戳使区块链上每一笔数据都具有时间标记。简单来说,时间戳证明了区块链上什么时候发生了什么事情,且任何人无法篡改。
77.区块链分叉是什么?
在中心化系统中升级软件十分简单,在应用商店点击“升级”即可。但是在区块链等去中心化系统中,“升级”并不是那么简单,甚至可能一言不合造成区块链分叉。简单说,分叉是指区块链在进行“升级”时发生了意见分歧,从而导致区块链分叉。因为没有中心化机构,比特币等数字资产每次代码升级都需要获得比特币社区的一致认可,如果比特币社区无法达成一致,区块链很可能形成分叉。
78.软分叉和硬分叉
硬分叉,是指当比特币代码发生改变后,旧节点拒绝接受由新节点创造的区块。不符合原规则的区块将被忽略,矿工会按照原规则,在他们最后验证的区块之后创建新的区块。 软分叉是指旧的节点并不会意识到比特币代码发生改变,并继续接受由新节点创造的区块。矿工们可能会在他们完全没有理解,或者验证过的区块上进行工作。软分叉和硬分叉都"向后兼容",这样才能保证新节点可以从头验证区块链。向后兼容是指新软件接受由旧软件所产生的数据或者代码,比如说Windows 10可以运行Windows XP的应用。而软分叉还可以"向前兼容"。
79.区块链项目分类和应用
从目前主流的区块链项目来看,区块链项目主要为四类:第一类:币类;第二类:平台类;第三类:应用类;第四类:资产代币化。
80.对标美元的USDT
USDT是Tether公司推出的对标美元(USD)的代币Tether USD。1USDT=1美元,用户可以随时使用USDT与USD进行1:1兑换。Tether公司执行1:1准备金保证制度,即每个USDT代币,都会有1美元的准备金保障,对USDT价格的恒定形成支撑。某个数字资产单价是多少USDT,也就相当于是它的单价是多少美元(USD)。
81.山寨币和竞争币
山寨币是指以比特币代码为模板,对其底层技术区块链进行了一些修改的区块链资产,其中有技术性创新或改进的又称为竞争币。因为比特币代码开源,导致比特币的抄袭成本很低,甚至只需复制比特币的代码,修改一些参数,便可以生成一条全新的区块链。
82.三大交易所
币安
Okex
火币
83.行情软件
Mytoken
非小号
84.资讯网站
巴比特
金色 财经
币世界快讯
85.区块链浏览器
BTC
ETH
BCH
LTC
ETC
86.钱包
Imtoken
比特派
MetaMask(小狐狸 )
87. 去中心化交易所
uniswap
88. NFT交易所
Opensea
Super Rare
89. 梯子
自备,购买靠谱梯子
90. 平台币
平台发行的数字货币,用于抵扣手续费,交易等
91. 牛市、熊市
牛市:上涨行情
熊市:下跌行情
92. 区块链1.0
基于分布式账本的货币交易体系,代表为比特币
93. 区块链2.0
以太坊(智能合约)为代表的合同区块链技术为2.0
94. 区块链3.0
智能化物联网时代,超出金融领域,为各种行业提供去中心化解决方案
95. 智能合约
智能合约,Smart Contract,是一种旨在以信息化方式传播、验证或执行合同的计算机协议,简单说,提前定好电子合约,一旦双方确认,合同自动执行。
96. 什么是通证?
通证经济就是以Token为唯一参考标准的经济体系,也就是说相当于通行证,你拥有Token ,就拥有权益,就拥有发言权。
97. 大数据 和 区块链 的 区别
大数据是生产资料,AI是新的生产力,区块链是新的生产关系。大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。简单理解为,大数据就是长期积累的海量数据,短期无法获取。区块链可以作为大数据的获取方式,但无法取代大数据。大数据只是作为在区块链运行的介质,没有绝对的技术性能,所以两者不能混淆。(生产关系简单理解就是劳动交换和消费关系,核心在于生产力,生产力核心在于生产工具)
98. 什么是ICO?
ICO,Initial Coin Offering, 首次公开代币发行,就是区块链数字货币行业中的众筹。是2017最为热门的话题和投资趋势,国家9.4出台监管方案。说到ICO,人们会想到IPO,两者有着本质不同。
99. 数字货币五个特征
第一个特征:去中心化
第二个特征:有开源代码
第三个特征:有独立的电子钱包
第四个特征:恒量发行的
第五个特征:可以全球流通
100.什么叫去中心化?
没有发行方,不属于任何机构或国家,由互联网网络专家设计、开发并存放于互联网上,公开发行的币种。
101. 什么叫衡量(稀缺性)?
发行总量一旦设定,永久固定,不能更改,不能随意超发,可接受全球互联网监督。因挖掘和开釆难度虽时间数量变化,时间越长,开采难度越大,所开釆的币就越少,因此具有稀缺性。
102. 什么叫开源代码?
用字母数字组成的存放在互联网上,任何人都可以查出其设计的源代码,所有人都可以参与,可以挖掘,全球公开化。
103. 什么叫匿名交易? 专有钱包私密?
每个人都可以在网上注册下载钱包,无需实名认证,完全由加密数字代码组成,全球即时点对点发送、交易,无需借助银行和任何机构,非本人授权任何人都无法追踪、查询。
104.什么是合约交易?
合约交易是指买卖双方对约定未来某个时间按指定价格接收一定数量的某种资产的协议进行交易。合约交易的买卖对象是由交易所统一制定的标准化合约,交易所规定了其商品种类,交易时间,数量等标准化信息。合约代表了买卖双方所拥有的权利和义务。
105.数字货币产业链
芯片厂家 矿机厂商 矿机代理 挖矿 出矿到交易所 散户炒币
106.北 枫 是谁?
北 枫 :数字货币价值投资者
投资风格:稳健
建立社区 :北斗 社区 (高质量价投社区 )
107.北斗 投资策略
长短结合,价投为主,不碰合约,不玩短线
合理布局,科学操作,稳健保守,挣周期钱
108.北 枫 ?
欢迎币友,共谋发展
B. dag是什么意思
DAG 是邮箱数据库复制、数据库和服务器切换和故障转移以及名为“活动管理器”的内部组件的边界。
CCR与SCR合并,并已发展成为一个更加统一的高可用性架构,这其中,DAG成为基本的组成部分。也就是说,不论是部署本地级还是站点级的高可用性和灾难可恢复解决方案,都要用到DAG。
在Exchange 2010中,保护邮箱数据库的唯一方法也是使用DAG。DAG的主要组成部分是一种称为主动管理器(Active Manager)的新组件。Exchange 2007及早期版本中的Exchange群集资源DLL(exres.dll)和相关的群集服务资源,如今已被取代。
现在,Exchange 2010使用主动管理器来管理DAG中邮箱服务器间的数据交换和故障切换。主动管理器运行在给定的DAG中的所有邮箱服务器上,它有两个角色:主要主动管理器(Primary Active Manager,PAM)和备用主动管理器(Standby Active Manager,SAM)。
C. DAG到底是什么
DAG全称是“有向无环图”,没有区块概念,不是把所有数据打包成区块,再用区块链接区块,而是每个用户都可以提交一个数据单元,这个数据单元里可以有很多东西,比如交易、消息等等。数据单元间通过引用关系链接起来,从而形成具有半序关系的DAG(有向无环图)。DAG的特点是把数据单元的写入操作异步化,大量的钱包客户端可以自主异步地把交易数据写入DAG,从而可以支持极大的并发量和极高的速度。同时,使用DAG技术的TrustNote还支持声明式智能合约,声明式的智能合约要表达的意思是可以直接按照用户想要的结果去写、去描述,以很简单的语言,让大家都能看懂的语言去描述他要干的事情。
D. 一文了解以太坊矿机及挖矿原理
在以前的文章中,我们分别了解了比特币挖矿和以太坊挖矿的区别。本文重点介绍以太坊挖矿及矿机部分。
以太坊是一个开源的有智能合约功能的公共区块链平台,通过其专用加密货币ETH提供去中心化的以太虚拟机来处理点对点合约。目前ETH的挖矿主要是通过显卡矿机,所谓显卡矿机,其实就是类似家用台式机,只不过每台机器里面有6-10张显卡,并且没有显示器(如图)。
图:显卡矿机
之所以以太坊没有发展出类似于BTC一样的ASIC矿机,主要是由于ETH的特殊挖矿机制决定的。
在ETH挖矿过程中,会产生一个DAG文件,该文件需要一直被调用,因此必须有专门的存储空间放置。这个对于存储空间的硬性需求会导致即使生产出来了ASIC芯片,也并不能大幅度降低单位算力的成本。简单来说,就是性价比很差。
以太坊的DAG大小自2016年6月份引入Dagger-Hashimoto 算法时的1GB开始,以每年约520MB的速度增大到了现在的 3.7G,预计2020年底以太坊的DAG大小将增加至4G。届时,显存小于4G的显卡都将被陆续淘汰。
还需要介绍一点的是,由于显卡矿机的体积通常是比特币矿机的2-4倍,而消耗的电力却只有比特币矿机的1/2甚至更低,这就导致一般人不愿意修建专门的显卡矿机矿场(因为矿场主要赚取的是电费差价,同样面积的场地,可以放置的显卡数量少,消耗的电量更少)。即使有少量的显卡矿场,收取的电费成本通常也比比特币矿机矿场的高。
E. 一文了解以太坊挖矿算法及算力规模2020-09-09
以太坊网络中,想要获得以太坊,也要通过挖矿来实现。当前以太坊也是采用POW共识机制,但是与比特币的POW挖矿有点不一样,以太坊挖矿难度是可以调节的。以太坊系统有一个特殊的公式用来计算之后的每个块的难度。如果某个区块比前一个区块验证的更快,以太坊协议就会增加区块的难度。通过调整区块难度,就可以调整验证区块所需的时间。
以太坊采用的是Ethash 加密算法,在挖矿的过程中,需要读取内存并存储 DAG 文件。由于每一次读取内寸的带宽都是有限的,而现有的计算机技术又很难在这个问题上有质的突破,所以无论如何提高计算机的运算效率,内存读取效率仍然不会有很大的改观。因此,从某种意义上来说,以太坊的Ethash加密算法具有“抗ASIC性”。
加密算法的不同,导致了比特币和以太坊的挖矿设备、算力规模差异很大。
目前,比特币挖矿设备主要是专业化程度非常高的ASIC 矿机,单台矿机的算力最高达到了 112T/s(神马M30S++矿机),全网算力的规模达到139.92EH/s。
以太坊的挖矿设备主要是显卡矿机和定制GPU矿机,专业化的ASIC矿机非常少,一方面是因为以太坊挖矿算法的“抗 ASIC 性”提高了研发ASIC矿机的门槛,另一方面是因为以太坊升级到2.0之后共识机制会转型为PoS,矿机无法继续挖。
和ASIC矿机相比,显卡矿机在算力上相差了2个量级。目前,主流的显卡矿机(8卡)算力约为420MH/s,比较领先的定制GPU矿机算力约在500M~750M,以太坊全网算力约为235.39TH/s。
从过去两年的时间维度上看,以太坊的全网算力增长相对缓慢。
以太坊协议规定,难度的动态调整方式是使全网创建新区块的时间间隔为15秒,网络用15秒时间创建区块链,这样一来,因为时间太快,系统的同步性就大大提升,恶意参与者很难在如此短的时间发动51%(也就是半数以上)的算力去修改历史数据。
F. GHOST,DAG,SPECTRE,PHANTOM和CONFLUX技术原理
DAG概念,当做继比特币,以太坊后新的一代区块链技术(区块链3.0),那么DAG区块链是什么?DAG的由来是什么?它的技术理念是怎么样的?运行在DAG区块链上的协议有哪些?
要想解释DAG,离不开Yonatan Sompolinsky 和 Aviv Zohar两位以色列人,他们是DAG区块链这一概念的提出者。在DAG之前,Aviv Zohar提出了一个GHOST协议(以太坊初期就采用了GHOST协议),该协议解决的是链分叉带来的安全性问题,而分叉的区块链 在GHOST协议下数据结构就从一条链变成了一个树(Tree),而之后Aviv Zohar进一步提出了一个inclusive协议,在inclusive协议规则下,区块的结构就变成了有向无环图(DAG)。
接下来本文将:
1.介绍 GHOST协议,DAG由来 背后的 设计原理
2.介绍三种针对DAG型区块链设计的协议,SPECTRE、PHANTOM和CONFLUX。
GHOST协议是为了解决 分叉 导致 链安全性降低 的一个协议。
下边将通过解释什么是 分叉 ,为什么 分叉会降低链的安全性 , 链上扩容 为什么会导致更多分叉来详细介绍GHOST协议。
一笔比特币交易为什么要等6个区块的交易时长呢?
等待不是为了 防范51%攻击 的。落后6个区块,如果拥有超过51%的算力,只要足够长的时间,一定能够产生更长的链完成攻击。它是为了防止 分叉 带来的风险。
比特币在 理想情况 下,不同节点之间有相同的一条区块链,全部节点都是基于 同一个区块 进行挖矿,但当两个挖矿节点 几乎同时 挖到一个新的区块,当它们接收到对方产生的区块时,不同的节点将选择基于 其中一个 区块挖矿, 分叉 产生了。之后节点会根据哪条 分叉更长 ,选择哪条是主链进行挖矿,而不是主链的分叉区块全部被 抛弃 。
比特币每天都会发生 二分叉 ,但出现连续的 六次分叉 几乎不可能,于是要等待6个区块的确认时间。(这种分叉不是来自恶意攻击,是 偶然性以及网络延迟 导致的。
分叉将‘攻击不超过51%算力,比特币就是安全的’这一理论推翻。
在比特币中,当链有 分叉 时,将选择分叉 最长 的链作为主链,恶意攻击就是产生一条比主链更长的链 代替主链。
下图中蓝色区块代表诚实区块,红色代表攻击区块。2号、3号蓝色区块产生 分叉 ,此时攻击节点产生5个攻击区块(红色)就能产生一条 更长 的链完成攻击。虽然蓝色区块总数更多(有6个), 但分叉的区块没有增加链的长度 ,这种情况下,红色攻击方在算力(假设每个区块代表算力相同)没有超过51%的情况下攻击成功。
比特币当前安全的原因在于10分钟的区块时间降低了分叉可能性,但其实际安全算力仍低于51%,也就是说,不需要51%的算力也能攻击成功。
采用 大区块 以及 小的产出时间 将导致链有 很多分叉。
比特币当前处理交易量很低,改进这个缺陷一个可行方法就是 增大区块的大小和减小区块的产出时间 。大区块需要更多的网络传输时间、单位时间更多的区块数都会导致 更多的分叉 。
链上扩容的方案对比特币处理交易能力提升是巨大的 ,假如每个区块大小变为原来的八倍(8M),出块时间缩短为原来的五分之一(2分钟),理想情况下,比特币的处理交易量将变为原来的 40倍 ,实际情况会产生分叉,交易量不会有这么高。
主链选择中,采用计算最大子树来代替比特币中的最长链规则。
比特币的最长链规则在有分叉情况下,将降低链的安全性,分叉越多,安全性越低。链上扩容将导致更多分叉,导致链不安全。
Yonatan Sompolinsky提出GHOST规则, 当有分叉时,通过计算最大子树,也就是每条分叉拥有的所有区块数来决定哪条链是主链 。图0中,链在区块0后分叉了,上边分叉总计有6个蓝色区块,下边分叉有5个红色区块,蓝色区块1是主链,所以 红色攻击失败 。
在有大量分叉的情况下,GHOST规则将链安全性直接提到了51%,分叉对采用GHOST协议的链安全性没有影响。
根据GHOST规则,上图中虽然诚实节点产生了12个区块,但加入主链的只有4个区块,大量区块 被丢弃 ,假定比特币每个区块大小变为原来的八倍(8M),出块时间缩短为原来的十分之一(1分钟),分叉率为0.33(产生的区块加入主链的概率),比特币的处理交易能力将变为原来的 26.6倍 。
GHOST协议解决了链上扩容导致分叉带来的安全性问题。
区块的结构类型就从一条链变为树
在GHOST的提出后,Yonatan Sompolinsky提出一种新的设想,新产生的区块指向所有已知的分叉末端区块,即一个区块有多个父亲,此时 区块链就从一条链变为多条分叉链共同组成的的结构,这样的链结构就被叫做DAG(有向无环图) 。
Yonatan Sompolinsky进而提出了在DAG上运行的 inclusive协议 ,原理如下:
遗憾的是, Yonatan Sompolinsky之后并没有详细介绍补充该协议 ,而是提出了一种新思路的DAG协议——SPECTRE。
看完上边内容之后,你会发现, 最长链规则下,分叉的区块对比特币安全性和交易量没有任何贡献 ,白白的浪费了算力,而 GHOST通过计算分叉区块个数来提升链的安全性 ,但分叉区块除了纳入区块计数外,区块内包含的交易信息却全部 被丢弃 。
这种新的区块结构带来了新的特性,当然,比特币的 最长链规则 也可以在DAG上实施,只不过安全性和处理交易能力不佳,而GHOST协议可以提高安全性和处理交易能力,为了 最大化 利用DAG区块链特性,社区提出了不同的协议,接下来介绍Yonatan Sompolinsky 提出的 SPECTRE协议 ,以及 PHANTOM协议 ,以及国内某社区提出的 CONFLUX协议 。
丢弃主链概念,所有产生的区块共同构成账本,不丢弃任何一个区块
只要是产生的区块就不会被丢弃,所有的区块都是有效的,所有区块共同组成账本,这样进一步提高了区块链的处理交易能力, 该设计的关键在于设计算法来保证区块链不会被恶意攻击成功。
SPECTRE协议较为复杂,下边将从其如何产生区块、如何处理冲突交易以及产生可信交易集三个方面进行描述。
SPECTRE协议中,当产生区块时,要指向之前所有分叉的末端区块。
下图中,左边为比特币产生区块时,当有分叉出现,新区块将选择基于其中一个产生新的区块,而SPECTRE中,将基于所有分叉末端区块产生新的区块。同时,当有新区块产生时,节点要立刻将新区块(包含基于哪些区块产生这一信息)发送给与自己相连接的节点。
仔细观察,GHOST协议中虽然有分叉,但每个区块都只基于前边某一个区块产生,而SPECTRE协议中要基于当前节点知道的所有末端区块产生下一个区块。
SPECTRE协议将矿工维持交易不冲突的要求剥除
比特币就像一本 权威 的账本,只要是里边记录的,就一定是真的(不考虑分叉和恶意攻击),而SPECTRE产生的DAG就像一本 不权威 账本,里边的交易信息可能冲突(上边图1中两个1区块中可能包含冲突交易信息)。
该协议下,挖矿节点只 负责迅速挖区块 (能够达到1秒一个区块),而对分叉中可能包含的冲突交易在挖矿阶段并 不做任何处理 ,将记录交易速度最大化,让DAG这种区块链有着恐怖的处理交易能力。
是时候解决挖矿不解决的 冲突交易 问题了,SPECTRE的思路是设计一个计算投票的算法,让诚实区块会投票给诚实的区块,后边的诚实区块会给前边的 堆叠算力 ,从而让恶意攻击失败,其安全算力也是 51% 。
拿双花举例,下图中,X和Y区块中包含着两条冲突交易会导致双花,此时DAG中的区块会对X和Y进行投票, 决定哪一个交易有效。
投票规则如下,投X的标蓝,投Y的标红,X<Y代表X先于Y:
根据投票结果,X中的那条交易信息 有效 ,Y中对应的那条交易信息 无效 。 Yonatan Sompolinsky也对 不指向前边区块 以及 产生区块不发给邻居节点的恶意攻击 有进行分析,在投票规则中,低于50%算力的攻击者会失败。
投票听起来像是一个主动地中心化行为,实际上不是,程序根据当前DAG区块所处的状态自发完成这一区块投票计算过程,就相当于,给定一个DAG数据,输入为两条冲突信息,运行该规则算法,将得出一对冲突交易的哪一个为有效。
SPECTRE可信交易集就相当于超过当前6个区块的比特币链里组成的交易集合。 区块链从数字加密货币的角度来说,就是一个 账本 ,从账本上的交易信息中得出每个 账户 所拥有的货币,所以,得出 确定的、不可能更改 的交易信息就至关重要,SPECTRE可信交易集产生过程如下:
SPECTRE并不会对所有区块进行排序,所有区块没有一个完整的线形顺序,有的只是决定冲突信息先后的区块顺序对。
比特币中的高度代表的就是 线形顺序 ,高度低的区块中交易信息先于高度高的区块里的信息,高度高的区块就不能 包含和高度低的区块冲突的交易 ,而SPECTRE有大量的分叉,区块高度不能代表线形顺序,前边的区块交易信息不一定先于后边的分叉区块交易信息,交易信息的有效性要由投票算法来决定,区块投票算法很快,再加上它将 所有分叉区块 都包含进来,也就没有了比特币所面临的 分叉风险 (等待6个区块),交易确认时间可以达到10秒。
至此,和比特币相比,SPECTRE对应的DAG区块链有三个特点:
SPECTRE协议非常 适合DAG型数字加密货币 ,但当它用于智能合约时,它的缺陷就出来了,智能合约需要一个 严格的线性顺序 ,对此Yonatan Sompolinsky新设计了 PHANTOM 协议来对DAG区块形成一个 线性顺序 ,下边将详细介绍PHANTOM协议。
SPECTRE和PHANTOM是两个完整的独立的协议,不是一个对另一个的补充。
PHANTOM的挖矿机制和SPECTRE一样,会产生同样类型的DAG,不同的是PHANTOM通过对 区块连通度分析 ,判定区块诚实还是恶意,按照分类对区块排序,对DAG区块产生一个严格的 线性顺序 ,通过线性顺序来判断 冲突交易有效性 。
DAG中,攻击者有两种攻击手段, 一产生的区块不基于已知的末端区块,二不立即发布自己产生的区块 ,前者会让自己区块指向的区块变少,后者让其他节点产生的区块不会指向自己的区块,这两种情况都会导致这些恶意区块的与其它区块的 连接度低 。
诚实区块在考虑网络最大延迟下,经过一定时间一定会传遍整个网络,一定会被后边的区块所指向,诚实节点在产生新区块时也一定会指向自己所知道的末端区块。
通过对 区块指出去的边和指向该区块的边 进行分析,也就是区块的 连通度 ,当考虑最大的网络延迟,连通度会有一个 极限值K ,低于该值的区块可以被认定为恶意区块,在排序中要处于 劣势 。
接下来,进行区块 诚实和恶意 判定,判定分两步,第一步最重要, 实现复杂也耗费时间 ,主要为通过对区块连通度的判定,将强连通度的区块标为蓝色视为诚实区块,弱的标为红色视为恶意区块。
第二步 先对蓝色区块集排序 ,拓扑排序,然后对 红色区块集排序 。红色区块的顺序要处于弱势,例如上图中C,它处于A和I之间,那么它的顺序会排在I的前一个区块,而D、H都会排在C前。 注意通过考虑最大延迟时间设定连通度的值,几乎所有正常诚实节点产生的区块都会被标记为蓝色
至此,PHANTOM协议实现了对DAG的 线性排序 ,通过线性顺序就可以提取 无冲突交易集 ,进而提取 可信交易集 ,虽然耗时较长,满足智能合约的要求。
Yonatan Sompolinsky在PHANTOM协议论文结尾,提出一种将PHANTOM + SPECTRE结合起来的可能协议,没有详细展开介绍。下图是几种协议的对比:
至此,介绍了Yonatan Sompolinsky一开始从分叉导致不安全提出的GHOST,到后来将DAG引入区块链,设计了SPECTRE协议,以及为智能合约考虑的PHANTOM协议。接下来,介绍国内某社区提出的CONFLUX协议。
GHOST有 主链但丢弃分叉区块 ;SPECTRE 没有主链,包含所有分叉,但没有线性顺序 ;PHANTOM 没有主链,包含分叉且有线性顺序 ,而CONFLUX 即有主链,又是DAG,利用主链让DAG产生线性排序 ,下面将从挖矿机制和区块排序两方面来说明CONFLUX协议。
CONFLUX协议定义了根源边和参考边。 新区块是基于前一个主链区块产生的,新区块用根源边(实线)指向前一区块,用参考边(虚线)指向分叉的其他区块末端 ,如下图最后一个新区块实线指向H,虚线指向分叉末端区块K。 根源边用于代表区块基于哪个区块产生,给哪个区块堆叠算力,参考边用于表示分叉的其它区块产生在该区块之前。
挖矿过程如下:
根源边只能有一条,参考边可多条(视情况而定)
以主链区块为分割点,将DAG分段,段间段内设计简单排序算法
CONFLUX协议下产生的区块链如上(图2),接下来对其进行线性排序,排序算法如下:
通过上述排序,DAG有了一个 线性顺序 ,上图DAG区块顺序为 Genesis, A, B, C, D, F, E, G, J, I, H, and K 。接下来对该线性顺序的区块里的交易信息进行交易排序, 单一区块 里可能包含的冲突交易将直接按照该区块内交易信息排列 先后顺序 决定。
至此,CONFLUX对DAG所有区块产生一个 线性顺序 ,进而可以对区块内交易信息排序,产生 无冲突交易集 ,超过一定时间的无冲突交易组成 可信交易集 。 主链只是排序的标尺,作为分割时段的标准,CONFLUX包含所有分叉区块。
GHOST论文
Inclusive论文
SPECTRE论文
PHANTOM论文
CONFLUX论文
DAGlabs 相关讲解视频合集
G. 有谁知道能解释一下有向无环图(DAG)么怎么用程序做出来,及怎么应用到经济学实证上
我们说区块链目前还不成熟,有各种各样的问题,比如说处理速度慢、手续费高昂、存在安全隐患等等,这些都是用户最直观的体验,体验不是太好。区块链还有一个问题,那就是高并发问题。
高并发问题是怎么回事呢,我们简单说一下。高并发是计算机领域的问题,简单来讲,高并发问题就是系统无法顺利同时运行多个任务。
很多任务同时运行,一大堆用户涌进来,系统承受不住这么多的任务,会出现高并发问题,你的系统就卡住了,就好比春运时候,12306系统总是卡住,有可能就是高并发问题造成的。
传统互联网尚且存在高并发问题,区块链网络自然也存在这个问题,毕竟区块链的成熟程度比起传统互联网,还有很大的差距。但是,如果没有安全、可靠和高效的公链,整个区块链产业的发展都将受到严重制约,应用落地也是空谈。
在这种背景下,DAG 技术就被提出来了,DAG 的全称是“Directed Acyclic Graph”,中文翻译为“有向无环图”。
DAG有向无环图是怎么回事呢,它到底能起到什么作用呢?我们下面解释一下。
一、DAG:一个新型的数据结构
DAG,中文名字叫“有向无环图”,从字面意思看,“有向"就是说它是有方向的,
“无环”就是说它是没有环路的、不能形成闭环的。所以,DAG其实是一种新型的数据结构,这个数据结构是有方向的,同时又是不能形成闭环的。
传统区块来讲,我们总是以“区块”为单位,一个区块里往往包含了多笔交易信息。而在DAG中,没有区块的概念,而是以“单元”为单位,每个单元记录的是单个用户的交易,组成的单元不是区块,而是一笔笔的交易,这样一来,可以省去打包出块的时间。
简单来说,区块链和DAG有向无环图最大的区别就是:区块链是一个接一个的区块来存储和验证交易的分布式账本,而DAG则是把每笔交易都看成一个区块,每一笔交易都可以链接到多个先前的交易来进行验证。
二、DAG 的工作原理
传统区块链上,就拿比特币来讲,它是单链式的结构,区块与区块之间按照时间戳的先后顺序排列开来(如图一),数据记录在一条主链上。用不太恰当的比喻来讲,这个
“单链式”结构是一条一字排列的链。
区块链只有一条单链,打包出块就无法并发执行。新的区块会加入到原先的最长链之上,所有节点都以最长链为准,继续按照时间戳的顺序无限蔓延下去。而对于DAG来讲,每个新加入的单元,不仅只加入到最长链的一个单元,还要加入到之前所有的单元(如图二)。
举个例子:假设我发布了一个新的交易,此时DAG结构已经有2个有效的交易单元,那么我的交易单元会主动同时链接到前面的2个之中,去验证并确认,直到链接到创世单元,而且,上一个单元的哈希会包含到自己的单元里面。
换句话说,你要想进行一笔交易,就必须要验证前面的交易,具体验证几个交易,根据不同的规则来进行。这种验证手段,使得DAG可以异步并发的写入很多交易,并最终构成一种拓扑的树状结构,极大地提高扩展性。
依据DAG有向无环图,每一笔交易都直接参与了维护全网。当交易发起后,直接广播全网,跳过矿工打包区块阶段,这样就省去了打包交易出块的时间,提升了区块链处理交易的效率。
随着时间递增,所有交易的区块链相互连接,形成图状结构,如果要更改数据,那就不仅仅是几个区块的问题了,而是整个区块图的数据更改。DAG这个模式相比来说,要进行的复杂度更高,更难以被更改。
总结一下,DAG作为一种新型的去中心化数据结构,它属于广义区块链的一种,具备去中心化的属性,但是二者的不同之处在于:
区块链组成单元是Block(区块),DAG组成单元是TX(交易)。
区块链是单线程,DAG是多线程。
区块链所有交易记录记在同一个区块中,DAG每笔交易单独记录在每笔交易中。
区块链需要矿工,DAG不需要矿工。
三、 DAG 的代表:IOTA
DAG当前的代表项目,最知名的无疑就是 IOTA。可以说,正是因为IOTA这个币种在 2017年下半年冲进市值排行第四位,才使人们真正认识到了它的底层技术:DAG有向无环图。
IOTA在DAG有向无环图的基础上提出了“缠结”概念,在IOTA里面,没有区块的概念,共识的最小单位是交易。每一个交易都会引用过去的两条交易记录哈希,这样前一交易会证明过去两条交易的合法性,间接证明之前所有交易的合法性。这样一来, 就不再需要传统区块链中的矿工这样少量节点来验证交易、打包区块,从而提升效率,节省交易费用。
四、 DAG 的现状
尽管理论上来讲,DAG有向无环图能够弥补传统区块链的一些弊端,但是目前并不成熟,应用到数字货币领域的时间也比较短,还比较年轻 。
它没有像比特币那般经过长达10年的时间来验证整个系统的安全性,也没有像以太坊那般实现了广泛的应用场景。不过,现在有些声音提出要采用“传统区块链+DAG”的数据结构,但是还没有非常突出的案例,这里就不多说了。
总结一下,本节我们介绍了区块链的衍生技术:DAG有向无环图,这是一种全新的数据结构,可以对区块链处理交易的效率、并发力达到显著的提升。
H. 什么是DAG
参考 Explaining Directed Acylic Graph (DAG), The Real Blockchain 3.0
Bitcoin视为blockchain 1.0, Ethereum视为2.0, 那么3.0是什么? DAG可能会是.
DAG, 即Direct Acyclic Graph, 有向无环图. 它的特点是节点有先后次序, 可以有分叉, 但还不会有环. DAG常用语数据处理, 事务规划, 最优路径查找, 数据压缩
bitcoin之所以效率低是因为它的POW机制. 整个网络只有一个主链, 其上的新块只能有一个, 无法同时创建多个新块. 10分钟左右以内的所有交易记录都被记录到一个块中. Ethereum也是类似, 大概15-20秒产生一个新块.
NXT 是第一个想到用DAG替代blockchain单链表结构的组织.
有了DAG, 就可以同一时间创建多个块.
使用DAG的想法来自于侧链(side-chain). 不同类型的交易在不同的链上同时进行.
IoT Chain (ITC), IOTA , 和 Byteball 是没有block概念的项目.
如果每个block只有一个transaction, 那这个transaction就不用等待被打包, 跳过计算hash的过程(即挖矿), 直接上链了.
Bitcoin使用UTXO(Unspent Transaction output)模型.
DAG网络中, 降低网络宽度是比较重要的一个课题.
由于只有transaction, 没有打包的过程, DAG比基于PoW或PoS的区块链更快.
DAG网络里, 没有矿工. 交易的验证直接在交易时进行. 对于用户来说这意味着交易可以瞬间完成.
DAG可以有效降低交易费.
IoT Chain (ITC) 所基于的DAG的TPS达到10,000.
I. dag是什么
DAG是有向无环图(Directed Acyclic Graph)的缩写,它是一种在计算机科学中广泛应用的数据结构,用于表示有向图中节点之间的关系。
除了在稿简计算机科学中的应用,DAG还被应用于各种领域,如生物学枝敬轮、化学、经济学、物理学等。在生物学中,DAG被用于描述基因表达网络和蛋白质相互作用网络等生物信息学问题。在化学中,DAG被用于描述化合物分子结构和反应机理等问题。在经济学中,DAG被用于描述市场结构和经济关系等问题。在物理学中,DAG被用于描述粒子间相互作用和能量传递猛信等问题。
总之,DAG是一种非常重要的数据结构,具有广泛的应用价值和研究意义。
J. 为什么要用DAG作为底层技术相比别的以太坊和比特币底层技术,其优势是什么
DAG区块链与传统区块链工作机制不同之处在于,后者需要矿工完成工作量证明(PoW)来执行每一笔交易,而DAG区块链能摆脱区块链的限制来完成这样的操作。相反的是,在DAG区块链中一笔交易接着另外一笔,这意味着一笔交易能够对下一笔交易提供证明,由此一直排序下去。这些交易之间的连接就是DAG,就像区块通过哈希值来向整条区块链提供它们的名字一样。
在传统块链式区块链中,每笔交易要花费不少时间,而对于DAG区块链来说,交易时间将变得微不足道