当前位置:首页 » 比特币问答 » 比特币交易体积size226kb

比特币交易体积size226kb

发布时间: 2025-07-26 01:11:19

比特币矿池的协议stratum

转自: https://zhuanlan.hu.com/p/23558268
getblocktemplate协议诞生于2012年中叶,此时矿池已经出现。矿池采用getblocktemplate协议与节点客户端交互,采用stratum协议与矿工交互,这是最典型的矿池搭建模式。

与getwork相比,getblocktemplate协议最大的不同点是:getblocktemplate协议让矿工自行构造区块。如此一来,节点和挖矿完全分离。对于getwork来说,区块链是黑暗的,getwork对区块链一无所知,他只知道修改data字段的4个字节。对于getblocktemplate来说,整个区块链是透明的,getblocktemplate掌握区块链上与挖矿有关的所有信息,包括待确认交易池,getblocktemplate可以自己选择包含进区块的交易。

挖矿有两种方式,一种叫SOLO挖矿,另一种是去矿池挖矿。前文所述的在节点客户端直接启动CPU挖矿,以及依靠getwork+cgminer驱动显卡直接连接节点客户端挖矿,都是SOLO挖矿,SOLO好比自己独资买彩票,不轻易中奖,中奖则收益全部归自己所有。去矿池挖矿好比合买彩票,大家一起出钱,能买一堆彩票,中奖后按出资比率分配收益。理论上,矿机可以借助getblocktemplate协议链接节点客户端SOLO挖矿,但其实早已没有矿工会那么做,在写这篇文章时,比特币全网算力1600P+,而当前最先进的矿机算力10T左右,如此算来,单台矿机SOLO挖到一个块的概率不到16万分之一,矿工(人)投入真金白银购买矿机、交付电费,不会做风险那么高的投资,显然投入矿池抱团挖矿以降低风险,获得稳定收益更加适合。因此矿池的出现是必然,也不可消除,无论是否破坏系统的去中心化原则。

矿池的核心工作是给矿工分配任务,统计工作量并分发收益。矿池将区块难度分成很多难度更小的任务下发给矿工计算,矿工完成一个任务后将工作量提交给矿池,叫提交一个share。假如全网区块难度要求Hash运算结果的前70个比特位都是0,那么矿池给矿工分配的任务可能只要求前30位是0(根据矿工算力调节),矿工完成指定难度任务后上交share,矿池再检测在满足前30位为0的基础上,看看是否碰巧前70位都是0。

矿池会根据每个矿工的算力情况分配不同难度的任务,矿池是如何判断矿工算力大小以分配合适的任务难度呢?调节思路和比特币区块难度一样,矿池需要借助矿工的share率,矿池希望给每个矿工分配的任务都足够让矿工运算一定时间,比如说1秒,如果矿工在一秒之内完成了几次任务,说明矿池当前给到的难度低了,需要调高,反之。如此下来,经过一段时间调节,矿池能给矿工分配合理难度,并计算出矿工的算力。

矿池通过getblocktemplate协议与网络节点交互,以获得区块链的最新信息,通过stratum协议与矿工交互。此外,为了让之前用getwork协议挖矿的软件也可以连接到矿池挖矿,矿池一般也支持getwork协议,通过阶层挖矿代理机制实现(Stratum mining proxy)。须知在矿池刚出现时,显卡挖矿还是主力,getwork用起来非常方便,另外早期的FPGA矿机有些是用getwork实现的,stratum与矿池采用TCP方式通信,数据使用JSON封装格式。

先来说一下getblocktemplate遗留下来的几个问题:

矿工驱动:在getblocktemplate协议里,依然是由矿工主动通过HTTP方式调用RPC接口向节点申请挖矿数据,这就意味着,网络最新区块的变动无法及时告知矿工,造成算力损失。

数据负载:如上所述,如今正常的一次getblocktemplate调用节点都会反馈回1.5M左右的数据,其中主要数据是交易列表,矿工与矿池需频繁交互数据,显然不能每次分配工作都要给矿工附带那么多信息。再者巨大的内存需求将大大影响矿机性能,增加成本。

Stratum协议彻底解决了以上问题。

Stratum协议采用主动分配任务的方式,也就是说,矿池任何时候都可以给矿工指派新任务,对于矿工来说,如果收到矿池指派的新任务,应立即无条件转向新任务;矿工也可以主动跟矿池申请新任务。

现在最核心的问题是如何让矿工获得更大的搜索空间,如果参照getwork协议,仅仅给矿工可以改变nNonce和nTime字段,则交互的数据量很少,但这点搜索空间肯定是不够的。想增加搜索空间,只能在hashMerkleroot下功夫,如果让矿工自己构造coinbase,那么搜索空间的问题将迎刃而解,但代价是必要要把区块包含的所有交易都交给矿工,矿工才能构造交易列表的Merkleroot,这对于矿工来说压力更大,对于矿池带宽要求也更高。

Stratum协议巧妙解决了这个问题,成功实现既可以给矿工增加足够的搜索空间,又只需要交互很少的数据量,这也是Stratum协议最具创新的地方。

