区块链的优势与劣势
Ⅰ 区块链的缺点有哪些
区块链的优势很多,劣势也很明显。
1.不可篡改、撤销
这个既是优点也是缺点,在区块链里没有后悔药,你对区块链的数据变动几乎无能为力,主要体现在:如果转账地址填错,会直接造成永久损失且无法撤销;如果丢失密钥也一样会造成永久损失无法挽回。而现实中如果你银行卡丢了或者密码忘记了,还能到银行营业点处理,你的钱还在。
2.交易账本带乱必须公开
区块链是分布式,在公有链上,蠢做档等于每个人手上都有一份完整账本,并且由于区块链计算余额、验证交易有效性等等都需要追溯每一笔账,因此交易数据都是公开透明胡汪的,如果我知道某个人的账户,我就能知道他的所有财富和每一笔交易,没有隐私可言。
3.当数据越大伴随的性能问题
就像前面说的,每个人都有一份完整账本,并且有时需要追溯每一笔记录,因此随着时间推进,交易数据超大的时候,就会有性能问题,如第一次使用需要下载历史上所有交易记录才能正常工作,每次交易为了验证你确实拥有足够的钱而需要追溯历史每一笔交易来计算余额。虽然可以通过一些技术手段(如索引)来缓解性能问题,但问题还是明显存在的。
4.区块链的延迟性
区块链的交易是存在延迟性的,拿比特币举例,当前产生的交易的有效性受网络传输影响,因为要被网络上大多数节点得知这笔交易,还要等到下一个记账周期(比特币控制在10分钟左右),也就是要被大多数节点认可这笔交易。还受一个小概率事件影响,就是当网络上同时有2个或以上节点竞争到记账权力,那么在网络中就会产生2个或以上的区块链分支,这时候到底那个分支记录的数据是有效的,则要再等下一个记账周期,最终由最长的区块链分支来决定。因此区块链的交易数据是有延迟性的。
区块链做为一种理念的创新,在特定领域可以产生颠覆式的影响,面对区块链优劣势需要做的是扬长避短,用其所能。所以区块链能否成为新一代金融基础设施的底层技术,依然是一个问题。
Ⅱ 鍖哄潡閾剧殑鍏辫瘑鏈哄埗鏄浠涔堬紝鏈夊暐浼樼己鐐癸紵
娣卞叆瑙f瀽锛氬尯鍧楅摼鍏辫瘑鏈哄埗鐨勫ゥ绉樹笌浼樺姡鍖哄潡閾炬妧鏈鐨勬牳蹇冨熀鐭冲湪浜庡叾鐙鐗圭殑鍏辫瘑鏈哄埗锛屽畠濡傚悓绀句細鐨勫叡璇嗚勫垯锛岀‘淇濅簡鍒嗗竷寮忕綉缁滀腑鐨勪俊鎭鍚屾ヤ笌鐪熷疄鎬с傚叡璇嗙畻娉曟槸鍖哄潡閾惧備綍鍦ㄥ幓涓蹇冨寲鐨勭幆澧冧腑锛岃╂墍鏈夊弬涓庤呭逛氦鏄撶粨鏋滆揪鎴愪竴鑷寸殑鍏抽敭鏈哄埗銆
鎯宠薄涓涓嬶紝濡傛灉鍖哄潡閾句笘鐣屾病鏈夊叡璇嗙畻娉曪紝姣忎釜鑺傜偣閮芥湁鑷宸辩殑璐︽湰锛屼换浣曚汉閮借兘闅忔剰淇鏀癸紝绯荤粺灏嗛櫡鍏ユ贩涔便傚叡璇嗙畻娉曞氨濡傚悓娉曞緥锛屼负鍘讳腑蹇冨寲浜ゆ槗鎻愪緵浜嗙З搴忥紝淇濊瘉浜嗕氦鏄撶殑鍏姝d笌涓鑷存с傛瘮濡傛瘮鐗瑰竵鐨勫紑鍒涜呬腑鏈鑱锛岄氳繃寮曞叆宸ヤ綔閲忚瘉鏄庯紙PoW锛夛紝浠ユ寲鐭跨殑褰㈠紡璧嬩簣浜嗚$畻鑳藉姏寮哄ぇ鐨勮妭鐐硅拌处鏉冿紝杩欎綋鐜颁簡鍏辫瘑绠楁硶鐨勫疄闄呭簲鐢ㄣ
鍏辫瘑绠楁硶鐨勫氭牱鎬у拰閫傜敤鍦烘櫙
涓轰簡婊¤冻鍖哄潡閾剧殑鍘讳腑蹇冨寲銆佸紑鏀炬у拰鍙鎵╁睍鎬э紝鍚勭嶇被鍨嬬殑鍏辫瘑绠楁硶搴旇繍鑰岀敓锛屽傚伐浣滈噺璇佹槑锛圥oW锛夈佹潈鐩婅瘉鏄庯紙PoS锛夈佸旀墭鏉冪泭璇佹槑锛圖PoS锛夈佸疄鐢ㄦ嫓鍗犲涵瀹归敊绠楁硶锛圥BFT锛夈佹潈濞佽瘉鏄庯紙PoA锛夌瓑锛屾瘡涓绉嶉兘鏈夊叾鐙鐗圭殑浼樺娍鍜岄傜敤鍦烘櫙銆
渚嬪傦紝宸ヤ綔閲忚瘉鏄庯紙PoW锛夎櫧鐒舵晥鐜囬珮锛屼絾鑳芥簮娑堣楀ぇ锛涙潈鐩婅瘉鏄庯紙PoS锛夎В鍐充簡璧勬簮娴璐归棶棰橈紝浣嗗彲鑳藉艰嚧涓蹇冨寲瓒嬪娍锛涜孌PoS鍒欑粨鍚堜簡鎶曠エ鏈哄埗锛屾彁楂樹簡鍏辫瘑鏁堢巼锛屽挨鍏堕傚悎澶ц勬ā缃戠粶銆傚尯鍧楅摼鐨勭伒娲绘т娇鍏惰兘澶熷阀濡欏湴鍦ㄨ繖浜涚畻娉曚箣闂村垏鎹锛屼互閫傚簲涓嶅悓鐨勪笟鍔¢渶姹傘
鍗庝负浜戝尯鍧楅摼鏈嶅姟涓鐨勫叡璇嗙畻娉曞疄璺
鍗庝负浜戝尯鍧楅摼鏈嶅姟锛圔CS锛夊湪瀹為檯搴旂敤涓锛岄噰鐢ㄥ揩閫熸嫓鍗犲涵瀹归敊鍏辫瘑绠楁硶锛團BFT锛夊拰Raft锛圕FT锛夛紝杩欎簺绠楁硶鍦ㄤ繚璇佸畨鍏ㄦс佹ц兘鍜岄殣绉佷繚鎶ゆ柟闈㈠叿鏈夋樉钁椾紭鍔裤侶yperledger Fabric澧炲己鐗堢粨鍚堜簡杩欎袱绉嶇畻娉曪紝涓轰紒涓氱骇鍜岄噾铻嶇骇涓氬姟鎻愪緵浜嗗己澶ф敮鎸侊紝鑰屽崕涓洪摼鏈嶅姟鍒欏嚟鍊熻嚜涓荤爺鍙戠殑鍖哄潡閾惧唴鏍稿拰鍙淇$‖浠讹紝灞曠幇浜嗗崜瓒婄殑鎬ц兘鍜岄殣绉佷繚鎶ょ壒鎬с
鍖哄潡閾句笘鐣屼腑鐨勫叡璇嗘満鍒舵槸涓闂ㄦ繁濂ョ殑鑹烘湳锛屽畠鍦ㄦ瘡涓鑺傜偣涔嬮棿鐨勪簰鍔ㄤ腑璧风潃鑷冲叧閲嶈佺殑浣滅敤銆傛棤璁烘槸鍝绉嶅叡璇嗙畻娉曪紝瀹冧滑閮芥槸鍖哄潡閾炬妧鏈瀹炵幇鍒嗗竷寮忎俊浠诲拰鍘讳腑蹇冨寲浠峰间紶閫掔殑鏍稿績椹卞姩鍔涖傞殢鐫鎶鏈鐨勪笉鏂杩涙ワ紝鎴戜滑鏈熷緟鏇村氬垱鏂扮殑鍏辫瘑绠楁硶涓哄尯鍧楅摼甯︽潵鏇撮珮鏁堛佹洿鏅鸿兘鐨勮В鍐虫柟妗堛
Ⅲ 区块链几大共识机制及优缺点
首先,没有一种共识机制是完美无缺的,各共识机制都有其优缺点,有些共识机制是为解决一些特定的问题而生。
1.pow( Proof of Work)工作量证明
一句话介绍:干的越多,收的越多。
依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。
优点:
1)算法简单,容易实现;
2)节点间无需交换额外的信息即可达成共识;
3)破坏系统需要投入极大的成本;
缺点:
1)浪费能源;
2)区块的确认时间难以缩短;
3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
4)容易产生分叉,需要等待多个确认;
5)永远没有最终性,需要检查点机制来弥补最终性;
2.POS Proof of Stake,权益证明
一句话介绍:持有越多,获得越多。
主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于PoW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。该共识机制容错性和PoW相同。它是Pow的一种升级共识机制,根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度
优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。
缺点:还是需要挖矿,本质上没有解决商业应用的痛点;所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成以太坊硬分叉,而ETC由此事件出现,事实上证明了此次硬分叉的失败。
DPOS与POS原理相同,只是选了一些“人大代表”。
BitShares社区首先提出了DPoS机制。
与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
DPoS的工作原理为:
去中心化表示每个股东按其持股比例拥有影响力,51%股东投票的结果将是不可逆且有约束力的。其挑战是通过及时而高效的方法达到51%批准。为达到这个目标,每个股东可以将其投票权授予一名代表。获票数最多的前100位代表按既定时间表轮流产生区块。每名代表分配到一个时间段来生产区块。所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。如果一个平均水平的区块含有100股作为交易费,一名代表将获得1股作为报酬。
网络延迟有可能使某些代表没能及时广播他们的区块,而这将导致区块链分叉。然而,这不太可能发生,因为制造区块的代表可以与制造前后区块的代表建立直接连接。建立这种与你之后的代表(也许也包括其后的那名代表)的直接连接是为了确保你能得到报酬。
该模式可以每30秒产生一个新区块,并且在正常的网络条件下区块链分叉的可能性极其小,即使发生也可以在几分钟内得到解决。
成为代表:
成为一名代表,你必须在网络上注册你的公钥,然后分配到一个32位的特有标识符。然后该标识符会被每笔交易数据的“头部”引用。
授权选票:
每个钱包有一个参数设置窗口,在该窗口里用户可以选择一个或更多的代表,并将其分级。一经设定,用户所做的每笔交易将把选票从“输入代表”转移至“输出代表”。一般情况下,用户不会创建特别以投票为目的的交易,因为那将耗费他们一笔交易费。但在紧急情况下,某些用户可能觉得通过支付费用这一更积极的方式来改变他们的投票是值得的。
保持代表诚实:
每个钱包将显示一个状态指示器,让用户知道他们的代表表现如何。如果他们错过了太多的区块,那么系统将会推荐用户去换一个新的代表。如果任何代表被发现签发了一个无效的区块,那么所有标准钱包将在每个钱包进行更多交易前要求选出一个新代表。
抵抗攻击:
在抵抗攻击上,因为前100名代表所获得的权力权是相同的,每名代表都有一份相等的投票权。因此,无法通过获得超过1%的选票而将权力集中到一个单一代表上。因为只有100名代表,可以想象一个攻击者对每名轮到生产区块的代表依次进行拒绝服务攻击。幸运的是,由于事实上每名代表的标识是其公钥而非IP地址,这种特定攻击的威胁很容易被减轻。这将使确定DDOS攻击目标更为困难。而代表之间的潜在直接连接,将使妨碍他们生产区块变得更为困难。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。
3.PBFT :Practical Byzantine Fault Tolerance,实用拜占庭容错
介绍:在保证活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容错性。
在分布式计算上,不同的计算机透过讯息交换,尝试达成共识;但有时候,系统上协调计算机(Coordinator / Commander)或成员计算机 (Member /Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。
拜占庭将军问题就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。
而拜占庭问题的可能解决方法为:
在 N ≥ 3F + 1 的情况下一致性是可能解决。其中,N为计算机总数,F为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。
1)系统运转可以脱离币的存在,pbft算法共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。
2)共识的时延大约在2~5秒钟,基本达到商用实时处理的要求。
3)共识效率高,可满足高频交易量的需求。
缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据
下面说两个国产的吧~
4.dBFT: delegated BFT 授权拜占庭容错算法
介绍:小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。
此算法在PBFT基础上进行了以下改进:
将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;
将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;
为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);
在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。
优点:
1)专业化的记账人;
2)可以容忍任何类型的错误;
3)记账由多人协同完成,每一个区块都有最终性,不会分叉;
4)算法的可靠性有严格的数学证明;
缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;
以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。
5.POOL验证池
基于传统的分布式一致性技术,加上数据验证机制。
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。
Ⅳ 区块链有什么优点
区块链的优点主要表现在以下几点:
1、去中心化
由于使用分布式核算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护。
2、开放性
系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。
3、自治性
区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。
4、信息不可篡改
一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。
5、匿名性
由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。
如上,现在区块链应用的地方非常多,已经应用到各个领域,比如处于社交银行的GSN,GSN将区块链技术运用到金融当中可以有效地降低金融风险,因为参与的市场主体由于区块链技术的运用其信用管理水平均会得到提升,另一方面也利于整个社会信用体的建设与完善。
其次,GSN可以将传统的信用管理基于经验、制度设计转向重技术手段支持的区块链管理模式,通过引进GSN这个先进的信息管理技术,有利于提升信用管理的科技含量,提升了管理的精准性、严密性。
最后,GSN可以有效地降低当前的社会信用成本高、打通信用信息之间的信息孤岛、有效地防范社会信用信息失密、泄密或篡改等行径。区块链在构建全社会信用信任体系、推进数字普惠征信方面有着更加广泛的应用场景。
Ⅳ 鍖哄潡閾炬妧鏈搴旇ユ湁鎬庢牱鐨勭壒鐐癸紵
1. 鍘讳腑浠嬪寲鐨勪俊浠伙細杩欏疄闄呬笂鏄鍖哄潡閾炬妧鏈鐨勬牳蹇冧紭鍔夸箣涓锛屽畠涓嶆槸娑堥櫎涓蹇冨寲缁撴瀯锛岃屾槸娑堥櫎涓浠嬫満鏋勭殑蹇呰佹с傝繖涓鐐瑰湪璁稿氬尯鍧楅摼鐨勮ㄨ轰腑缁忓父琚寮鸿皟锛屼笌鍘讳腑蹇冨寲鐨勬傚康鏈夋墍鍖哄埆銆
2. 绋冲畾鎬с佸彲闈犳с佹寔缁鎬э細鐢变簬鍖哄潡閾炬槸涓绉嶅垎甯冨紡缃戠粶鏋舵瀯锛屼笉瀛樺湪鍙浠ヨ鍗曠嫭鏀诲嚮鐨勪腑蹇冭妭鐐广傚洜姝わ紝鍦ㄦ妧鏈灞傞潰涓婏紝鍖哄潡閾炬彁渚涗簡鏇撮珮鐨勭ǔ瀹氭с佸彲闈犳у拰鎸佺画鎬с
3. 寮哄畨鍏ㄦт笌鍏辫瘑鏈哄埗锛氬尯鍧楅摼鎶鏈閫氳繃鍏辫瘑鏈哄埗瀹炵幇瀹夊叏鎬э紝鏃犻渶绗涓夋柟浠嬪叆銆備氦鏄撻氳繃棰勫畾鐨勬妧鏈瑙勫垯瀹屾垚锛岀‘淇濅簡鏁翠釜浜ゆ槗杩囩▼鐨勫畨鍏ㄦс
4. 浜ゆ槗鍏寮閫忔槑涓庝笉鍙绡℃敼鎬э細鍖哄潡閾炬妧鏈纭淇濇墍鏈変氦鏄撹板綍閮芥槸鍏寮閫忔槑鐨勶紝骞朵笖涓鏃︽暟鎹琚璁板綍锛屽氨鏃犳硶琚绡℃敼銆傝繖涓轰氦鏄撶殑鐪熷疄鎬у拰瀹屾暣鎬ф彁渚涗簡淇濋殰銆
浠ヤ笂鍥涚偣鏄閲戠獫绐濋泦鍥㈠垎鏋愬嚭鐨勫尯鍧楅摼鎶鏈搴斿綋鍏峰囩殑鍏抽敭鐗圭偣銆
Ⅵ 鍖哄潡閾剧洰鍓嶇敤鍒板摢浜涘叡璇嗘満鍒讹紵瀹冧滑鍚勮嚜鐨勪紭缂虹偣鍜岄傜敤鑼冨洿鏄浠涔
1. 宸ヤ綔閲忚瘉鏄庯紙PoW锛夛細杩欐槸姣旂壒甯侀噰鐢ㄧ殑鍏辫瘑鏈哄埗锛岄氳繃澶嶆潅鐨勮$畻鏉ョ‘璁や氦鏄撳苟娣诲姞鍒板尯鍧楅摼涓銆侾oW鐨勪紭鐐瑰湪浜庡叾鍘讳腑蹇冨寲鐗规э紝纭淇濅簡缃戠粶鐨勫畨鍏ㄦс傜劧鑰岋紝瀹冪殑缂虹偣鍖呮嫭鑳芥簮娑堣楀法澶э紝鎸栫熆闅惧害闅忕潃鏃堕棿鎺ㄧЩ涓嶆柇澧炲姞锛屼互鍙婅揪鎴愬叡璇嗘墍闇鏃堕棿杈冮暱锛屼笉閫傚悎鍟嗕笟搴旂敤鍦烘櫙銆
2. 鏉冪泭璇佹槑锛圥oS锛夛細PoS鏃ㄥ湪瑙e喅PoW鐨勬寲鐭块棶棰橈紝鏍规嵁鑺傜偣鎸佹湁鐨勪唬甯佹暟閲忓拰鏃堕棿鏉ラ檷浣庢寲鐭块毦搴︼紝鍔犲揩鍏辫瘑杩囩▼銆傚敖绠PoS鍦ㄤ竴瀹氱▼搴︿笂缂╃煭浜嗗叡璇嗚揪鎴愭椂闂达紝浣嗗畠浠嶇劧渚濊禆浜庝唬甯侊紝骞朵笖鏈璐ㄤ笂娌℃湁瑙e喅鍟嗕笟搴旂敤鐨勭棝鐐广
3. 鑲′唤鎺堟潈璇佹槑锛圖PoS锛夛細DPoS绫讳技浜庤懀浜嬩細鎶曠エ锛屾寔甯佽呴夊嚭浠h〃鑺傜偣杩涜岄獙璇佸拰璁拌处銆傝繖澶уぇ鍑忓皯浜嗛獙璇佸拰璁拌处鑺傜偣鐨勬暟閲忥紝瀹炵幇浜嗙掔骇鐨勫叡璇嗛獙璇併備笉杩囷紝DPoS鐨勫叡璇嗘満鍒朵粛鐒朵緷璧栦簬浠e竵锛屽苟涓斿彲鑳戒笉閫傚悎涓嶉渶瑕佷唬甯佸瓨鍦ㄧ殑鍟嗕笟搴旂敤銆
4. 楠岃瘉姹狅紙Pool锛夛細楠岃瘉姹犵粨鍚堜簡浼犵粺鐨勫垎甯冨紡涓鑷存ф妧鏈鍜屾暟鎹楠岃瘉鏈哄埗锛屾槸鐩鍓嶈屼笟閾惧箍娉涗娇鐢ㄧ殑鍏辫瘑鏈哄埗銆傚畠涓嶉渶瑕佷唬甯佸嵆鍙宸ヤ綔锛屽熀浜庢垚鐔熺殑鍒嗗竷寮忎竴鑷存х畻娉曪紝瀹炵幇浜嗙掔骇鍏辫瘑楠岃瘉銆備笉杩囷紝杩欑嶆満鍒剁殑鍘讳腑蹇冨寲绋嬪害涓嶅傛瘮鐗瑰竵锛屾洿閫傚悎澶氭柟鍙備笌鐨勫氫腑蹇冨晢涓氭ā寮忋
鍦ㄤ娇鐢ㄥ叡璇嗘満鍒朵繚璇佹暟鎹涓鑷存ф椂锛屽悇绉嶆満鍒堕兘鏈夊叾浼樺娍銆備緥濡傦紝Ripple鐨勫叡璇嗘満鍒剁‘淇濅簡鏁版嵁姝g‘鎬т紭鍏堬紝浣嗗湪鏋佺鎯呭喌涓嬪彲鑳藉艰嚧鑺傜偣闀挎椂闂存棤娉曚笌鍏朵粬鑺傜偣鍙栧緱鍏辫瘑銆傚洜姝わ紝瀵逛簬涓嶅悓鐨勫簲鐢ㄥ満鏅锛岄夋嫨鍚堥傜殑鍏辫瘑鏈哄埗鑷冲叧閲嶈併
Ⅶ 漫画图解 什么是区块链
漫画图解:什么是区块链
什么是区块链?
区块链,英文 Blockchain,本质上是一种去中心化的分布式数据库。任何人只要架设自己的服务器,接入区块链网络,都可以成为这个庞大网络的一个节点。
区块链既然本质是数据库,里面究竟存储了什么东西呢?让我们来了解一下区块链的基本单元:区块(Block)。
一个区块分为两大部分:
1.区块头
区块头里面存储着区块的头信息,包含上一个区块的哈希值(PreHash),本区块体的哈希值(Hash),以及时间戳(TimeStamp)等等。
2.区块体
区块体存储着这个区块的详细数据(Data),这个数据包含若干行记录,可以是交易信息,也可以是其他某种信息。
刚才提及的哈希值又是什么意思呢?
想必大家都听说过MD5,MD5就是典型的哈希算法,可以把一串任意长度的明文转化成一串固定长度(128bit)的字符串,这个字符串就是哈希值。
而在我们的区块链中,采用的是一种更为复杂的哈希算法,叫做SHA256。最新的数据信息(比如交易记录)经过一系列复杂的计算,最终会通过这个哈希算法转化成了长度为256bit的哈希值字符串,也就是区块头当中的Hash,格式如下:
区块与Hash是一一对应的,Hash可以当做是区块的唯一标识。
不同的区块之间是如何进行关联的呢?依靠Hash和PreHash来关联。每一个区块的PreHash和前一个区块的Hash值是相等的。
为什么要计算区块的哈希值呢?
既然区块链是一个链状结构,就必然存在链条的头节点(第一个区块)和尾节点(最后一个区块)。一旦有人计算出区块链最新数据信息的哈希值,相当于对最新的交易记录进行打包,新的区块会被创建出来,衔接在区块链的末尾。
新区块头的Hash就是刚刚计算出的哈希值,PreHash等于上一个区块的Hash。区块体的Data存储的是打包前的交易记录,这部分数据信息已经变得不可修改。
这个计算Hash值,创建新区块的过程就叫做挖矿。
用于进行海量计算的服务器,叫做矿机。
操作计算的工作人员,叫做矿工。
计算哈希值究竟难在哪里?咱们来做一个最粗浅的解释,哈希值计算的公式如下:
Hash = SHA-256(最后一个区块的Hash + 新区块基本信息 + 交易记录信息 + 随机数)
其中,交易记录信息也是一串哈希值,它的计算涉及到一个数据结构 Merkle Tree。有兴趣的小伙伴可以查阅相关资料,我们暂时不做展开介绍。
这里关键的计算难点在于随机数的生成。猥琐的区块链发明者为了增大Hash的计算难度,要求Hash结果的前72bit必须都是0,这个几率实在是太小太小。
由于(最后一个区块的Hash + 新区块基本信息 + 交易记录信息)是固定的,所以能否获得符合要求的Hash,完全取决于随机数的值。挖矿者必须经过海量计算,反复生成随机数进行“撞大运”一般的尝试,才有可能得到正确的Hash,从而挖矿成功。
同时,区块头内还包含着一个动态的难度系数,当全世界的硬件计算能力越来越快的时候,区块链的难度系数也会水涨船高,使得全网平均每10分钟才能产生出一个新区块。
小伙伴们明白挖矿有多么难了吧?需要补充的是,不同的区块链应用在细节上是不同的,这里所描述的挖矿规则是以比特币为例。
区块链的应用
比特币(BitCoin)的概念最初由中本聪于2008年提出,而后根据这一思路设计发布了开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。
什么是P2P网络呢?
传统的货币都是由中央银行统一发行,所有的个人储蓄也是由银行统一管理,这是典型的中心化系统。
而比特币则是部署在一个全世界众多对等节点组成的去中心化网络之上。每一个节点都有资格对这种数字货币进行记录和发行。
至于比特币底层的数据存储,正是基于了区块链技术。比特币的每一笔交易,都对应了区块体数据中的一行,简单的示意如下:
交易记录的每一行都包含时间戳、交易明细、数字签名。
表格中只是为了方便理解。实际存储的交易明细是匿名的,只会记录支付方和收款方的钱包地址。
至于数字签名呢,可以理解为每一条单笔交易的防伪标识,由非对称加密算法所生成。
接下来说一说比特币矿工的奖励:
比特币协议规定,挖到新区块的矿工将获得奖励,从2008年起是50个比特币,然后每4年减半,目前2018年是12.5个比特币。流通中新增的比特币都是这样诞生的,也难怪大家对挖掘比特币的工作如此趋之若鹜!
区块链的优势和劣势
区块链的优势:
1.去中心化
区块链不依赖于某个中心节点,整个系统的数据由全网所有对等节点共同维护,都可以进行数据的存储和检验。这样一来,除非攻击者黑掉全网半数以上的节点,否则整个系统是不会遭到破坏的。
2.信息不可篡改
区块内的数据是无法被篡改的。一旦数据遭到篡改哪怕一丁点,整个区块对应的哈希值就会随之改变,不再是一个有效的哈希值,后面链接的区块也会随之断裂。
区块链的劣势:
1.过度消耗能源
想要生成一个新的区块,必须要大量服务器资源进行大量无谓的尝试性计算,严重耗费电能。
2.信息的网络延迟
以比特币为例,任何一笔交易数据都需要同步到其他所有节点,同步过程中难免会受到网络传输延迟的影响,带来较长的耗时。
几点补充:
1.本漫画部分内容参考了阮一峰的博文《区块链入门教程》,感谢这位大神的科普。
2.由于篇幅有限,关于Merkle Tree 和 非对称加密 的知识暂时没有展开细讲,有兴趣的小伙伴们可以查阅资料进行更深一步的学习。
Ⅷ 鍖哄潡閾炬槸浠涔 鍖哄潡閾剧殑鐗圭偣
鍖哄潡閾炬槸鍒嗗竷寮忔暟鎹瀛樺偍銆佺偣瀵圭偣浼犺緭銆佸叡璇嗘満鍒躲佸姞瀵嗙畻娉曠瓑璁$畻鏈烘妧鏈鐨勬柊鍨嬪簲鐢ㄦā寮忋
鍖哄潡閾炬槸浠涔
杩戜袱骞粹滃尯鍧楅摼鈥濆拰鈥滄瘮鐗瑰竵鈥濆緢鐏锛岀敱浜庨兘鏄缃戜笂鐨勪骇鐗╋紝璁╀汉璇浠ヤ负鈥滃尯鍧楅摼鈥濆拰鈥滄瘮鐗瑰竵鈥濇槸绫讳技銆傞偅浠婂ぉ灏忕紪灏辨潵鍛婅瘔澶у跺尯鍧楅摼鏄浠涔?姣旂壒甯佹槸铏氭嫙璐у竵锛屽尯鍧楅摼鏄鎶鏈鎵嬫碉紝鍖哄潡閾炬槸鍒嗗竷寮忔暟鎹瀛樺偍銆佺偣瀵圭偣浼犺緭銆佸叡璇嗘満鍒躲佸姞瀵嗙畻娉曠瓑璁$畻鏈烘妧鏈鐨勬柊鍨嬪簲鐢ㄦā寮忋傚叿鏈夊幓涓蹇冨寲銆侀忔槑鍏寮銆佹暟鎹涓嶅彲淇鏀圭瓑鏄捐憲浼樼偣銆傚叾鏈璐ㄦ槸涓绉嶆暟鎹搴撴妧鏈锛屾槸涓绉嶅氭柟鍙備笌鐨勫垎甯冨紡璐︽湰銆
銆銆鍖哄潡閾剧殑鐗圭偣
1銆佸畨鍏锛氬尯鍧楅摼鏄鏁版嵁鍦ㄥ氬彴璁$畻鏈轰笂瀹屾暣鍦板垎鍙戯紝鍙瑕佷笉鑳芥帉鎺у叏閮ㄦ暟鎹鑺傜偣鐨51%锛屽氨鏃犳硶鑲嗘剰鎿嶆帶淇鏀圭綉缁滄暟鎹锛岃繖浣垮尯鍧楅摼鏈韬鍙樺緱鐩稿瑰畨鍏锛岄伩鍏嶄簡涓昏備汉涓虹殑鏁版嵁鍙樻洿銆
2銆佷笉鍙绡℃敼锛氫竴鏃﹁繘鍏ュ尯鍧楅摼锛屼换浣曚俊鎭閮芥棤娉曟洿鏀癸紝鐢氳嚦绠$悊鍛樹篃鏃犳硶淇鏀规や俊鎭銆備竴涓涓滆タ涓鏃﹀嚭鐜板氨鍐嶄篃娌℃硶鏀瑰彉锛岃繖绉嶅睘鎬у逛簬浜虹被鐩鍓嶆墍澶勭殑鍙浠ユ洿鏀广佺灛鎭涓囧彉鐨勭綉涓婁笘鐣岃岃█鎰忎箟閲嶅ぇ銆
3銆佸紑鏀炬э細闄や簡浜ゆ槗鍚勬柟鐨勭佹湁淇℃伅琚鍔犲瘑澶栵紝鍖哄潡閾剧殑鏁版嵁瀵规墍鏈変汉寮鏀撅紝浠讳綍浜洪兘鍙浠ラ氳繃鍏寮鐨勬帴鍙f煡璇㈠尯鍧楅摼鏁版嵁鍜屽紑鍙戠浉鍏冲簲鐢锛屽洜姝ゆ暣涓绯荤粺淇℃伅楂樺害閫忔槑銆
4銆佹棤绗涓夋柟锛氬幓涓蹇冨寲鏄鍖哄潡閾炬渶绐佸嚭鏈鏈璐ㄧ殑鐗瑰緛锛屼笉杩囧洜涓哄尯鍧楅摼鐨勫幓涓蹇冨寲锛屽畠鍙浠ュ府鍔╃偣瀵圭偣浜ゆ槗锛屽洜姝わ紝鏃犺烘偍鏄鍦ㄤ氦鏄撹繕鏄浜ゆ崲璧勯噾锛岄兘鏃犻渶绗涓夋柟鐨勬壒鍑嗐
Ⅸ 璇锋暀涓涓嬪ぇ瀹跺尯鍧楅摼鐨勪綔鐢ㄥ拰鐗圭偣鏄浠涔堬紵
鍖哄潡閾炬槸涓绉嶅幓涓蹇冨寲鐨勫垎甯冨紡鏁版嵁搴撴妧鏈锛屽叾鏍稿績鐗圭偣鍖呮嫭鍘讳腑蹇冨寲銆佸紑鏀炬с佺嫭绔嬫с佸畨鍏ㄦу拰鍖垮悕鎬с
1. 鍘讳腑蹇冨寲锛氬尯鍧楅摼涓嶄緷璧栦簬涓澶鎺у埗鑺傜偣锛屾墍鏈夊弬涓庤妭鐐瑰叡鍚岀淮鎶ゆ暟鎹锛屾瘡涓鑺傜偣閮藉瓨鍌ㄧ潃瀹屾暣鐨勬暟鎹鍓鏈锛屼娇寰楁暟鎹瀛樺偍鏇村姞鍒嗘暎鍜屽彲闈犮
2. 寮鏀炬э細鍖哄潡閾炬妧鏈閫氬父鏄寮婧愮殑锛屼娇寰椾换浣曚汉閮藉彲浠ュ弬涓庢垨楠岃瘉鍏惰繍浣溿傞櫎浜嗕氦鏄撳弻鏂圭殑绉佸瘑淇℃伅琚鍔犲瘑淇濇姢澶栵紝鍖哄潡閾剧殑鏁版嵁瀵瑰叕浼楅忔槑銆
3. 鐙绔嬫э細鍖哄潡閾句笂鐨勬暟鎹楠岃瘉鍜屼氦鏄撳勭悊鏄鑷鍔ㄨ繘琛岀殑锛屼笉闇瑕佺涓夋柟浠嬪叆銆傛墍鏈夎妭鐐瑰熀浜庨勫畾鐨勮勫垯杈炬垚鍏辫瘑锛岀‘淇濈郴缁熺殑鐙绔嬭繍浣溿
4. 瀹夊叏鎬э細鍖哄潡閾剧殑璁捐′娇鍏堕毦浠ヨ绡℃敼銆傝佹敼鍙樺尯鍧楅摼涓婄殑淇℃伅锛岄渶瑕佸悓鏃舵帶鍒剁綉缁滀腑澶ч儴鍒嗚妭鐐癸紝杩欏湪瀹為檯鎿嶄綔涓婇潪甯稿洶闅俱
5. 鍖垮悕鎬э細铏界劧鍖哄潡閾句笂鐨勬墍鏈変氦鏄撻兘鏄鍏寮鐨勶紝浣嗗弬涓庤呭彲浠ラ夋嫨淇濇寔鍖垮悕銆傚彧鏈夐偅浜涙効鎰忓叕寮韬浠界殑鍙備笌鑰呮墠闇瑕侀忛湶鑷宸辩殑淇℃伅銆
鐢变簬杩欎簺鐗规э紝鍖哄潡閾炬妧鏈涓哄缓绔嬩俊浠绘満鍒舵彁渚涗簡鏂扮殑閫斿緞锛屽苟鏈夋湜鍦ㄩ噾铻嶃佷緵搴旈摼绠$悊銆佹櫤鑳藉悎绾︾瓑澶氫釜棰嗗煙寰楀埌搴旂敤銆
鍏鏈夊尯鍧楅摼鏄鍖哄潡閾炬妧鏈鐨勬渶鍒濆舰寮忥紝浠讳綍浜洪兘鍙浠ュ姞鍏ュ苟鍙備笌鍏辫瘑杩囩▼銆傝仈鍚堝尯鍧楅摼鍒欓檺瀹氬湪涓涓缁勭粐鎴栬屼笟鍐呴儴锛岀敱鐗瑰畾鐨勮妭鐐硅礋璐h拌处銆傜佹湁鍖哄潡閾惧垯鏇村姞灏侀棴锛岀敱鍗曚釜瀹炰綋鎺у埗锛屽彧鍏佽哥壒瀹氱殑鍙備笌鑰呰块棶鍜屼慨鏀规暟鎹銆
杩欎簺涓嶅悓绫诲瀷鐨勫尯鍧楅摼鍚勬湁鍏堕傜敤鍦烘櫙鍜屼紭鍔匡紝浣嗛兘鍩轰簬鍖哄潡閾剧殑鍩烘湰鍘熺悊锛屽嵆閫氳繃鍒嗗竷寮忚处鏈鎶鏈鏉ョ‘淇濇暟鎹鐨勪笉鍙绡℃敼鎬у拰閫忔槑鎬с
Ⅹ 区块链目前用到哪些共识机制它们各自的优缺点和适用范围是什么
目前主要有四大类共识机制:Pow、Pos、DPos、Pool
1、Pow工作量证明,就是大家熟悉的挖矿,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储;
优点:完全去中心化,节点自由进出;
缺点:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长,不适合商业应用
2、Pos权益证明,Pow的一种升级共识机制;根据每个节点所占代币的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。
优点:在一定程度上缩短了共识达成的时间
缺点:还是需要挖矿,本质上没有解决商业应用的痛点
3、DPos股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的
4、Pool验证池,基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证;
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式
在使用共识机制,保证数据一致性时的巨大优势(共识机制则是Ripple首先提出的,数据正确性优先的网络交易同步机制,在共识网络中,无论软件代码怎么变动,无法取得共识就无法进入网络,更不要提分叉了)。
——————————————————
PS:稍微自黑下,虽然共识机制绝对能确保任何时候都不会产生硬分叉。但是,这种机制的缺点也比较明显,那就是要取得与其他节点的共识,明显要比当前Bitcoin网络漫长的多。极端情况下,在Ripple共识机制网络中掉线的后果也是很恐怖的。
有可能你家停电一天,第二天整个系统就再也无法与其它Rippled节点取得共识了(共识机制事实上需要超过80%的节点承认了你的数据,你的提交才会被其它节点接受,否则就会被排它的拒绝连接),甚至只能清空自己全部500多GB数据重新同步才能连上其它Ripple节点。
所以目前来说,现有的Rippled端并不适合民用(商用的话影响就比较小,比如RL自己的Rippled节点托管在亚马逊云数据中心,长时间无响应是可以高额索赔的,而且那种地方除了大型灾害几乎不会断),这也是RL一直想改进的方面之一。