Ⅰ 什么是比特币合约
比特币合约的基础
比特币合约,是指无需实际拥有比特币也可进行交易的合约。 它与必须实际持有数字货币才可进行的币币交易有很大不同。
比特币合约使你能够预测比特币的价格走势和对冲风险。 这种交易方式,意味着你投资的是价格趋势,而非资产本身。
在交易比特币合约时,你可以决定做空还是做多。 选择做多,表明你预计比特币价格将会上涨。 另一方面,选择做空表明你预计价格将会下跌。
杠杆交易
可以选择高杠杆率进行交易,是比特币合约的一项特性。 使用杠杆, 意味着你在进行合约交易时,不必投入100%的交易金额。 相反,你只需要存入初始保证金,而保证金额度仅占合约总价值的一小部分。
杠杆交易让你在风险管理的同时,用少量的资金占有较大敞口。
永续合约
虽然合约有许多不同类型,本文主要关注永续合约。 顾名思义,这些合约没有到期日。 使用永续合约做多或做空的交易者,可以无限期持有头寸,除非合约爆仓,这意味着他们遭受的亏损不会超过初始保证金。
永续合约中,比特币的定价以特定的指数价格为基础。 指数价格基于多个币币交易市场上比特币的平均价格。
比特币合约已成为一种非常流行的交易工具。 许多传统投资者尚未准备将资金分配到数字资产上,但仍希望从诱人的价格波动中受益,而合约交易为他们打开了大门。
如要开启比特币合约交易,需要找到提供合约交易的交易所。 AAX平台,在合规和安全的环境中,为你提供比特币合约交易服务。
Ⅱ 比特币的价值在哪
中本聪设计比特币的初衷,是希望构建一个去中心化、交易信息不可篡改、货币总量恒定的点对点交易网络,来解决法币超发,通货膨胀等问题。
这是比特币最开始设计的价值所在,保持大家拥有货币的购买力。
但后来比特币的发展,违背了中本聪的设想,9年间比特币的价格暴涨了数百万倍,创造了无数的暴富神话,也带动了另一个产业——挖矿。
比特币的价值变成了“暴富”的工具,越来越多的人加入到比特币网络,希望可以实现财务自由。比特币等数字加密货币成为了投资品,类似钻石或者黄金。
人们通过购买比特币,以达到财富增值的目的,也可以实现在很多动乱地区的资产保值。同时,很多人利用比特币价格的波动,进行投机,比如:搬砖,做波段等等。
比特币还有一个重要的价值不能忽视,就是区块链,比特币的底层技术。因为比特币的火热,让很多公司和个人开始关注区块链,并不断尝试利用区块链技术改变现有商业,创造新的价值。区块链正是借助比特币,才获取这么快的发展。
比特币对于全人类来说,也是一次伟大的社会实验,促进了金融行业的改革,让很多原有的事情有了新的观察角度。
Ⅲ 谁控制比特币
比特币是一种总量恒定的2100万的数字货币,它跟互联网一样,具有去中心化、全球化、匿名性等的特性,它低成本、无任何限制。没有说谁固定在控制着比特币,就连开发者也控制不了。从运行上讲,比特币实际是一个互联网上的去中心化的账本。比特币网络由全球比特币用户共同控制,除非绝大部分比特币用户一致同意做出某个改变(例如规则修改或版本升级),否则任何人或组织都无法改变或停止比特币运行。在比特币系统里,你能真正掌握你的钱,而不是通过银行间掌握你的钱,比特币在人类历史上第一次用技术手段保证了私有财产神圣不可侵犯。
(以上见解均来自于网络)
Ⅳ btcv是什么币
BTCV是一个pow机制挖的矿币,不是凭空发行的空气币。
BTCV币全称BitcoinVault,中文名称为比特币保险库,是一款致力于修改比特币原始协议缺陷的数字货币。BTCV币发行于2019年10月,发行总量为21,000,000BTCV。
BTCV币提供了基于三重密钥体系的高安全性区块链生态。它保留了比特币的所有便利,同时增加了交易透明度和自由度等重要的功能。BTCV币是集合过去十年数字货币领域经验教训,着力打造的新型数字资产。
(4)比特币可以更改协议吗扩展阅读
BTCV币的设计试图尽可能与标准比特币协议兼容。基本目标是尽可能减少对现有比特币全部节点、钱包、矿池和矿机的必要代码改变。
但是,如果对已有的区块链做出了改变,则需要实施硬分叉。为了避免改变区块首部的格式,使加密货币与比特币专用矿机不兼容,提醒部分的Merkle根哈希值储存在标准coinbase交易的输入值中。
如果需要实施硬分叉,则我们的目标是使过渡对现有加密货币用户而言尽可能容易。所有的现有脚本类别不改变其行为,因此在硬分叉实施前存在的全部加密货币均可以通常方式支出。但我们强烈建议切换到新的更安全的脚本。
Ⅳ 比特币矿池的协议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协议的配合下,矿池终于可以大声的对矿工说,让算力来的更猛烈些吧。
Ⅵ 灏忓反鎴愰暱璁-姣旂壒甯佺殑鍒嗗弶
鍓嶉潰璇村埌姣旂壒甯佹湁纭鍒嗗弶鍜岃蒋鍒嗗弶涔嬭达紝閭d箞銆
浠涔堟槸纭鍒嗗弶锛
纭鍒嗗弶鏄褰撴瘮鐗瑰竵鍗忚瑙勫垯鍙戠敓鏀瑰彉锛屽傛灉鍙戠敓鏃ц妭鐐规嫆缁濇帴鍙楃敱鏂拌妭鐐瑰垱閫犵殑鍖哄潡鐨勬儏鍐碉紝鍖哄潡閾惧皢鍒嗘垚涓ゆ潯鐙绔嬬殑閾撅紝鐭垮伐闇瑕佸湪涓ゆ潯鍖哄潡閾句腑閫夋嫨涓鏉¤繘琛屾寲鐭裤
浠涔堟槸杞鍒嗗弶锛
杞鍒嗗弶鏄褰撴瘮鐗瑰竵鍗忚瑙勫垯鍙戠敓鏀瑰彉锛屾棫鐨勮妭鐐瑰苟涓嶄細鎰忚瘑鍒拌勫垯鏄涓嶅悓鐨勶紝瀹冧滑灏嗛伒寰鏀瑰彉鍚庣殑瑙勫垯缁х画鎺ュ彈鐢辨柊鑺傜偣鍒涢犵殑鍖哄潡銆傚洜姝よ蒋鍒嗗弶涓嶄細浜х敓涓ゆ潯鍖哄潡閾撅紝鑰屾槸鍦ㄥ師鍖哄潡閾句笂鍚屾椂瀛樺湪鏂般佹棫涓ょ嶈妭鐐规寲鐨勫尯鍧椼傜被浼间簬杞浠跺崌绾т箣鍚庝綘淇濆瓨浜哤ord2007鏂囨。鐨勫悓鏃朵綘渚濈劧鍙浠ョ敤Word2016鏉ュ幓鎵撳紑鍘熸潵W2007鐨勬枃鏈锛岃繖灏辨槸鍏煎广
濡傛灉姣旂壒甯佺湡鐨勫垎鍙夛紝鏈澶х殑椋庨櫓灏辨槸鈥滈噸鏀炬敾鍑烩濄
閲嶆斁鏀诲嚮鏄鍦2016骞7鏈堬紝浠ュお鍧婂湪杩涜岀‖鍒嗗弶鐨勮繃绋嬩腑鍙戠敓鐨勩傚綋鏃剁殑浜ゆ槗骞冲彴鍜岀敤鎴风敱浜庣涓娆¢亣瑙佽繖绉嶆儏鍐碉紝鎵浠ョ粡楠屼笉瓒筹紝鍥犳や篃涓烘ゅ彈鍒颁簡涓嶅皬鐨勬崯澶便備妇涓渚嬪瓙锛屾瘮濡傝存瘮鐗瑰竵琚鍒嗚傛垚涓绉嶆垨澶氱嶆瘮鐗瑰竵锛屽垎鍒鍙鍋氭瘮鐗瑰竵1锛屾瘮鐗瑰竵2鍜屾瘮鐗瑰竵3锛岀敤鎴疯处鍙峰唴閮藉瓨鏈夎繖涓夌嶅垎瑁傚悗鐨勮揣甯侊紝姣忔潯閾句笂鐨勫湴鍧鍜岀侀挜浜х敓浜嗙畻娉曠浉鍚岋紝浜ゆ槗鏍煎紡涔熷畬鍏ㄧ浉鍚岋紝瀵艰嚧涓鏉¢摼涓婄殑浜ゆ槗鍦ㄥ彟涓鏉¢摼涓婁篃寰堝彲鑳芥槸瀹屽叏鍚堟硶鐨勶紝鎵浠ヤ娇鐢ㄨ呭氨鍙浠ョ敤涓鏉¢摼涓婄殑浜ゆ槗鍒板彟涓鏉¢摼涓婇噸鏂板箍鎾锛屼篃鍙鑳藉緱鍒扮‘璁わ紝杩欎釜灏辨槸閲嶆斁鏀诲嚮銆傜畝鍗曡达紝褰撲綘鍦ㄨ浆璐︽瘮鐗瑰竵1鐨勬椂鍊欙紝姣旂壒甯2鍜屾瘮鐗瑰竵3涔熷彲鑳借鍚屾椂杞璧帮紝濡傛灉浣犺浆鍑虹殑鍦板潃涓嶆槸鑷宸辩殑锛岄偅涔堥偅浜涙瘮鐗瑰竵2鍜屾瘮鐗瑰竵3鏈夊彲鑳藉氨鍐嶄篃鎷夸笉鍥炴潵浜嗐
瀵逛簬鐢ㄦ埛鏉ヨ达紝涓轰簡闃叉㈡瘮鐗瑰竵鍒嗗弶甯︽潵鐨勨滈噸鏀炬敾鍑烩濈殑椋庨櫓锛屼綘灏遍渶瑕侊細
鏂规硶涓锛屽湪鍒嗗弶灏樺焹钀藉畾涔嬪墠锛屼笉瑕佽浆璐︽瘮鐗瑰竵锛屽皹鍩冭惤瀹氫箣鍚庯紝鍙浠ュ垎鍒杞鍒拌嚜宸变笉鍚岀殑涓や釜閽卞寘鍜屽湴鍧閲岋紝鐭ラ亾涓や釜璧勪骇褰诲簳鍒嗙诲畬鎴愶紝鐒跺悗鍐嶈繘琛岃浆璐︺傝繖涓鏂规硶鍙鑳介渶瑕佹秷鑰楀ぇ閲忕殑鏃堕棿鍜屾墜缁杩欍
鏂规硶浜岋紝灏嗚嚜宸辩殑姣旂壒甯佹斁鍦ㄩ潬璋辩殑閽卞寘鎴栦氦鏄撳钩鍙伴噷锛岃繖浜涙湁瀹炲姏鐨勪氦鏄撳钩鍙颁細鐢ㄦ妧鏈瀹炲姏鏉ュ府浣犲勭悊鍒嗗弶鍚庨亣鍒扮殑鍚勭嶉棶棰樸
2018-03-25
Ⅶ 比特币平台升级什么时候才能完善好
比特币现金5月15日硬分叉升级才过去不久,比特币现金开发团队就在为2018年11月15日的升级做准备了。7月5日,比特币现金开发团队BitcoinABC发布了比特币现金升级时间表,详细说明了下一步的计划。
该时间表提出了两个比较重要的时间点:8月15日和10月15日。
8月15日将作为下次升级代码完成的时间。Bitcoin ABC团队发布的公告解释道“由于相关协议升级的风险高于正常水平,每个人都需要时间来审查所涉及的更改代码。为了应对这种情况,Bitcoin ABC将8月15日作为代码的完成日期,超过此日期的协议更改将在明年5月份的硬分叉升级中实现。”8月15日之后,这些提交的代码将会在测试网上进行测试。这就意味着开发人员要在8月15日之前就要完成下一次升级的协议更改。
10月15日是结束测试并发布新版本的时间。如果经过8月15日到10月15日两个月的测试和调试,没有什么重大问题,Bitcoin ABC将在10月15日结束测试,并发布比特币现金新版本0.18版的正式版。
10月15日到下一次升级的时间11月15日这一个月的时间将会交给节点运营商,让他们有足够的时间完成升级。
Bitcoin ABC之所以此次要非常隆重的推出时间表是为了11月15日的升级能够顺利进行,不再出现5月份的硬分叉升级的小插曲。而且希望大家能够提前了解到这些日期,并积极的参与进来,为新版本的使用贡献力量。
虽然Bitcoin ABC早早的将下一步的升级时间表公布了出来,但是在这个开发时间表中却没有透露11月份升级中要改动的内容。
我们知道比特币现金自8月1日诞生之后已经顺利的完成了两次升级。一次是在2017年11月13日升级修复了网络难度调整算法,将之前的EDA改成DAA。升级之后比特币现金出块时间变得非常稳定,都保持在10分钟左右。第二次则是上半年的5月15日硬分叉升级,将比特币现金的区块上限调整为32MB、重新启用了一些OP-codes,将OP-Return的容量增加到220字节。此后,比特币现金社区基于此次改变推出了很多好玩有趣的应用。
虽然下次升级的内容目前还没有公布,但是关于下次升级开发团队成员也有很多讨论。例如现在正在讨论和测试的BCH新的交易订购法则,OP_Datasigverify,代币,UTXO证明,重新引入其他先前删除的OP_Codes。
除此之外还有一些提案:通过OP_Datasigverify的二进制合同,使用石墨烯宣布区块的高效方法,修订DAA,双花证明的创建和转发,以及单位为1/1,000,000BCH的命名等等。不过在这些众多讨论中没有在出现区块上限的增加,这表明上次在这一方面的升级已经是足够的。不管比特币现金将推出哪些改进,接下来都将在8月15日提交的代码中呈现。
虽然目前的比特币现金已经非常受欢迎了,但是比特币现金一直还在进行一次次的升级,不断的创新,不断的完善自己。因此比特币现金未来会变得更好,更加满足市场的需求,支持它的用户也将会指数增加,它的币价也会受到影响有所提升。最终将能实现它最初的目标,帮助更多的人,成为世界上最好的货币。