再来回顾一下区块头的6个字段80字节,这个很关键,nVersion,nBits,hashPrevBlock这3个字段是固定的,nNonce,nTime这两个字段是矿工现在就可以改变的。增加搜索空间只能从hashMerkleroot下手,这个绕不过去。Stratum协议让矿工自己构造coinbase交易,coinbase的scriptSig字段有很多字节可以让矿工自由填充,而coinbase的改动意味着hashMerkleroot的改变。从coinbase构造hashMerkleroot无需全部交易,

如上图所示,假如区块将包含13笔交易,矿池先对这13笔交易进行处理,最后只要把图中的4个黑点(Hash值)交付给矿工,同时将构造coinbase需要的信息交付给矿工,矿工就可以自己构造hashMerkleroot(图中的绿点都是矿工自行计算获得,两两合并Hash时,规定下一个黑点代表的hash值总是放在右边)

。按照这种方式,假如区块包含N笔交易,矿池可以浓缩成log2(N)个hash值交付给矿工,这大大降低了矿池和矿工交互的数据量。

Stratum协议严格规定了矿工和矿池交互的接口数据结构和交互逻辑,具体如下:

1. 矿工订阅任务

启动挖矿机器,使用mining.subscribe方法链接矿池

返回数据很重要,矿工需本地记录,在整个挖矿过程中都用到,其中:

Extranonce1,和 Extranonce2对于挖矿很重要,增加的搜索空间就在这里,现在,我们至少有了8个字节的搜索空间,即nNonce的4个字节,以及 Extranonce2的4个字节。

2. 矿池授权

在矿池注册一个账号 ,添加矿工,矿池允许每个账号任意添加矿工数,并取不同名字以区分。矿工使用mining.authorize方法申请授权,只有被矿池授权的矿工才能收到矿池指派任务。

3. 矿池分配任务

以上每个字段信息都是必不可少,其中:

有了以上信息,再加上之前拿到的Extranonce1 和Extranonce2_size,就可以挖矿了。

4. 挖矿

1) 构造coinbase交易

用到的信息包括Coinb1, Extranonce1, Extranonce2_size 以及Coinb2,构造很简单:

为啥可以这样,因为矿池帮矿工做了很多工作,矿池已经构建了coinbase交易,系列化后在指定位置分割成coinb1和coinb2,coinb1和coinb2包含指定信息,比如coinb1包含区块高度,coinb2包含了矿工的收益地址和收益额等信息,但是这些信息对于矿工来说无关紧要,矿工挖矿的地方只是Extranonce2 的4个字节。另外Extranonce1是矿池写入区块的指定信息,一般来说,每个矿池会写入自己矿池的信息,比如矿池名字或者域名,我们就是根据这个信息统计每个矿池在全网的算力比重。

2) 构建Merkleroot

利用coinbase和merkle_branch,按照上图方式构造hashMerkleroot字段。

3) 构建区块头

填充余下的5个字段,现在,矿池可以在nNonce和Extranonce2 里搜索进行挖矿,如果嫌搜索空间还不够,只要增加Extranonce2_size为多几个字节就可轻而易举解决。

5. 矿工提交工作量

当矿工找到一个符合难度的shares时,提交给矿池,提交的信息量很少,都是必不可少的字段:

矿池拿到以上5个字段后,首先根据任务号ID找出之前分配任务前存储的信息(主要是构建的coinbase交易以及包含的交易列表等),然后重构区块,再验证shares难度,对于符合难度要求的shares,再检测是否符合全网难度。

6. 矿池给矿工调节难度

矿池记录每个矿工的难度,并根据shares率不断调节以指定合适难度。矿池可以随时通过mining.set_difficulty方法给矿工发消息另其改变难度。

如上,Stratum协议核心理念基本解析清楚,在getblocktemplate协议和Stratum协议的配合下,矿池终于可以大声的对矿工说,让算力来的更猛烈些吧。

㈡ 详解比特币挖矿原理

可以将区块链看作一本记录所有交易的公开总帐簿(列表),比特币网络中的每个参与者都把它看作一本所有权的权威记录。

比特币没有中心机构,几乎所有的完整节点都有一份公共总帐的备份,这份总帐可以被视为认证过的记录。

至今为止,在主干区块链上,没有发生一起成功的攻击,一次都没有。

通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块,每一个新区块都伴随着一定数量从无到有的全新比特币。每开采210,000个块,大约耗时4年,货币发行速率降低50%。

在2016年的某个时刻,在第420,000个区块被“挖掘”出来之后降低到12.5比特币/区块。在第13,230,000个区块(大概在2137年被挖出)之前,新币的发行速度会以指数形式进行64次“二等分”。到那时每区块发行比特币数量变为比特币的最小货币单位——1聪。最终,在经过1,344万个区块之后,所有的共20,999,999.9769亿聪比特币将全部发行完毕。换句话说, 到2140年左右,会存在接近2,100万比特币。在那之后,新的区块不再包含比特币奖励,矿工的收益全部来自交易费。

