矿机双花
Ⅰ 闪电比特币与BCH的不同之处是什么闪电比特币LBTC与其他分叉币的不同是什么
其他比特币的分叉币类似BCH,普遍采用PoW共识机制,普通用户仍然需要Asic矿机挖矿。然而,这些币种,以BSV、BTG为代表,本身极易遭到51%的双花攻击,网络状态不稳定。同时,转账速度比较慢,区块容量很小,难以支持大规模的商业落地应用。
LBTC的目标是实现中本聪“点对点电子现金”的愿景,成为价值互联网传输协议。LBTC未来会增加用户交易的隐私性、高效性,更加便于用户使用,成为真正大规模落地的加密货币。同时,LBTC将致力于改进现有的中心化交易所的运行效率,为用户提供更多交易可能。
Ⅱ 关于比特币的谜题(完结)
你可曾想过: 为什么矿机算力越大越好?(既然是解数学题那为什么不是拼谁的算法厉害啊喂!) 比特币的数量总和为什么是2100万? 比特币盗窃是怎么回事? 我不玩比特币,就真的与比特币无关了吗…… 🤔️
关于大众不再感到陌生的比特币,背后还有许多巧妙之处。本文介绍了比特币的基本原理和主要原则,并结合对部分技术细节的剖析,来对上述的一些疑问作出解答。全文较长,约7000字,阅读时间约为22分钟,建议收藏后阅读😁
文章可以分成以下几个部分:
* 比特币先验知识
-- 密码学相关
-- 比特币重要概念
* 交易的生命周期
* 区块链的构成
* 区块链的生长
-- “挖矿”的数学本质
-- “矿工”的收益
* 比特币的共识机制
-- 比特币的去中心化共识
-- “最长链优先”原则
* 比特币安全性
比特币作为第一个去中心化的数字货币,其设计中运用了不少的密码学相关知识,主要包括非对称加密技术、哈希函数等等。理解这些密码学知识,能帮助我们更好地理解比特币中的一些概念及规则。
以下是比特币的一些定义及概念解说,了解过的小伙伴们可以直接跳过~
在比特币这个创新的支付网络中,一个交易的生命周期大概可以分为几个阶段:创建、传播和被验证交织、被打包进区块记录到区块链中、获得更多的确认。图1对这几个阶段做出了示意。
注:
1⃣️一个支付方A在发起一个比特币交易时,会使用自己的私钥对交易信息的哈希值进行签名。因此A向全网广播的内容除了交易信息之外,还有自己的公钥信息、对消息的签名。其他矿工只要利用A的公钥即可对这个交易进行验证,判断是否真的由A创建。
2⃣️”交易传播和交易验证“交替意味着 各个节点基于一定的规则独立验证每个交易(共识基础1) , 一个节点只有认为这个交易有效才会把它继续传播出去。
比特币的底层技术是区块链。区块链系统是一种分布式共识系统,区块链网络中所有的参与节点将就交易的状态达成一致。
区块链到底是什么呢?你可以把它理解成一种分布式的交易的共享账本,以区块为基本单位链接在一起。交易信息将被整理并打包记录在区块中。每一个区块,包含区块头,以及紧跟其后的交易列表。区块头包含3个区块元数据集合:前序区块哈希(严格来说是前序区块头哈希,因为只有区块头被用于哈希运算)、元数据集(包括难度、时间戳、随机数等)、一个基于加密哈希来高效概括区块中所有交易的默克尔树(merkle tree)。了解这个结构,将帮助我们更好地理解挖矿的数学本质。
你可能听说过“挖矿”这个词,或者听说众人争相购买挖矿机器来发家致富。但让人疑惑的是:都说打包区块的本质是解数学难题,但单凭那些看似简陋的机器嗡嗡嗡疯狂耗费电力,就能确保自己解出比特币难题的胜率高了吗?比特币技术原理中,矿工们解决的数学题,难道是一个暴力破解题?
看了一圈,发现矿工们解决的题,还真有点暴力破解的意思,每次尝试解题的过程几乎都是茫茫然、去碰运气的。拼的是谁足够幸运,也拼谁算的足够快;算的快了么,试错次数多,自然胜算也就大了。
解题的背景是这样的—— 挖矿节点通过基于工作量证明算法(Proof-of-Work,POW)的证明运算,独立将交易汇聚到新区块中(共识基础2)。 当矿工从网络中接收到一个新的区块的时候,他发现自己已经在上一轮竞争中失败了,所以立即开始新区块的挖矿过程。为了创建一个新的区块,他从内存池中选择交易来填充区块(加入区块的第一笔交易是一个“铸币交易”,3.2节会给出详相关细节)。接下来是填充字段来创建区块头(包括前序区块的区块头哈希、交易的默克尔树(Merkel树)、时间戳、难度目标值、随机数),然后开始计算这个新区块的工作量证明。
这个计算的过程简单来说是对区块头部进行两次sha256运算,得到一个RESULT,如果这个RESULT满足特定要求,这个人才能算是算对了、才有权利去记账。满足要求的RESULT被称为“工作量证明”(中本聪论文中称为“proof of work”)。
关于这个计算过程,强调以下几点:
第一,区块头部,包含了前序区块头部的哈希、本区块交易信息的默克尔树、时间戳、难度目标值、随机数等信息(见图2)。
第二,哈希运算具有“知道y,无法推出使得h(x)=y成立的x”、“即使输入只改变一点点,输出也会差很多”、“利用任意长度的数据作为输入,生成一个固定长度的确定结果”的特性。所以大家也不知道什么样子的输入才能产生自己想要的结果,矿工只能不断尝试。
第三,前面说到,区块头哈希值需要满足一个特定要求才能成为工作量证明——小于某一阈值,或者说哈希值含有给定前缀。阈值的大小求和挖矿难度有关:挖矿难度是一个动态参数,其值越大,则阈值越小,说明哈希值符合要求的概率更小,矿工每次计算能成为工作量证明的概率越小。比特币有一个自我调节过程——通过对现有的挖矿算力情况进行估算,来对应调整挖矿难度,可以保证区块链每十分钟出一个块,达到控制发行速度的目的。(这个过程的基本思想类似产品笔试的数据估算题,根据“一个提供、一个需要“的思路去构造一个等式,然后求解等式一边的一个因子;想了解挖矿难度系统和调整方式的同学可以进一步查阅~)
综合以上三点来看,为了产生工作量证明,用户基本上会通过调整随机数来碰运气(因为其他字段基本不变)、进行多次运算直至符合要求,别无他法。如此一看,随机数就具有“幸运数字”的意味了。因此,平均来讲,谁计算的能力越强(尝试的次数越多),就更有希望打包块。
你可能会想,矿工这么心甘情愿地消耗算力去维护区块链,是受到怎样的利益驱使呢?简单来说,矿工的收益来源有二:1、计算出工作量证明,创造一个新区块所获得的新币奖励;2、记账矿工费。
当矿工找到工作量证明、打包一个新区块,并把区块传送给他的所有对等节点。 每一个挖矿节点都独立验证新区块、把合格的新区块整合进区块链(共识基础3) ,并把这个区块继续传给自己的对等节点。结果是,只有经过验证的区块才会在网络当中广泛传播,保证了诚实矿工挖出的新区块能被区块链所接纳。挖矿成功的个体节点或集体节点,可以同时获得新币奖励和记账矿工费。
新币奖励类似于货币的发行,其遵循规则是,第一个四年每一个新区块产生50btc,第二个四年每一个新区块产生25btc,第三个四年每个新区块产生12.5btc,如此周期指数递减。按照等比数列求和可知,到2140年,比特币产生的总和约为21000000(所以说比特币数量有限,天生紧缩)。届时,不再随区块的产生增加新的比特币,矿工不再拥有第一项收益。但现实中,由于挖矿成本高昂,挖矿成功的往往是是一个矿池的所有参与者。收益被分给矿池地址,矿池按照组内算力贡献比例来分摊收益的。
记账矿工费又称交易费用,以交易输入和交易输出之间的差值的形式存在;一个区块的总交易费用是对加入区块的所有交易的(交易输入-交易输出)求和。一般来说,矿工费越高的交易,会越快被处理。而矿工费在这里起到两个作用,一个是奖励矿工,另一个是防止主链滥用(防止大家发送交易垃圾信息,因为提出交易是有一定代价的)。
矿工的收益以什么样的形式被验证呢?这里不得不提到 “铸币交易” 。每个计算机节点在进行工作量证明计算之前加入区块的第一笔交易,正是“铸币交易”。这个交易从无到有生成比特币,其金额是新币奖励与记账矿工费的总和,被支付到挖矿矿工自己的比特币地址。如果矿工找到了一个工作量证明使区块有效,他就赢得了这个奖励,因为他构造的“铸币交易”生效了。
关于铸币交易和“新币奖励”,之前有一个读者问我:一个矿工把自己挖到新区块的消息公布出去,他的工作量证明 不会被别人剽窃 吗?
个人认为,至少“铸币交易”能防止这件事情发生。让我们来重申一下计算工作量证明的过程——一个矿工E在新区块里加入了奖赏自己的“铸币交易”,并利用时间戳、前序区块头哈希、随机数、本区块交易的merkle树等信息计算出一个符合要求的工作量证明。
在这个过程中,merkle树啥样子,取决于包括“铸币交易”在内的本区块所有交易信息。因此可以把铸币交易视为工作量证明的间接变量之一。那么,即使其他人拿到了E的工作量证明,这个工作量证明也是带有E的印记的、与奖赏E的铸币交易相关的,别人根本无法纳为己用。
你还可以通过设想以下的场景来加深对共识基础2“挖矿节点通过基于工作量证明算法的证明运算,独立将交易汇聚到新区块中”的理解。
为什么一个挖出新区块的矿工不悄悄使个心眼,在创建区块之初就把铸币交易的金额设成1000BTC呢?原因在于每个节点都是基于相同的规则来独立验证区块的。矿工必须创建完美的、符合公共规则的、正确依据工作量证明方法的区块;而一个无效的铸币交易会导致整个区块无效,并被其他节点拒绝,永远无法成为账本的一部分。可以预想,为了生成这个工作量证明,矿工们已经投入了巨大的算力和电量去挖矿,如果涉嫌欺诈而被否决,其为挖矿付出成本都付诸东流。
综上所述,矿工不能冒领他人的奖励,而拿到奖励的矿工也必须只能拿取符合规定的数额。
比特币的卓越之处,在于建立了一种去中心化的自发共识。这种共识是自发产生的,是成千上万在网络中遵循着共同规则的节点,在异步交互中形成的,不依赖于任何中央机构的调解和干涉。
关于比特币的4项主要共识基础,本文在讲解对应细节时有提及,下面做一个整合:
这四个过程相辅相成、互相作用,形成了自发的全网共识,促使全网节点组合出可信、公开、权威的总账。
你可能会想,比特币是一个去中心化的、基于大众信任的、依靠众人力量运转的一个东西。万一有一部分矿工被坏人收买了咋办呢?“51%攻击”指的又是什么?比特币交易所要求的“6个确认”又是怎么回事?
这里首先要提到比特币的一个规则“ 最长链优先 ”。意思是, 比特币的账单链在出现分叉的时候,每个矿工会独立选择长(累积了最多工作量证明)的链条,在上面继续挖矿工作(共识基础4) 。
这个原则主要涉及到两个问题:
当有两个矿工A和B同时挖矿成功(算出符合要求的数学答案)时,他们分别把自己计算出来的工作量证明作为下一个块的前序区块哈希,生成一个块衔接到原有的链后面,由此出现了两个分支。
这个时候,这两个成功的矿工广播了自己打包成功的消息。由于区块链是一个去中心化的数据结构,区块消息到达不同节点的时间点不一致,故不同的节点可能拥有不完全一样的区块链视图——有的矿工会先收到A的消息,有的则先收到B的消息。为了解决这个问题,收到消息的矿工们遵循一个原则:选择并尝试延长最长的链。
因此,这两条分支会各自成长一小段时间,直到他们的长度出现差异(不可能长度一直相同),比如说其中一条链的矿工们,更快地打包在支链后面又加上一块。按照“最长链优先“的规则,较短的链会被抛弃,原本工作在短链上的矿工们都回到长链上工作。
换言之,分叉只是不同节点暂时的不一致现象,当新区块被加入到其中某一分支时,最终收敛将解决这一个问题。[读者可以思考一下,为什么区块链被设置成每十分钟挖出来一个块:如果时间短了,是不是就增加了分支产生的次数?如果时间长了,是不是交易结算的效率就太低了?]
双重支付的本质其实也是区块链的分叉,但这种分叉却是“非自然恶意蓄谋”的产物。
我们假设小敏是密谋双重支付的一方,她把自己仅有的10BTC先给小强、交换一块黄金,待这条交易信息P被打包进区块Q后,她从小强手中拿到了黄金。这时,小敏使了个心眼,她想偷偷抹去、篡改区块Q上的交易信息P,“白嫖”这块黄金。为了实现这样的目的,根据“最长链优先”法则,小敏必须剔除该笔交易P后、重新进行结算工作,集中算力来形成分叉,并让分叉以更快的增速超过并取代Q所在的主链。如果小敏确实能让分叉更长,分叉就成为了主链,其他节点也会转向新主链上继续工作。这样,小强付出了黄金,却没有收到这10个比特币,“赔了夫人又折兵”。
在这个过程中,小敏需要和原链进行“抗争”,使新分叉成为最长的主链,这被称为“共识攻击”。“共识攻击”本质上是对下一区块的争夺,攻击方越“强壮”、哈希算力越大,就越容易成功。
“共识攻击“成功的可能性有多大呢?
大多数比特币交易所规定,一个交易传送到区块链上后需要6个「确认」来完成验证该笔交易。这一规定的根据是,假设意图造假的矿工拥有10%的算力(挖矿成功概率0.1),那么造假矿工要构造另一条伪链实施长度超越,必须至少成功挖矿6次。那么原链被取代、被抛弃的概率约为0.1的6次方,趋近于0。你可以把比特币理解为地质构造层,表层可能因为季节变换而有所改变,甚至可能被风刮走,但一旦深入到地下,地质层就能更加稳定、不受干扰。
而假设有一群拥有了51%算力的矿工,他们控制了一半以上的全网哈希算力,可以故意在区块链中制造分叉、进行双重支付交易 。但事实是,全网哈希算力的大量增加,个体矿工几乎不可能控制哪怕1%的哈希算力了(但矿池带来的算力集中化控制,存在一定的风险)。更何况,如果真有拥有如此强大算力的组织,他完全可以凭借自己强大的算力投入到挖矿中去获取开发新区块所获的的比特币奖励,诚实挖矿比双花更有利可图。
尽管实际上并未出现51%攻击的问题,但不可否认的是,算力的集中违背了比特币去中心化这一初衷,并成为其继续发展的一大隐患。
一个系统的安全性,往往取决于系统安全的最薄弱环节,这也就是所谓的“木桶原理“。与区块链系统相关的安全性问题包括但不限于以下几项:
(1)在区块链上被广泛使用的公钥系统基本上是安全的,但量子算法在理论上能够破解公钥系统;因此,区块链的算法安全性是相对的。
(2)区块链协议本身存在逻辑缺陷,例如受到黑客攻击的区块链系统共识机制。
(3)所有数字货币系统高度依赖私钥,私钥在存储、使用方面的安全性成为区块链系统安全性中至关紧要的一环。
尽管区块链是去中心化系统,但目前绝大多数数字交易所却是中心化的,存在着人为安全漏洞及技术安全漏洞。这些数字交易所拥有存放大量加密货币的私钥,这对于黑客来说无疑是最瞩目的目标;只要黑客偷走了这些私钥,就可以获取到这些加密货币。
作者会继续阅读相关资料、不断完善本文,目标是完成一篇通俗易懂的比特币科普文章。:)
**本文系网上信息与个人理解的结合,如有偏差及误读,欢迎读者指出。也欢迎给出关于文章结构上的指导~
Ⅲ ProofofWork的优点
ProofofWork的优点:
1、机制本身当然很复杂,有很多细节,比如:挖矿难度自动调整、区块奖励逐步减半等,这些因素都是基于经济学原理,能吸引和鼓励更多人参与。
2、理想状态,这种机制,可以吸引很多用户参与其中,特别是越先参与的获得越多,会促使加密货币的初始阶段发展迅速,节点网络迅速扩大。在Cpu挖矿的时代,比特币吸引了很多人参与“挖矿”,就是很好的证明。
3、通过“挖矿”的方式发行新币,把比特币分散给个人,实现了相对公平。
缺点:
1、算力是计算机硬件(Cpu、Gpu等)提供的,要耗费电力,是对能源的直接消耗,与人类追求节能、清洁、环保的理念相悖。不过,如果非要给“加密货币”找寻“货币价值”的意义,那么这个方面,应该是最有力的证据。
2、这种机制发展到今天,算力的提供已经不再是单纯的CPU了,而是逐步发展到GPU、FPGA,乃至ASIC矿机。用户也从个人挖矿发展到大的矿池、矿场,算力集中越来越明显。这与去中心化的方向背道而驰,渐行渐远,网络的安全逐渐受到威胁。有证据证明Ghash(一个矿池)就曾经对赌博网站实施了双花攻击(简单的说就是一笔钱花两次)。
3、比特币区块奖励每4年将减半,当挖矿的成本高于挖矿收益时,人们挖矿的积极性降低,会有大量算力减少,比特币网络的安全性进一步堪忧。
Ⅳ 在公链项目早期,为什么PoW是一个更好选择
在传统的互联网公司或金融机构中,如果一家公司,在一年之内,被委托的交易结算的总量为万亿美元的话,这家公司要么拥有可靠的技术和雄厚的资本,要么就是其它大公司及政府为其信用来做背书。而比特币却在没有政府或公司背书的情况下,在过去一年内支持了相当于一万亿美元的交易。这是因为比特币的工作量证明(PoW)机制确保了全世界的比特币矿工以点对点的方式去分布式地维护账本,且保证了其正确性和不可篡改性。
实际上,PoW 协议并不完美,它在运行过程中需要消耗大量的能量来计算哈希函数的结果,以保护区块链系统不被攻击。很多人认为这是一种“无用的能源消耗”。为了避免这种消耗,股权证明协议(PoS)便作为替代方案被提出。包括以太坊在内的几个著名的项目也开始探索股权证明协议(PoS), 甚至有人认为,PoS协议在未来将完全取代PoW协议。
但是,在对PoS 协议进行了深入的技术剖析之后,我们会发现:在一个公链项目的早期阶段,PoS 协议会带来很多问题,而这些问题在PoW协议下是可以避免。首先,使用PoS协议启动主网的公链项目,会不可避免地存在共识中心化的问题,因为主网上线的时候股权分布往往是相对集中的。此外,纯 PoS 协议还面临着远程攻击(Long Range attack)的威胁。最严重的远程攻击会导致新加入的节点必须信任一些中心化的网站给出的信息,而这会导致 PoS 公链成为一个本质上中心化的网络。去使用PoW协议启动主网的区块链则可以实现分散的共识,从而避免这些问题。当PoW公链经过一段时间的发展,股权分布相对分散以后,还可以选择PoW/PoS复合机制。
除此之外,还有一点值得注意的是,很多人误以为比特币的扩容问题是PoW机制的局限性造成的。我们经常在媒体网站或白皮书中看到这样的句子,“比特币因为使用了PoW机制,所以只能处理每秒3-7笔交易”。而事实上,经过适当的设计,例如,GHOST, Conflux 这样的PoW算法可以显著提高出块效率,达到每秒处理数千笔交易,且每笔交易都能得到全网节点的验证。
PoW v.s. PoS:如何确定投票权
关于PoW和PoS之间的主要区别,就是在于如何确定区块链共识中的投票权。 在PoW中,系统中的投票权与节点的计算能力成正比。每秒可以计算哈希函数次数越多,节点就越有可能赢得区块链中下一个区块的出块权。而在PoS中,系统的投票权与持有的股权比例成正比。节点拥有资金越多,能为确定的下一个区块投的票数就越多。
在公链早期阶段,股权中心化将导致共识中心化
对于一个公有链来说,其上线初期往往是股权最集中的时候。在主网上线伊始,创始块中分配的币绝大多数属于项目方和私募投资人,而这些人的数量往往非常有限。对于PoW共识机制,初始股权的集中不会带来安全性问题,因为它的出块和安全性不依赖于股权持有的分散,而是依赖于算力的分散。对于使用反 ASIC 矿机的挖矿算法的公有链来说,任何人只要拥有显卡和网络就可以成为矿工,这有助于促进更多人参与挖矿,实现早期算力的分散。只要超过50%的算力来自于诚实的矿工,区块链中的交易就是安全不可逆转的。
然而,在PoS共识机制下,股权集中会导致共识协议的参与者集中。区块链的出块权只能由少数在创世块中拥有股权的玩家决定。如果这些人合谋对区块链进行攻击,则完全可以成功的实现双花攻击(Double spending attack). 尽管开发者和投资人出于利益考虑不会进行这样的攻击来摧毁他们自己的公链,但PoS公链也无可避免的在主网上线后就被这些人垄断和支配。更糟的是,如果出块可以获得大量奖励和交易费用,这些垄断者就会将大量股权牢牢控制在自己的手里,使得PoS公链成为一个本质上由巨头控制的网络。
我们不要忘了,区块链的核心价值是什么?是去中心化的共识协议,保证了区块链系统中每笔交易的正确性、不可篡改性。如果共识协议无法保证参与者的分散,区块链就无法做到无需信任的安全性,那么区块链和传统的分布式系统相比就没有任何优势了,甚至传统的分布式系统能做得更经济更高效。因此,公链项目在早期使用PoW, 是避免共识中心化,保护区块链核心价值的明智选择。
“长程攻击”与“主观依赖”问题
在一个公有链中,一个攻击者如果拥有当下足够多的算力或股权,无疑是可以打破公有链安全性完成攻击的。但是在PoS 公链中,如果攻击者获得了一些账户的私钥,这些私钥在历史上某一时刻控制了超过51%的股权,也可以完成攻击,这种攻击的方式被称为长程攻击(Long Range Attack)。
在长程攻击中,攻击者首先获得一些私钥,只要这些私钥在历史上曾经获得了足够多的股权,便可以从这一时刻开始分叉进行51% 攻击,制造一条分叉链出来。而 PoS 的出块不需要进行工作量证明,攻击者可以短时间内让重写历史的分叉链追赶上原本的主链,从而造成PoS链的分叉和防篡改性被打破。
攻击者能够取得这些私钥不是天方夜谭。如果PoS公链的早期投资人在二级市场将持有的代币卖掉后,将账户私钥卖给攻击者,攻击者就可以从创世块进行长链攻击,从而可以打破一个链的安全性。如果一些投资者追求短期收益而非价值投资,攻击者从他们手里获得私钥就成为了一个可能的事情。
而为了应对长程攻击,则有各种各样的解决方案被提出:例如使用密钥演化算法更新密钥,以避免密钥被盗。但是如果早期投资者一开始就决定通过出售私钥获利,那么他完全可以保留密钥种子以绕开这一限制。还有一些解决方案基于这样一个事实:如果攻击者挖了一条完全不同的链,长期在系统中运行的节点或许有能力探测出这种异常。但是,这些方案依然存在如下问题:
PoS 长程攻击造成的分叉与 PoW 的分叉有所不同。PoW 的分叉链难以获得比特币全网算力,比特币矿工很容易从总算力中辨别谁是真正的比特币。鉴于PoS共识协议在实际运行时,绝大多数股权持有者只是区块链的使用者,并不会一直运行一台服务器。攻击者只要在一个历史节点拥有了相当与PoS实际参与者的股权比例,就可以制造出一条难以辨别的分叉链出来。配合女巫攻击(Sybil Attack),攻击者可以从区块历史和节点数量上都获得和被攻击主链接近的水平,令新加入的节点无法区分,只能通过人工指定的方式选择。这样新参与者必须咨询受信任节点来安全地加入系统,这一问题被称为“主观依赖”(Weak Subjectivity)
无利害攻击
无利害攻击(Nothing at Stake)是另一种PoS攻击方式。当一个 PoS 链因为网络延迟、长程攻击或其他原因出现分叉时,PoS 矿工可以选择在两个分叉的链上同时出块,以获取最大收益。而这违反了共识协议。
在PoW 链中,如果一个矿工想同时在多个分叉上挖矿,就必须将自己的算力分散在多个分叉上,所有分叉上分配的算力总和不会超过矿工拥有的总算力。对于多数矿工而言,将自己的全部算力投入到协议指定的链上是最优的选择。
然而,在PoS 多个分叉上同时出块所带来的额外成本可以忽略不计,而选择同时出块可以保证无论哪一条分叉链最终胜出都可获得收益。如果矿工遵守共识协议,只在协议指定的链上挖矿。一旦这个链被丢弃,矿工将会失去挖矿奖励。只追求挖矿收益最大化的矿工会在两边同时参与,不惜因此打破协议——这会导致链长时间维持分叉的状态。
与长程攻击不同,精巧的激励机制设计可以避免这一攻击。但无利害攻击依然表明让PoS链正确地运行是一件很困难的事情。
总结
虽然PoS 具有节省能源等优势,从而很多项目表示将采用PoS。但我们在分析区块链安全性假设后发现,避免了计算“无用的哈希”之后会引入很多攻击情形,而且目前没有很完美的解决方案。诚然PoS有能源效率的优势,但也带来了很多安全性威胁。在PoS很好地解决这些威胁之前,PoW消耗的能源,就像和平时期国家军队用掉的军费一样,阻挡了很多潜在的威胁。最重要的是,其中许多威胁在区块链项目早期显得尤其致命。这也是我们为什么相信新的公链项目应该从PoW开始。
Ⅳ 比特币的危机
2008年11月中本聪发布比特币白皮书,至今比特币已经走过了十年,这十年的发展可谓惊心动魄,经历数百次危机,最后都转危为安,且不断创造历史记录。它带来区块链技术,已经吸引大批全球顶尖专家学者探索研究。比特币真的可以持续创造奇迹吗?本文从以下几个方面阐述比特币面临的危机:
稳定币替代比特币支付
支付功能是比特币的核心功能,特别是用作跨境支付,不仅大大降低了支付手续费,而且节省了汇款时间。然而稳定币相对于比特币支付功能更加强大,比特币由于币值不稳定,用户使用比特币支付时需承担币值下降增加的成本。稳定币的主要特点就是币值稳定,能很好的起到交易媒介的功能,降低交易成本。现在稳定币正处于井喷期,已经出现上百种稳定币,随着稳定币的逐渐普及,将会逐渐占领区块链支付市场。
比特币与黄金的区别
比特币的通缩属性决定其更适合做价值储存,因此也被称为数字黄金,但比特币又不同于黄金。黄金在被挖掘出来之后即可做价值存储,不需要特殊的维护工作。而比特币需要矿机算力持续维护,如果算力减小,存在51%攻击风险,比特币价值会受到威胁。因此比特币用作价值存储也存在较大的风险。
做空比特币风险
随着比特币的发展,已经有越来越多的交易所开通比特币期货交易功能,参与比特币期货交易的用户也逐渐增多。据不完全统计,比特币期货合约每天交易量已经达到几十亿甚至上百亿元之多,而且还在持续增长。
前文已经讲述,比特币需要算力维持价值,存在51%攻击风险。随着比特币期货合约的发展额度达到几百亿美元甚至更多时,做空比特币将会带来巨大的收益,做空的动机也将越来越强。我们不能假设人类是善良的,假设大家不去做空比特币。只要做空带来的收益满足期望值,就一定会发生的,前段时间BCH硬分叉就是摆在眼前的例证,硬分叉后BCH价格一度下跌70%之多,导致加密货币市值蒸发数千亿美元之多。
比特币多次度过危机的原因
十年间比特币被死亡278次,最后都转危为安,价格屡创新高。因此很多人相信,比特币是不会死的,历史就是最好的证明。但历史不总是重复的,我们要探究本质,分析比特币能存活的真正原因。之前比特币出现危机几乎都是黑客攻击盗币、政府监管措施造成的,比如2014年“门头沟事件”,2017年9月14日中国政府严厉监管制度出台等。这些事件都没有动摇比特币的根基,因此在一段时间后市场消化了不利因素,比特币又会重新崛起。
但是如果出现矿工作恶,制造51%攻击,触及比特币的根基信任机制时,结果将会非常严重。由于市场的非理性,可能一次两次情况的发生并不一定导致比特币消亡,然而会严重制约比特币的发展。
中本聪当年创造比特币的时候或许并没有想到会发展成今天这么大的规模,他只是在之前电子货币的基础上用工作量证明的方式解决双花支付的问题,却带来一场伟大的社会实验。比特币未来不一定会继续成功,但它带来了区块链技术。区块链也许不是最优解,但在当下可以作为很多社会问题的解决方案,值的去探索发展。
Ⅵ 小巴成长记-比特币的技术来源
我们经常说比特币具有去中心化、不可篡改、不可伪造等特点。这是为什么呢?当然下面的文字其实并没有看起来那么吓人,姑且从三个方面来讲讲,你也要耐着性子听听吧。
1、非对称加密是比特币去中心化的来源
中心化是需要一个类似银行的中心机构来验证交易的。去中心化本质上是让所有的节点都能验证交易的真伪,中本聪用了非对称加密的技术来解决中心化的问题。
非对称加密技术是什么?是指加密和解密的时候使用不同的密钥的加密算法。比如:A要向B发送信息,A和B都要产生一对用于加密的公钥和私钥顾名思义,私钥就是不能公开的,公钥就是要公开的。A发送信息给B时,A就用B的公钥对信息加密,B收到后,B用B的私钥解密A的消息,而其他所有收到这个信息的人都无法解密,因为只有B才拥有这个私钥。
简单的说,公钥和私钥在非对称加密机制里是成对存在的,公钥和私钥可以去相互验证对方,我们可以把地址理解为公钥,把签名输密码的过程理解为私钥的签名。每个矿工在拿到一笔转账交易时,都可以时都可以验证公钥和私钥到底是不是匹配的,如果是匹配的,这笔交易就合法。这样,我们每个人只需要保管好自己的私钥,自己的公钥和对方的公钥就可以安全地进行转账,不需要中心的机构来验证对方发来的比特币是不是真的。
2、工作量证明机制是比特币不可篡改的技术来源
工作量证明 机制,是一种对在差不多时间内发生的事物的先后顺序达成共识的一种算法。监测工作的整个过程通常是效率非常低的,而通过对工作的结果进行认证来证明完成了一定工作的工作量,是一种非常高效的方式。比如我们日常中的各种证 驾驶证 学位证 结婚证就是这样一种有结果获悉完成工作量的证明。
工作量证明 的特点,对于执行方来说难度是适中的,对于验证方来说是非常容易被验证的。矿工们通过哈希计算,最先算出结果,获得记账权,其他节点经过非常简单的验证之后,就可以同样其记账,并同步账本。打上时间戳后,紧接着进行下一轮计算。
如果这时候有人想把某个信息进行修改,他需要做什么呢?他需要从这个区块开始把之后所有的区块都重新计算一遍,把账本再同步给其他人。而在他进行计算的同时,其他矿工们已经在原来的的链上继续往前进行计算了。因为在比特币的网络里,大家认为最长的链才是正确的链。所以,这个恶意篡改的人,需要在很短的时间内赶上现有区块的高度度,让自己的这条链成为最长的链,并让其他矿工误以为自己的这条链是正确的,这基本上是一件不可能的事,除非这个恶意篡改的人拥有超强的算力,至少超过全网的50%。那么我们来算算,现在全网的算力是8亿哈希每秒,也就是每秒进行8乘10的18次方计算,现在市场上流行的主流矿机每台的算力是10T左右,如果你想拥有全网51%的算力,你最少需要40万台最新矿机,如果按1万元每台矿机计算,仅设备就需投入40亿元人民币,加上矿机的供不应求,老矿机算力下降,全网算力的不断上涨等因素,如果不是为了60亿以上的利润回报并有强大的技术做支撑,一般人很难有这个动机和能力。
3、“UTXO”结构是比特币不可伪造的技术来源
先问个问题,如果我发给你1个比特币,你怎么知道这个比特币是真的而不是我伪造出来的,或者我已经同时转给了其他人了呢,这就要说到UTXO结构了。
UTXO(Unspend Transaction Output)是个什么鬼?意思是未花费的交易输出。来个栗子,假设我要给你100元,其中有两张张50元纸钞,一张是隔壁老王给我的,另外一张是小卖部小丽找零给我的,拿到这两张张钞票我需要拿在手上并还未花出去时才能交易给你,这就是未花费的交易输出。而通过这两张钞票往前追溯可以知道是谁交给了老王和小丽,并最终追溯到是由哪家银行发行,什么时候央行批准发行的源头,比特币里也有这样一个原理。在比特币世界里的每一笔转账,都能够追溯到上一笔交易。每一笔付款,都可以追溯到上一笔的收款。一直往上追溯到它诞生时矿工挖出来的那个区块。
这个机制就保证了在比特币网络里,比特币是不可以伪造和重复交易的。在比特币世界里,重复支付被叫做“双花”,就是花费了两次的意思。
Ⅶ LBTC是什么
从代码机制层面分析 LBTC 优点
DPOS机制
近年来由于POW的资源浪费、出块不够稳定、存在算力攻击等问题,虽然POW被公认为使用最广泛、最安全的共识机制,但对于全网算力不够大的区块链,还是存在很大被攻击的风险。越来越多的共识机制被提出运用到区块链项目中加以尝试及实验。DPoS则是目前主流共识机制中的一个,LBTC便采用了这个机制。DPoS保障了投票权在持币人手中,因此持币人将可以通过投票选择是否通过议案,从而决定项目的发展方向。这同时也意味着,项目的发展方向取决于关心项目本身的人群手中,众智的力量将推动项目更好地发展。同时DPoS机制的优点还有不存在算力攻击、严格遵守时间出块和节约资源等。
LBTC的DPoS优点
LBTC的DPoS机制也有其项目本身的特点: LBTC的节点个数为101个,比起21或51个节点,持币人在LBTC的钱包中最多一次可给51个节点投票,更加降低了中心化的风险; LBTC能够稳定3秒出块,再加上2M的区块大小,保证了LBTC是比特币效率的400倍,每秒的交易速度可达2000笔以上; 最重要也区别于其他项目、令人感到颇具新意的是,LBTC的DPoS机制存在不可逆块的规则。当一轮出块,出块代理人数达到90%以上或连续两人出块,出块代理人大于70%则都可认为上一轮的第一块,是不可逆的,从而防止分叉。
LBTC的防御措施
除了基于DPOS共识机制,LBTC的技术层面还有其他的亮点。
首先,LBTC可以防止【重放攻击】。什么是重放攻击?每个比特币账户内将根据他的比特币余额,同时存在对应数量的LBTC。如果每条链上的地址和私钥、算法等都相同,交易格式也完全相同,导致在其中一条区块链上发起的交易,完全可以放到另一条区块链上去重新广播,可能也会得到确认。这就是“重放攻击”。简单来说,当用户转账LBTC的时候,BTC也可能同时被转走。LBTC修改了交易签名中的哈希算法。在哈希算法中,LBTC新增了“LBTC”字段。LBTC与BTC生成的HASH将不一样,LBTC和比特币相互不承认彼此的交易,以此防止了重放攻击。
其次,防止【伪造挖矿】。比特币交易中没有投票和余额概念,为了LBTC的最大稳定,在Coinbase交易中新增加一个由OP-return组成OUTPUT,OP-RETURN数据由Publickey、Time,Sign(Time)三个字段组成,Time代表交易的时效性,Publickey验证Sign(Time),即非对称加密算法原理防止伪造别人挖矿。LBTC有101个节点,假设攻击者有30个节点,如果伪造剩余71个节点,则可让其他节点误认为攻击者的链为最长链,而进行出块,这就是伪造挖矿攻击。
第三, 防止【双花攻击】。双花攻击就是一笔钱花了两次,也可以称之为双重支付攻击。比如之前引起广泛关注的BTG近期遭受51%攻击。一名恶意矿工获得了BTG网络至少51%算力,临时控制了BTG区块链,在向交易所充值后迅速提币,再逆转区块,成功实施双花。LBTC由于前文提到过的不可逆块,当LBTC的区块的交易确定后,将不可能回滚,以此来实现防止双花攻击的目的。
第四,【多线程执行】。在LBTC的交易一致性、合法性检查中,将可以合并整合的数据合并,采用多线程执行,这大大提高了交易效率,增强了LBTC的性能。
LBTC的代码逻辑
此外,再从代码逻辑上来讲,LBTC分为协议层、共识层和应用层。 当需要传输价值的时候,通过协议层链接,以共识层完成交易,这个过程不只是能够作为价值的互换,也能够在三方连接中充当价值中介。而应用层则主要是基于智能合约来实现。在未来的发展路线中,LBTC将基于智能合约实现网关的功能。支付网关实现的是资产发行、资产交易、法币兑换、链上交互等。
所以LBTC才能这么有底气地说它要做全球价值互联网协议,通过支付网关可以实现任意货币间地兑换,不仅是币币间,法币和数字货币,法币间都可以。这不是非常方便吗?一键转换即可用越南盾买到ETH,转给远方的英国表妹,被她嫌弃,立即换成EOS,隔了1秒又换成英镑,再也不用多余的转换步骤,一步到位,岂不美滋滋?这么一分析,其实从技术代码层面分析LBTC还是挺靠谱的。不过比起那些专家,小编可不会忽悠你们,未来LBTC是否能实现去中心化的价值互联网协议,关注代码会是一种更为直观的方式。(LBTC的Github:https://github.com/lbtcio/lbtc-core)
如何使用网关?
接下来谈谈网关的“转换流通”的具体实现,可以大致分为3种:
第一,当LBTC系统搭建好网关技术后,以网关为桥梁,用户A可以将任何的货币兑换成LBTC,之后可以发送给任意想发送的用户B,而用户B则将LBTC兑换成自己需要的任意币种即可,这听起来是不是很像大家平时在交易所的操作?我想这也是LBTC提出要做“去中心化交易所”的缘由之一。
第二,用户A可以将资金存放在用户B信任的网关,经过网关转给B。
第三,由于LBTC在网关建设前期,将提供“任意用户皆可发行Token”的功能。因此,在LBTC系统中,如果用户A的信誉好,被大家认可,且又自己发行了A Token(当然这其中应该包含的是资产抵押实现的资产上链),A就可以把自己的A Token用于用户B的货币交换。用户A在此后也可赎回交换给B的A Token。A即是交易过程中的网关角色。
在以上提到的过程中,分别实现了资产发行、资产交易、法币兑换、链上交互的功能。
网关的使用类似于银行的功能,最主要可以解决跨境转账的问题,再加上LBTC的高TPS和低廉的手续费,实现跨境转账将变得非常便捷。比如需要在中国往美国汇款,需要向中国的LBTC网关汇入人民币,其后美国的网关将收到到来自中国网关的LBTC,再转换为美元,转发给美国的账户。 在如上网关系统中,可以得出,支付双方都不需要加入网络,只需要信任网关即可。
虽然网关解决了传统转账支付的慢速及手续费高的难题,但同时也面临着新的问题。
那么问题来了
除了LBTC邀请的符合标准的机构或项目方可以成为网关之外,普通用户之间,除了熟识者之间的相互买卖(实际上这种行为更倾向于借贷,如果仅是熟识者间的买卖,将会形成一个个相互独立的小网络),如何证明网关是值得信赖的机构或个人?
如何将LBTC的网关推广到与大型机构合作显然是摆在团队面前的问题。Ripple已经发展的较为成熟,目前已与日本的MUFG、澳洲的Westpac、英国的渣打银行等进行了合作,在有Ripple、恒星币等支付数字货币在前的铺垫,LBTC想要走出属于自己的路线,还需要有更多的特色,这一点可在后期的智能合约路线规划中有所期待。
但是,Ripple也因为分配方式被指责太过中心化,LBTC却因采用的DPOS机制拥有101个节点,并且由于是分叉币,发行时1:1分发给比特币的持有者,这可以说也是LBTC的先天优势——拥有广阔的分散性,如果在未来能够得到大众的支持和认可,达成共识,那么将会形成先天性的分布广的优势。
此外,在资产上链过程中又如何证明资产是确实存在于现实之中可用作抵押的呢?除了大型的机构列如银行之外,小型网络也会有其存在的必然性。资产上链的资产证明是极为重要的一部分,如果不加以规则和认证,那极有可能出现网关跑路或者虚假网关的事件。虽然网关被举例为“淘宝”平台,理论上平台是管不了商家的买卖内容的,但是平台对于商品质量是存在监管的,否则必将引起混乱。
去中心化交易所
再接回前面的第一点,就去中心化交易所再稍微谈一谈我的想法。目前,矿场和中心化交易所是区块链早期发展的主角,随着越来越多的交易所的崛起,中心化交易所陷入操纵丑闻等等,都给去中心化交易所得成长带来了空间。去中心化交易极有可能将价值真正带到区块链领域,成为区块链时代真正的主角。 LBTC凭借网关技术,可以实现去中心化交易所。 在LBTC的去中心化交易所中,用户自己的币,将交由自己保管,防止了币于中心化交易所丢失的可能。同时还能防止系统交易不透明、运营及技术的风险。 根据之前的网关采访介绍文章所说,LBTC还将联合靠谱项目方,上架交易所,为所有社区成员谋福利。总体来讲LBTC的发展路线比较清晰,于支付领域的目标也很明了,拿住了,伙伴们,未来可期!