在收到交易后,每一个节点都会在全网广播前对这些交易进行校验,并以接收时的相应顺序,为有效的新交易建立一个池(交易池)。

每一个节点在校验每一笔交易时,都需要对照一个长长的标准列表:

交易的语法和数据结构必须正确。

输入与输出列表都不能为空。

交易的字节大小是小于MAX_BLOCK_SIZE的。

每一个输出值,以及总量,必须在规定值的范围内 (小于2,100万个币,大于0)。

没有哈希等于0,N等于-1的输入(coinbase交易不应当被中继)。

nLockTime是小于或等于INT_MAX的。

交易的字节大小是大于或等于100的。

交易中的签名数量应小于签名操作数量上限。

解锁脚本(Sig)只能够将数字压入栈中,并且锁定脚本(Pubkey)必须要符合isStandard的格式 (该格式将会拒绝非标准交易)。

池中或位于主分支区块中的一个匹配交易必须是存在的。

对于每一个输入,如果引用的输出存在于池中任何的交易,该交易将被拒绝。

对于每一个输入,在主分支和交易池中寻找引用的输出交易。如果输出交易缺少任何一个输入,该交易将成为一个孤立的交易。如果与其匹配的交易还没有出现在池中,那么将被加入到孤立交易池中。

对于每一个输入,如果引用的输出交易是一个coinbase输出,该输入必须至少获得COINBASE_MATURITY (100)个确认。

对于每一个输入,引用的输出是必须存在的,并且没有被花费。

使用引用的输出交易获得输入值,并检查每一个输入值和总值是否在规定值的范围内 (小于2100万个币,大于0)。

如果输入值的总和小于输出值的总和,交易将被中止。

如果交易费用太低以至于无法进入一个空的区块,交易将被拒绝。

每一个输入的解锁脚本必须依据相应输出的锁定脚本来验证。

以下挖矿节点取名为 A挖矿节点

挖矿节点时刻监听着传播到比特币网络的新区块。而这些新加入的区块对挖矿节点有着特殊的意义。矿工间的竞争以新区块的传播而结束,如同宣布谁是最后的赢家。对于矿工们来说,获得一个新区块意味着某个参与者赢了,而他们则输了这场竞争。然而,一轮竞争的结束也代表着下一轮竞争的开始。

验证交易后,比特币节点会将这些交易添加到自己的内存池中。内存池也称作交易池,用来暂存尚未被加入到区块的交易记录。

A节点需要为内存池中的每笔交易分配一个优先级,并选择较高优先级的交易记录来构建候选区块。

一个交易想要成为“较高优先级”,需满足的条件:优先值大于57,600,000,这个值的生成依赖于3个参数:一个比特币(即1亿聪),年龄为一天(144个区块),交易的大小为250个字节:

High Priority > 100,000,000 satoshis * 144 blocks / 250 bytes = 57,600,000

区块中用来存储交易的前50K字节是保留给较高优先级交易的。 节点在填充这50K字节的时候,会优先考虑这些最高优先级的交易,不管它们是否包含了矿工费。这种机制使得高优先级交易即便是零矿工费,也可以优先被处理。

然后,A挖矿节点会选出那些包含最小矿工费的交易,并按照“每千字节矿工费”进行排序,优先选择矿工费高的交易来填充剩下的区块。

如区块中仍有剩余空间,A挖矿节点可以选择那些不含矿工费的交易。有些矿工会竭尽全力将那些不含矿工费的交易整合到区块中,而其他矿工也许会选择忽略这些交易。

在区块被填满后,内存池中的剩余交易会成为下一个区块的候选交易。因为这些交易还留在内存池中,所以随着新的区块被加到链上,这些交易输入时所引用UTXO的深度(即交易“块龄”)也会随着变大。由于交易的优先值取决于它交易输入的“块龄”,所以这个交易的优先值也就随之增长了。最后,一个零矿工费交易的优先值就有可能会满足高优先级的门槛,被免费地打包进区块。

UTXO(Unspent Transaction Output) : 每笔交易都有若干交易输入,也就是资金来源,也都有若干笔交易输出,也就是资金去向。一般来说,每一笔交易都要花费(spend)一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是 UTXO。

块龄:UTXO的“块龄”是自该UTXO被记录到区块链为止所经历过的区块数,即这个UTXO在区块链中的深度。

区块中的第一笔交易是笔特殊交易,称为创币交易或者coinbase交易。这个交易是由挖矿节点构造并用来奖励矿工们所做的贡献的。假设此时一个区块的奖励是25比特币,A挖矿的节点会创建“向A的地址支付25.1个比特币(包含矿工费0.1个比特币)”这样一个交易,把生成交易的奖励发送到自己的钱包。A挖出区块获得的奖励金额是coinbase奖励(25个全新的比特币)和区块中全部交易矿工费的总和。

A节点已经构建了一个候选区块,那么就轮到A的矿机对这个新区块进行“挖掘”,求解工作量证明算法以使这个区块有效。比特币挖矿过程使用的是SHA256哈希函数。

用最简单的术语来说, 挖矿节点不断重复进行尝试,直到它找到的随机调整数使得产生的哈希值低于某个特定的目标。 哈希函数的结果无法提前得知,也没有能得到一个特定哈希值的模式。举个例子,你一个人在屋里打台球,白球从A点到达B点,但是一个人推门进来看到白球在B点,却无论如何是不知道如何从A到B的。哈希函数的这个特性意味着:得到哈希值的唯一方法是不断的尝试,每次随机修改输入,直到出现适当的哈希值。

需要以下参数

• block的版本 version

• 上一个block的hash值: prev_hash

• 需要写入的交易记录的hash树的值: merkle_root

• 更新时间: ntime

• 当前难度: nbits

挖矿的过程就是找到x使得

SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET

上式的x的范围是0~2^32, TARGET可以根据当前难度求出的。

简单打个比方,想象人们不断扔一对色子以得到小于一个特定点数的游戏。第一局,目标是12。只要你不扔出两个6,你就会赢。然后下一局目标为11。玩家只能扔10或更小的点数才能赢,不过也很简单。假如几局之后目标降低为了5。现在有一半机率以上扔出来的色子加起来点数会超过5,因此无效。随着目标越来越小,要想赢的话,扔色子的次数会指数级的上升。最终当目标为2时(最小可能点数),只有一个人平均扔36次或2%扔的次数中,他才能赢。

如前所述,目标决定了难度,进而影响求解工作量证明算法所需要的时间。那么问题来了:为什么这个难度值是可调整的?由谁来调整?如何调整?

比特币的区块平均每10分钟生成一个。这就是比特币的心跳,是货币发行速率和交易达成速度的基础。不仅是在短期内,而是在几十年内它都必须要保持恒定。在此期间,计算机性能将飞速提升。此外,参与挖矿的人和计算机也会不断变化。为了能让新区块的保持10分钟一个的产生速率,挖矿的难度必须根据这些变化进行调整。事实上,难度是一个动态的参数,会定期调整以达到每10分钟一个新区块的目标。简单地说,难度被设定在,无论挖矿能力如何,新区块产生速率都保持在10分钟一个。

那么,在一个完全去中心化的网络中,这样的调整是如何做到的呢?难度的调整是在每个完整节点中独立自动发生的。每2,016个区块(2周产生的区块)中的所有节点都会调整难度。难度的调整公式是由最新2,016个区块的花费时长与20,160分钟(两周,即这些区块以10分钟一个速率所期望花费的时长)比较得出的。难度是根据实际时长与期望时长的比值进行相应调整的(或变难或变易)。简单来说,如果网络发现区块产生速率比10分钟要快时会增加难度。如果发现比10分钟慢时则降低难度。

为了防止难度的变化过快,每个周期的调整幅度必须小于一个因子(值为4)。如果要调整的幅度大于4倍,则按4倍调整。由于在下一个2,016区块的周期不平衡的情况会继续存在,所以进一步的难度调整会在下一周期进行。因此平衡哈希计算能力和难度的巨大差异有可能需要花费几个2,016区块周期才会完成。

举个例子,当前A节点在挖277,316个区块,A挖矿节点一旦完成计算,立刻将这个区块发给它的所有相邻节点。这些节点在接收并验证这个新区块后,也会继续传播此区块。当这个新区块在网络中扩散时,每个节点都会将它作为第277,316个区块(父区块为277,315)加到自身节点的区块链副本中。当挖矿节点收到并验证了这个新区块后,它们会放弃之前对构建这个相同高度区块的计算,并立即开始计算区块链中下一个区块的工作。

比特币共识机制的第三步是通过网络中的每个节点独立校验每个新区块。当新区块在网络中传播时,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它。这确保了只有有效的区块会在网络中传播。

每一个节点对每一个新区块的独立校验,确保了矿工无法欺诈。在前面的章节中,我们看到了矿工们如何去记录一笔交易,以获得在此区块中创造的新比特币和交易费。为什么矿工不为他们自己记录一笔交易去获得数以千计的比特币?这是因为每一个节点根据相同的规则对区块进行校验。一个无效的coinbase交易将使整个区块无效,这将导致该区块被拒绝,因此,该交易就不会成为总账的一部分。

比特币去中心化的共识机制的最后一步是将区块集合至有最大工作量证明的链中。一旦一个节点验证了一个新的区块,它将尝试将新的区块连接到到现存的区块链,将它们组装起来。

节点维护三种区块:

· 第一种是连接到主链上的,

· 第二种是从主链上产生分支的(备用链),

· 第三种是在已知链中没有找到已知父区块的。

有时候,新区块所延长的区块链并不是主链,这一点我们将在下面“ 区块链分叉”中看到。

如果节点收到了一个有效的区块,而在现有的区块链中却未找到它的父区块,那么这个区块被认为是“孤块”。孤块会被保存在孤块池中,直到它们的父区块被节点收到。一旦收到了父区块并且将其连接到现有区块链上,节点就会将孤块从孤块池中取出,并且连接到它的父区块,让它作为区块链的一部分。当两个区块在很短的时间间隔内被挖出来,节点有可能会以相反的顺序接收到它们,这个时候孤块现象就会出现。

选择了最大难度的区块链后,所有的节点最终在全网范围内达成共识。随着更多的工作量证明被添加到链中,链的暂时性差异最终会得到解决。挖矿节点通过“投票”来选择它们想要延长的区块链,当它们挖出一个新块并且延长了一个链,新块本身就代表它们的投票。

因为区块链是去中心化的数据结构,所以不同副本之间不能总是保持一致。区块有可能在不同时间到达不同节点,导致节点有不同的区块链视角。解决的办法是, 每一个节点总是选择并尝试延长代表累计了最大工作量证明的区块链,也就是最长的或最大累计难度的链。

当有两个候选区块同时想要延长最长区块链时,分叉事件就会发生。正常情况下,分叉发生在两名矿工在较短的时间内,各自都算得了工作量证明解的时候。两个矿工在各自的候选区块一发现解,便立即传播自己的“获胜”区块到网络中,先是传播给邻近的节点而后传播到整个网络。每个收到有效区块的节点都会将其并入并延长区块链。如果该节点在随后又收到了另一个候选区块,而这个区块又拥有同样父区块,那么节点会将这个区块连接到候选链上。其结果是,一些节点收到了一个候选区块,而另一些节点收到了另一个候选区块,这时两个不同版本的区块链就出现了。

分叉之前

分叉开始

我们看到两个矿工几乎同时挖到了两个不同的区块。为了便于跟踪这个分叉事件,我们设定有一个被标记为红色的、来自加拿大的区块,还有一个被标记为绿色的、来自澳大利亚的区块。

假设有这样一种情况,一个在加拿大的矿工发现了“红色”区块的工作量证明解,在“蓝色”的父区块上延长了块链。几乎同一时刻,一个澳大利亚的矿工找到了“绿色”区块的解,也延长了“蓝色”区块。那么现在我们就有了两个区块:一个是源于加拿大的“红色”区块;另一个是源于澳大利亚的“绿色”。这两个区块都是有效的,均包含有效的工作量证明解并延长同一个父区块。这个两个区块可能包含了几乎相同的交易,只是在交易的排序上有些许不同。

比特币网络中邻近(网络拓扑上的邻近,而非地理上的)加拿大的节点会首先收到“红色”区块,并建立一个最大累计难度的区块,“红色”区块为这个链的最后一个区块(蓝色-红色),同时忽略晚一些到达的“绿色”区块。相比之下,离澳大利亚更近的节点会判定“绿色”区块胜出,并以它为最后一个区块来延长区块链(蓝色-绿色),忽略晚几秒到达的“红色”区块。那些首先收到“红色”区块的节点,会即刻以这个区块为父区块来产生新的候选区块,并尝试寻找这个候选区块的工作量证明解。同样地,接受“绿色”区块的节点会以这个区块为链的顶点开始生成新块,延长这个链。

分叉问题几乎总是在一个区块内就被解决了。网络中的一部分算力专注于“红色”区块为父区块,在其之上建立新的区块;另一部分算力则专注在“绿色”区块上。即便算力在这两个阵营中平均分配,也总有一个阵营抢在另一个阵营前发现工作量证明解并将其传播出去。在这个例子中我们可以打个比方,假如工作在“绿色”区块上的矿工找到了一个“粉色”区块延长了区块链(蓝色-绿色-粉色),他们会立刻传播这个新区块,整个网络会都会认为这个区块是有效的,如上图所示。

所有在上一轮选择“绿色”区块为胜出者的节点会直接将这条链延长一个区块。然而,那些选择“红色”区块为胜出者的节点现在会看到两个链: “蓝色-绿色-粉色”和“蓝色-红色”。 如上图所示,这些节点会根据结果将 “蓝色-绿色-粉色” 这条链设置为主链,将 “蓝色-红色” 这条链设置为备用链。 这些节点接纳了新的更长的链,被迫改变了原有对区块链的观点,这就叫做链的重新共识 。因为“红”区块做为父区块已经不在最长链上,导致了他们的候选区块已经成为了“孤块”,所以现在任何原本想要在“蓝色-红色”链上延长区块链的矿工都会停下来。全网将 “蓝色-绿色-粉色” 这条链识别为主链,“粉色”区块为这条链的最后一个区块。全部矿工立刻将他们产生的候选区块的父区块切换为“粉色”,来延长“蓝色-绿色-粉色”这条链。

从理论上来说,两个区块的分叉是有可能的,这种情况发生在因先前分叉而相互对立起来的矿工,又几乎同时发现了两个不同区块的解。然而,这种情况发生的几率是很低的。单区块分叉每周都会发生,而双块分叉则非常罕见。

比特币将区块间隔设计为10分钟,是在更快速的交易确认和更低的分叉概率间作出的妥协。更短的区块产生间隔会让交易清算更快地完成,也会导致更加频繁地区块链分叉。与之相对地,更长的间隔会减少分叉数量,却会导致更长的清算时间。

㈢ 比特币的交易费率是多少

OKEx比特币交易所的手续费全球最低,0.15%-0.02%,而且而且平台币OKB还不收费。

在Bybit,每一笔成功订单,Bybit平台会根据订单属性自动决定收取费用或提供奖励。对于市场的“做市商”:每个成功的限价订单,系统会给予基于合约价值的0.025%奖励。

对于市场的“受价者”:每个成功的市价订单,系统会基于合同价值收取合约价值0.075%的费用。价值5美元的比特币交易与价值5000美元的比特币交易所需要支付的手续费可能是相同的。

它们是通过”每字节数据多少聪(satoshis)“来衡量的。

㈣ 什么是比特时代

“比特”是英语bit一词的音译。bit一词是由binary(二进制的)和digit(数字)两个词压缩而成的,所以bit即“二进制数字”,亦即0和1。“数字时代”准确的意思是“二进制数字时代”或“比特时代”那么这0和1到底是什么意思呢?我们从一个简单的例子说起。
在使用电脑的时候,我们可以根据我们的需要和喜好,通过一些位于显示器底部的旋钮来调节显示图形,在这些旋钮下面,分别写着center(居中度)、size(大小)、brightness(亮度)、contrast(对比度)。这些调节都有一定的可调幅度,我们可能在这个幅度内任意选择哪一种居中度、大小等。除这些旋钮外,还有一个“机关”却不是这样,这个机关的两边分别写着0和1。这就是显示屏的开关。它没有调节幅度,通过它我们只能选择非此即彼的两种状态:开(on)和关(off)。显示屏的亮度、对比度等都有两个极点,在这两个极点之间的“值”是多值性的。而开关的周期只有两个值,即它的两个极点。“进制”的“进”,就是周期所包含的“值”。比如“十进制”数字,就是一个变化周期里包含十个“值”数字。同样道理,二进制数字就是变化周期里包含二个值的数字。我们采用何种“进制”对一种事物的存在状态计数,表面上,要看衡量事物状态的“值”的多少,其实“进制”与事物的状态值并无必然的、唯一的关联。事实上,电脑完全可以用0和1这两个数字将多进制状态的“值”表示或“翻译”出来。数是抽象的,但数的观念却源于人的具体的感觉经验。我们对于十进制计数方法习以为常。当一个人说“一年有12个月”这句话时,他可能觉得“12”这个数字唯一正确地表示了一年的月份数。

㈤ SuperCell--超级细胞

超级细胞

一.前言:

2100万枚,总量固定永远不通胀,这是比特币最鲜明特征之一。与“总量固定”的比特币不同,以太坊和EOS等加密币都保留了一定速率的通胀。从而超级细胞(SuperCell)横空而世。

二.介绍:

英文名:SuperCell 中文名:超级细胞 代币名称:“SC” “超级细胞(SC)”是一种基于ERC20智能合约的通货紧缩类自销毁的加密货币SC。SC得到国际知名区块链研发团队R4,区块链联盟,超级账本linux基金会的支持。SC作为一项社会实验和金融案例研究而出现在ERC20智能合约,来探索衡量通货紧缩类加密货币的可行性。

“超级细胞”的主要特征:

1.代币初始发行量666万

2.每次ERC20链上转账时,百分之1的交易量会被像细胞分裂怡亚通销毁

3.永远不会有代币增发

4.IBO在交易平台上线后,以IBO总数量的90%的ETH在交易平台以单价不低于0.00275ETH回购。参与IBO的矿工会有稳地收益,直至IBO完成,流通总量达到2000000SC。IBO总数量的10%用于应用开发。

三.项目背景:

“销毁代币”相信这4个字在ERC20智能合约加密货币中已经非常常见,不少交易所、项目方为了提升代币价值,都会通过回购代币销毁的方法,来减少流通量从而提高代币市场价格,如此研发团队提出大胆的设想与创新:通过智能合约自动销毁代币,每一次转账都会自动销毁1%的交易量。而之前很多加密货币的销毁模式,大都是基于人为主动操作,带有明显的人治色彩,无论是透明度还是可信任度都不高。 “超级细胞(SC)”研发团队表示:超级细胞出来的意图不是仅仅用于日常交易,而是用作对传统加密货币通货膨胀工具的一种去中心化对冲方案,一种分散的价值储存,它作为一项社会实验和金融案例研究,来探索衡量通货紧缩货币的可行性。

四.token经济模型

总发行量666万 (永不增发)

社区生态激励200万(每月糖果计划)

基金会200万(锁仓,每年释放百分之20%)

矿工IBO 200万 (参与SC矿工计划)

创史团队奖励 66万 (上线知名交易所奖励团队)

五.ERC20智能合约地址:



六.团队人员

大卫Vyravipillai ,是一名新加坡基金会的主席校长,自1985 年以来37年投资管理经历,毕业于哈佛大学,圣安德烈斯大学,大卫Vyravipillai是现超级细胞首席执行官创始人,负责超级细胞整个项目运营与发展。

乔什·肖尔斯,北卡罗来纳大学哲学与计算机研究学士,主修计算 机专业。曾是虚拟货币在线/国际支付和欺诈方面的专家,也是 Kraken 的创始人兼首席执行官,Kraken 是世界上最值得信赖和 最大的比特币交易所之一,是深入虚拟货币行业 15 年的资深人 士,现为超级细胞首席技术官 CTO,主攻技术研究与开发。

Manish Sharma,中文名:曼尼什·沙玛.曾是美国facebook工程师,拥有丰富的交易系统开发经验,能够做到 精细化控制事物;并精通主流开源框架,如 rocketmq,iBatis,netty,bbo,zookeeper,cat,mycat等,熟悉微服务化开发, 大数据量、高并发系统,拥有大型网站构建经验。现为超级细胞分布式工程师。

Brandon Arrindell 中文名:布兰登·阿林德尔 ,BBA Hons(会计与金融)新加坡国立大学出身,美国企业家、投资者、软件工程师。布兰登·阿林德尔是著名的 Mosaic 浏览器共同开发者,第一个被广泛使用的浏览器;网景通讯公司的 创始人;硅谷风险投资公司 Andreessen Horowitz 创始人和普通 合伙人,现为超级细胞顾问。

超级细胞(SC)将打造智能合约加密货币,第一可实用性通货紧缩类加密货币,打开加密货币通往世界的另一扇大门。

㈥ 匿名币被 *** 点名,强制下架的背后因素

加密货币世界中,匿名币算是比较少被提起的币种。但是在近期,韩国交易所Korbit率先下架DASH,Monero与Zcash三大匿名币,日本的Coincheck也同步执行,原因为何?

首先,我们要先了解「匿名币」与「加密货币」之间的差异。

一般加密货币与匿名币的差异

加密货币(Cryptocurrency)的重要定义有几点,「分散式系统」、「不可更改性」、「匿名性」。

分散式系统:意指资料库的存在形式是散布歼启在世界各个角落的,这不会因为某个中央化的资料库损毁,而造成资料流失。不可更改性:代表着交易后的纪录无法被窜改,这与系统本身所特有的共识机制有关系。匿名性:代表交易的双方无法被直接辨别。

笔者又粗略将加密货币分为两类,「一般加密货币」与「匿名币」,以下介绍:

所谓「匿名」,就字面上直观解释为「不 *** 实姓名或没有名字」,前者通常会有别称或代号,后者则什么资讯都没有。同样的,在加密货币的世界里,依照匿名的程度顷并(匿名性),也可使货币被区分为两种,「一般加密货币」与「匿名币」:

交易上不使用真实姓名,即「一般加密货币」交易上完全不使用任何名字,即「匿名币」

第一种方式,是所谓的「半匿名」英文称为「Pseudonymous」

第二种方式,「匿名」,英文用做「Anonymous」

要解释第一种方式,「半匿名」,我们拿最具代表性的「比特币」来做事例:

比特币的起始,来自于中本聪的论文,其中,簿记账的观念呈现在整个区块链的纪录当中。白话来说,就是在比特币的交易行为中,除了交易者的真名无法取得,其他资讯都是公开的,任何人都可以追溯其交易纪录,比如交易金额、交易时间等等。这就像是你在PTT、Dcard上面有自己的帐号,乡民们可以借由IP位置发现到这个人是不是在校园中使用,但雀改迹是没有人晓得帐号后面的人长什么样貌。

同理推断,「比特币」的「半匿名」特性,就像是你知道附近屋子(钱包位址)里面有多少钱、与哪些钱包在做交易、交易金额、交易次数等资讯,但是不知道屋主(拥有者)是谁。而且依照此特性,可以推断出钱包拥有者大概的轮廓。这样的「半匿名」特性,一旦有部分资讯被他人掌握的时候,便有机会藉着相关线索找到钱包拥有者。

正是这样的「半匿名」特性,让 *** 监管「一般加密货币」的期望成为可能。所以当使用者要注册、使用加密货币交易所的时候,相关帐号都要通过要KYC(KnowYourCustomer)认证。

「半匿名」特性的好处是,交易纪录公开,并且交易的安全性与公正性由「矿工」认证完成,所以双方不得有任何异议外,如果没有任何线索可以连结钱包位址与使用者真实身份,那么「匿名性」是没问题的。但是,每个人都查得到你的钱包位址,等于有机会辨别你的实际财富状况,一旦被辨别出钱包与使用者的相关性,会产生很多现实生活中的安全性问题。想像一下,日常生活中,你会希望每笔交易都被亲朋好友知道吗?想想看你刷信用卡购物之后,爸妈叫你过去跟他对帐的时候吧!

所以,「比特币」这类加密货币的匿名性,只存在于你的钱包位址并未被第三方知道、从未与法币有所连结的时候。只要知道了钱包位址,再加上KYC的帮助,就有办法找到使用者本人。

事实真的是如此吗?我们来看看区块链上的交易纪录实例:

1.笔者随意找了一个钱包位址「」

2.于区块链上查询此钱包

区块链透露了一些资讯,像是这个钱包总共有5笔交易,目前拥有0.7881枚比特币,总共拥有过29.8411枚比特币。交易纪录显示,最早这钱包出现在2018/01/14日,并由「」钱包汇入,这代表了这两个钱包之间一定有某种连结。blockchain.info/address/

3.发现到此钱包的交易纪录

此用户付款给「」钱包三次,总共支出28枚左右的比特币

4.有心人士即可透过相关资讯,去推断此钱包使用者的真实身份

当拥有这样的交易纪录,配上国际反洗钱法所推行的KYC之后,就有办法执行后续的各种行动;像是「征税」。同样的道理,在「以太坊」「莱特币」等相关数位货币上面的交易纪录也一样透明。若要拿这类容易被追溯的数位货币来进行各种地下经济作业,实在是没有什么道理。

有些人会认为当原有的钱包位址和个人资讯被曝光后,只要换了一个钱包(即钱包位址)就没事了,但实际上,若新旧钱包之间有资金转换时,资讯一样会存在于区块链上,也一样会被溯源。因此,即便拥有多个钱包,也必需要保证钱包与钱包之间不能出现交易,否则相关性就会被定义出来。况且,管理多个钱包的时候,记帐成本其实相当高呢。

题外话,加密货币的交易可借由各类加密货币或法币来完成,若以法币进行交易,即进入了 *** 所掌控的金融系统,因此笔者曾听闻有些人为了反追踪(想避税或降低价差等因素)而不想透过加密货币服务商做交易,反而采取线下面交等方式,但这其实很危险的,不但被骗时无从追溯,可能还有人身安全的问题。想像一下电影中的黑市交易情节,一边交货一边给钱,而且是很多的钱,在缺乏第三方的保护下,若是被骗可能只是某一方拿到钱拔腿就跑,但如果是起冲突,双方就开始火拼!哇,这也太 *** 了。

回到正题,比特币的匿名性不够强,不记名的「匿名币」就拥有了真实的应用情境与需求。

以公司法人与公司法人之间的交易做比喻,「一般加密货币」如同公司间的所有的交易资讯都被看得清清楚楚。想像一下,鸿海与旗下供应商的每笔订单交易纪录都公开的时候,对企业本身和对「股市」带来的影响该有多 *** ?再看看「匿名币」,就像是你听闻科技业的大小企业间分分秒秒都有交易在跑,但是你看不到企业名、交易金额、交易时间等等,但你身为第三方,只看得到一些无关痛痒的认证纪录。

由此可见,匿名币隐去「钱包位址」与「交易金额」这两项要素的特性,除了一般需求外,同时符合地下经济的需求,因为除了交易双方,其余人士都无法得知详细内容。这正是「匿名币」,会被特别点名出来的主要因素。

至于「匿名币」是否如上述的那么神奇?我们以Monero的区块链当作范例:

1.随意选去任一区块链交易纪录

区块链的公开资讯,仅有「FormBlock」、「Fee」、「Size」、「Mixin」,你要是没有PaymentID的金匙,根本什么也看不出来。

2.无法得知交易金额与钱包位址

Input与Output的交易金额总数都显示为0,外人什么都无法得知。

统整上述使用「匿名币」的需求动机:

需要达到现在银行体系提供给我们的隐私保护级别,降低资讯被披露所带来的风险。需要超越现有金融体系所带给我们的隐私保护级别。

但是「匿名币」的使用动机,以 *** 监管的角度来说,是件难以处理的事情。笔者认为,这正是「匿名币」被要求下架之因素,因为没办法管,所以只能降低其流动性。

「匿名币」的后续还有太多可以了解的部分,有兴趣的读者可以前往笔者网志「林小狗研究室」与笔者一同做更多的学习与研究。如果比较不了解加密货币的读者,可以先前往阅读「数位货币懒人包」系列文章或是留下您的资讯,以供后续与各位更新。

笔者整理出几个为提升「匿名性」常见的方法,供读者进一步查询。

StealthaddressesMix(混币)RingCT(环形签名)Zero-knowledgeSuccinctNon-(zk-SNARKs)(零知识证明)Tor

未来还有很多主题可供探讨,笔者先举列几个题目,有兴趣的读者可以留言给我。

匿名币在「匿名性」程度上的差异「隐私保护技术」的方法论现在有哪些匿名币存在于世上?匿名币中有矿工的存在吗?

热点内容
区块链到底忽悠谁 发布:2025-07-26 16:59:11 浏览:320
以太坊矿池下载 发布:2025-07-26 16:59:10 浏览:75
研发区块链的上市公司 发布:2025-07-26 16:59:09 浏览:409
分层区块链 发布:2025-07-26 16:39:39 浏览:895
普通家用电脑能挖比特币吗 发布:2025-07-26 16:23:50 浏览:297
币圈tc是什么意思啊 发布:2025-07-26 16:15:02 浏览:865
以太坊哪个挖矿软件好 发布:2025-07-26 16:10:40 浏览:811
eth32枚有什么用处 发布:2025-07-26 16:08:02 浏览:971
比特币的工作量证明机制 发布:2025-07-26 15:59:13 浏览:910
eth行业前景 发布:2025-07-26 15:59:02 浏览:926