区块链技术相关的论文、文档、学习资料

索引

  • Angaroa的实现 repo
  • Understanding Serenity, Part I: Abstraction: 中文翻译
  • Understanding Serenity, Part 2: Casper: 中文翻译
  • 隔离见证技术 – set wit: segregated witness
  • IBLTs: 可逆式布鲁姆查找表(IBLT) , 如何促进比特币的去中心化, 弱区块(weak blocks),瘦区块(thin blocks),一个“blocktorrent”协议; Invertible Bloom Lookup Table.
  • Matt Corallo的快中继网络(fast relay network)
  • Bitcoin NG
  • TaPOS
  • SkuChain: 供应链管理, code
  • Factom: 公正通. Factom是一个P2P的协议, 它在比特币的区块链上维护了一个数据层。 网络文件和应用被压缩成一个Merkle树上的哈希值并被存储在比特币的区块链上。Proof of existence.
  • Blockstack.io: 被数字资产公司收购
  • CoinSpark: 数字资产管理
  • MultiChain: Open platform for building blockchains, It is a DIY permissioned blockchain. Withe paper
  • LightningNetwork: Paper
  • BlackCoin: POS2.0, 3.0, CodeBase
  • BlackHalo : Smart Contract, The first of its kind to support two-party contracts, Joint Accounts & More!
  • Greedy Heaviest Observed Subtree(GHOST) : 以太坊使用的GHOST协议,使用tree来存储交易数据
  • Emercoin: 采用STUN协议来实现P2P网络,可以与webrtc兼容 。 代码, POW + POS , fork from ppcoin
  • openchain : client-server架构的chain,ibm贡献的代码,c#开发,适合企业内部使用
  • GitTorrent: 一个使用bittorrent + bitcoin构建的去中心化的github. Blog
  • RSCoin code: 英国央行的数字货币,基于莱特币
  • Codius repo: Codius Smart Oracle system, 智能合约

相关文章

  • 精通比特币
  • 黎跃春区块链技术博客
  • how to program block chain explorers with python part 1
  • How to Put Custom Messages Into Bitcoin Blockchain – OP_RETURN
  • How to write a bit torrent client
  • A simple Distributed Hash Table (DHT)
  • Tempering Kademlia with a Robust Identity Based System
  • TrustedKad – Application of Trust MechanismstoaKademlia-BasedPeer-to-Peer Network
  • Kademlia
  • Democratizing content publication with Coral
  • Decentralized Reddit using a DHT to store content and a blockchain to rank it : Many other ideas about blockchains.
  • PolderCast: Fast, Robust, and Scalable Architecture for P2P Topic-based Pub/Sub
  • Bitcoin-NG: A Scalable Blockchain Protocol
  • Bitcoin-NG 可扩展的区块链协议
  • LINKABLE RING SIGNATURES OVER ELLIPTIC CURVES
  • Ring signature implementation with python
  • Python implementation of Linkable Ring Signatures over Elliptic curves
  • Bitcoin in Bloom: How IBLTs Allow Bitcoin to Scale: 使用IBLTs来增强比特币的可扩展性
  • 使用IBLT来减少区块的传播速度
  • BitGit : 相关开源项目的汇集
  • Secret Sharing and Erasure Coding: A Guide for the Aspiring Dropbox DecentralizerIntroduction
  • Ultimate blockchain compression w/ trust-free lite nodes
  • Python implementation of Linkable Ring Signatures over Elliptic curves
  • MaidSafe’s consensus mechanism
  • Alternatives for Proof of Work, Part 1: Proof Of Stake
  • Alternatives for Proof of Work, Part 2: Proof of Activity, Proof of Burn, Proof of Capacity, and Byzantine Generals

比特币、区块链相关可参考的项目

  • 比特币协议说明
  • A(nother) Bittorrent client written in the go programming language
  • Full-featured BitTorrent client package and utilities
  • A Golang port of peerflix.
  • dht: Kademlia/Mainline DHT node in Go.
  • coinbits : A Python library for bitcoin peer to peer communication
  • protocoin: A pure Python Bitcoin protocol implementation: doc
  • kademlia: A DHT in Python Twisted
  • An alternative full node bitcoin implementation written in Go (golang)
  • A secure bitcoin wallet daemon written in Go (golang)
  • gocoin: Full bitcoin solution written in Go (golang)
  • bitcoinj: A library for working with Bitcoin with java
  • dht_store : This is a proposal for an extension to the BitTorrent DHT to allow storing and retrieving of arbitrary data.
  • BlockStore: Name registrations on the Bitcoin blockchain with external storage
  • pydht: Python implementation of the Kademlia DHT data store
  • A way to experiment with Bitcoin.
  • pyp2p
  • python-OP_RETURN: Simple Python commands and library for using bitcoin OP_RETURNs
  • A Common Blockchain interface for the Bitcoin Core RPC.: 一个接口规范
  • abstract-common-blockchain: A test suite and interface you can use to implement standard Bitcoin blockchain API calls for various backends and platforms.
  • CryptoNote: CryptoNote protocol implementation. This is the reference repository for starting a new CryptoNote currency. See /src/cryptonote_config.h https://cryptonote.org/
  • Colored-Coins: The Open Source Protocol for Creating Digital Assets On The Bitcoin Blockchain. 基于比特币区块链创建、管理数字资产的开源协议。
  • CounterParty
  • crypti
  • ipfs: IPFS – The Permanent Web
  • Open Assets Protocol
  • Telehash : source
  • BlockName: A blockchain-backed DNS resolver
  • How to create genesis block
  • Factom:
  • BitShares: BitShares is an industrial-grade financial blockchain smart contracts platform.
  • Blockstream: 侧链创业公司。 Blockstream’s core area of innovation is sidechains, a technology focused on improving on the blockchain, the most powerful public utility for distributed trust systems.
  • openpublish: A publishing protocol for registering media as a digital asset on the Bitcoin blockchain.: 数字内容、数字资产注册、发布平台,产权可以方便转移,交换,而且可以很准确的统计阅读数
  • bitstore
  • bitstore-client: A content-addressable file hosting and distribution service that uses Bitcoin public key infrastructure for authentication and payment.
  • abstract-common-wallet: 钱包通用服务接口
  • my-two-bits:付费评论系统
  • Blockai : 一种数字内容发布、管理平台,似乎可以用来对盗版影视剧的解决
  • FileCoin
  • Lisk: github, Lisk decentralized application platform and crypto-currency
  • Boolberry: 更强隐私性
  • Pebblecoin (XPB) – FIRST DPOS CRYPTONOTE COIN: github
  • Tendermint: Blockchain app development simplified – focus on business logic & we’ll handle the rest. github; Tendermint consensus protocol;
  • Tendermint TMSP: Tendermint socket protocol for blockchain applications
  • Bitfury
  • libbitcoin
  • Enigma: Enigma is a decentralized cloud platform with guaranteed privacy. Private data is stored, shared and analyzed without ever being fully revealed to any party.
  • Keyhotee: Decentralized ID and Communication
  • ZeroNet: Open, free and uncensorable websites, using Bitcoin cryptography and BitTorrent network. github
  • zerocash: Zerocash is a protocol that provides a decentralized crypto-currency in which, as in Bitcoin, users collaborate to maintain the currency by broadcasting and verifying payment transactions. Zerocash, however, differs from Bitcoin in how these payment transactions are assembled and then verified. 更具有隐私保护的币。
  • bitstarter-leaderboard: A more sophisticated Bitcoin-powered crowdfunder.
  • untitled-dice.github.io: a basic bitcoin dice site

算法、理论

密码学

  • Homomorphic secret sharing

共识算法

  • 比特币百晓生:三种POS机制及其政治信仰
  • 黑币最新动态:白皮书之黑币POS协议2.0版

账本结构

  • Tree Chains: web
  • Quadtree: Buckettree, Q-tree
  • LLRB – Left-leaning red–black tree

LMAX

  • LMAX: github
  • LMAX中文
  • disruptor: High Performance Inter-Thread Messaging Library. LMAX的java实现.
  • go-disruptor
  • ring-buffer: Ring Buffer – Variable-Length, Low-Latency, Lock-Free, Disruptor-Style, code

Decentralized ID

  • Identity protocol v1

Consensus Algorithm

Raft

  • Raft
  • RaftScope
  • 分布式系统的Raft算法
  • Raft一致性算法
  • Raft算法的学习与理解

Paxos

  • PaxosLease算法实现——用于Paxos自身选主
  • PAXOS算法理解
  • Paxos选举多次决议的算法实现
  • PAXOS的初次学习
  • 对Raft与Paxos的关系的理解

随机数生成

  • Shamir’s Secret Sharing Scheme

Confidential Transactions

  • Confidential Transactions, Content privacy for Bitcoin transactions
  • Blockstream’s Austin Hill: confidential blockchains can remove systemic risk from finance
  • What are Confidential Transactions
  • Confidential Transactions
  • The first successful Zero-Knowledge Contingent Payment
  • PayPub: Trustless payments for information publishing on Bitcoin
  • 比特币网络中第一笔零知识证明交易发送成功

LevelDB & RocksDB

  • LevelDB性能分析和表现
  • What are the keys used in the blockchain levelDB (ie what are the key:value pairs)?
  • Benchmarking LevelDB vs. RocksDB vs. HyperLevelDB vs. LMDB Performance for InfluxDB

Trie

  • Understanding the ethereum trie
  • Patricia Tree

以太坊和以太坊经典的区别

社区里面有很多新成员,他们可能不知道以太坊(ETH)和以太坊经典(ETC)的区别,因此,我会在这篇文章阐述它们的一些主要区别。我尽可能毫无偏颇地说明这些区别。欢迎读者讨论或者找出其他观点,任何人都不是最终的权威。

 

关于区块链的可变性

ETH——假如大部分人同意修改链条(也就是可变性),那么就可以修改区块链记录和合约

ETC——区块链记录和合约不可修改(也就是不可篡改性)

 

下面是关于两种方法的利弊

可变性的好处是人们可以适时地改变以做出正确的决定。因此,修改规范比找漏洞更实用。

不可修改性是人们不管当时有多聪明,但也不可能会不出错。因此,应对此方案出现问题的时候,最好是通过现有的法律框架来寻找和解决漏洞。

 

关于发展的不同

ETH——不管是有意安排或者从诞生就如此,区块链核心决策都是在社区的参与下由以太坊基金会制定并大部分由它开发。

ETC——区块链的决策主要是通过三个松散的、有协作关系的团队在社区参与下得到反馈而决定的。

 

在任何情况下,任何人都可以为两种区块链提出改进建议。这正是开源之好处,也是很常见的。你会发现,这两条链的开发人员通过Github和Reddit来相互沟通。我希望为了实现共同目标,提高沟通和交流的频率。

 

关于兼容性

目前,这两种区块链都相互兼容。ETH写的合约(或应用程序)可以在ETC上应用,反之亦然。

ETH——专注于eWASM,致力于为越来越多的开发者提供平台。而对于合约安全性的问题是次要的(例如:Viper)

ETC——专注于让开发者创造出更安全的合约(例如:Viper,IOHK研究),代价是消耗潜在的开发者人数。

很明显,这两条链都可以互相接纳。不管它们的意愿是否相同。我的看法是,开发人员的数量并不一定与产品的质量挂钩。

关于交易速度

ETH——平均25秒。升级之后会缩短。

ETC——平均14秒。升级之后维持在10-14秒(根据ECIP-1010 和 ECIP-1036协议)

 

关于区块容量

ETH——随着ETH日交易量逐渐达到5百万,区块容量日渐饱和,这种情况跟最近比特币的交易费用问题类似,这个问题可以通过对区块扩容得到解决(通过增加默认的燃料限制)

ETC­——目前区块容量还有很大空间。随着越来越多的人接受ETC,区块容量也会随着增加,跟ETH一样。

 

关于社区

ETH——主要在Reddit上讨论。

ETC——主要在Slack上讨论。

 

关于货币政策

ETH——计划供应稳步增长,导致ETH区块链在生命周期里平均有3%的通货膨胀。

ETC——2025年之前,通货膨胀达到3%,届时总供应量将达到2亿ETC。之后会通货紧缩。

 

关于交易量的地区分布

ETH——中国占20%,南韩25%,美国25%。

ETC——中国占50%,南韩25%,美国10%。

 

关于证券

ETH——目前投资者没有交易证券的选择权。最近ETH的一个ETF(交易型开放式指数基金)产品被监管层否定了。

ETC——拥有ETC交易信托基金,该基金允许投资者拥有ETC,而不用拥有这个资产本身。

文章来源:以太经典ETC

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!白话比特币、区块链、ICO,黑话一次看个够!

比特币、区块链、ICO、去中心化网络…..这些高科技的黑话你懂吗?

刚刚开始狂热的ICO遭央行等七部委封杀,比特币先抑后扬又是怎么回事?

一头雾水有没有,今天大白以自己的认知局限和理解,将他们连起来白话给大家。

首先来看一下比特币创造的财富神话。

2011年比特币第一次达到1美元

2013年第一次突破100美金

2013年比特币价格首次超过1000美金

2017年5月比特币价格突破2000美元

2017年9月2日冲破5000美元大关

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

2017年9月4日央行等七部委发布关于防范代币发行(ICO)融资风险公告,认定ICO及其代币为非法集资和传销骗局。

因此痛下杀手全面禁止。

一时间所有ICO代币血流成河,市值跌去大半,甚至等着被退市清算。

比特币也随着急跌20%,比特币泡沫破灭说更是此起彼伏。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

然而,9月6日早上,比特币却触底反弹,

走了一个深V,恢复到下跌前的28300元人民币,129次预告比特币泡沫即将破灭的报道打了水漂。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

比特币这么任性,到底何方神圣?与区块链什么关系,与遭封杀的ICO及其代币又有什么不同?

来,大白告诉你。

首先,比特币是一种商品,是一种具有资产和货币属性的特殊商品,是数字资产的开创者,比特币机制限定最多能产出2100万个,因为稀有,它又具有黄金和收藏品的投资属性,极具收藏价值。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

其次,比特币跟Q币、游戏币一样是虚拟货币。

然而,

它的价值有别于Q币及游戏币这种特定平台上发行流通的虚拟货币,

它是一种区块链技术开发时对记账最快最好的人的

奖励币

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

再说下区块链,

区块链技术的原理就是对一笔交易,

同时由很多人进行登记记账,

不依赖于一个特定的清算机构来记账的一种

记账方式(去信任,去中心)。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

这个技术据说很牛X,未来有可能颠覆金融清算系统。

还是不容易理解?大白来举个例子。

人民币由中国央行印刷发布,总量、记账由央行控制和完成。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

Q币由腾讯发布,Q币总量、交易、记账由腾讯控制和完成。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

比特币是基于中本聪思路开发的一种区块链技术的奖励币,奖励给那些做记账工作的人员。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

以太坊则是俄罗斯的一名程序员Vitalik Buterin 创立的一种区块链技术的奖励币。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

一种区块链技术和记账规则一种奖励币

类似于中国的央行发行人民币,美国的美联储发行美元,日本银行发行日元。

这是项新的记账及结算方式,其发展前景未知。假设这种新的清算方法在未来能够取代现在的清算系统。

大家交易将不再使用美元、人民币和欧元等等这些货币,而是使用比特币、以太坊这样的虚拟货币来结算.

至于大家会信任哪个区块链开发技术,认可哪种虚拟货币,还是同时认可多种虚拟货币,像现在各国认可多种货币一样?

尚未可知。目前来看,比特币以其最早权威性独领风骚,但是否会被后来者取代,也未可知。

下面我们再来说下ICO,看看他们有何关联。

ICO(initial coin offering),可译为“代币首次发行”。它类似于IPO(Initial Public Offering)首次公开发行,IPO是一家股份公司第一次将它的股份向公众出售,是股份公司首次向社会公共公开募集资金的融资行为。

ICO也是一种筹措资金的方式,它是通过发行代币,换回比特币等虚拟货币,然后到交易平台上兑换法定货币,以达到集资的目的。发行代币的最终目的是要兑换法定货币,所以说它是一种融资行为。

一般而言,一个完整的ICO项目需要4个步骤:

1、 一家公司或团体宣布自己计划或正在研究区块链技术,同时在公有链上内置可转让流通的代币(加密数字货币,自己定义的,与比特币类似);

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

2、 投资者以比特币、以太币等虚拟货币换取代币,也即认购代币;

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

3、 项目发行的代币登上交易平台,投资人进行买卖。总量、交易和记账由这家公司开发的平台控制和完成。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

4、 该公司以投资者投入的比特币等虚拟货币到相关交易平台上兑换成人民币或者美元等法定货币。

《图解金融》白话比特币、区块链、ICO,黑话一次看个够!

ICO和比特币等虚拟货币关联点在于,每个ICO发行的时候都将自己定位为中本聪

或者Vitalik Buterin,

但是否真的在研究区块链技术还是只是做了个链接平台,就没有人知道了,ICO发行的货币是否能像比特币一样坚挺和获得认可,更是个未知数。

下一期想看到大白组合图解哪个版块的金融小知识?

右下角留言告诉我们吧!

— END —

文字编辑/刘丽利(汇福集团金融分析师)

原创插画/Karen(汇福集团原创插画师)

STATUS:以太坊上的轻钱包应用

以太坊得到了越来越多人的关注和认同,但以太坊重钱包对普通用户而言却极度不友好,智能手机的普及使得移动化成为全球趋势,越来越多区块链公司将目光放在了轻钱包上。

前不久夺得Blockchain Oscar创业大赛冠军的Status正是一款基于以太坊的轻钱包应用,它将连接普通人和以太坊,给用户提供一个简洁应用的界面,能够让所有人在任何地方访问以太坊的整个生态网络。

使用Status,你的移动设备将成为以太坊网络上的一个轻节点,使得接收、发送以太币变得更加快捷便利。

Etherisc、Gnosis…所有的这些以太坊上的分布式应用程序你都能够在Status上进行访问。通过Status,你就可以像使用微信一样在这些去中心化应用上交互。

微信有附近的人,而Status也可以让你发现附近的用户,你们一起交换商品或者聊天分享最近关于加密资产的看法。

同时Status是一个开源平台,任何人都可以在Status上创建自己的Dapp,而这将吸引更多人参与进来,促使我们向更加开放的互联网过渡。

加入Status,成为开放式互联网的一员请访问官网:https://status.im/

区块链与ICO,到底是什么或有什么关联?

区块链很火,ICO更火,但从9月4号的一个监管文件出台后,让市场瞬间冷了不少,小散们的恐谎与惨叫,大部分币值都腰斩。特别是一些概念币,空气币等,更为严重。文件出台后,也有各种解读,大部分都是支持的声音,也有一小部分不乐意的。也有一些不明真相的菲菜,以为区块链就是ICO,ICO就是区块链,国家不应该禁止等。
从出台的文件来看,可以很明确的说,国家是支持并鼓励区块链技术发展的,合适或有价值的创新都是应该鼓励的,因为这个技术确实有意义的,不支持创新和发展,对国家的长远发展来说,是不利的。现在全球各国,都在比科技,比经济,比实力,对于前沿的科技技术,是不可能禁止的。但是ICO的各种乱像或打着区块链的幌子行骗,就应该坚决禁止或限制,至少在目前这一阶段,是要坚决禁止的,后期,等相关法规或条件完善后,在规范化合理化,应该是可以充许的。

那么,区块链与ICO各是什么,又或是有什么关联呢?
我觉得,区块链和ICO,可以没有一点点关系,也就是不相关的。但很多人眼里,区块链就是ICO,ICO就是区块链。所以,我想写写这篇文章,从一个技术人的角度去谈谈,这两者的区别与联系,也算是做个科谱吧。
1 区块链 这是一个技术,前沿科技的技术,改变很多传统的知识或认知。具有一些很重要的特性,如去中心化,分布式存储,数学加密运算,共识算法,不可篡改等
A 我们生活的现实世界里,都是中心化的,也就是所有的事物都有一个中心点,而控制权或管理权,就在这个点上。所以,会存在一些不合理或不公平等问题
B 分布式存储,也就是分开存储,每个节点或每个机器都有一份数据存储的副本,不会丢失也不怕删除,你删除了或你丢了,其它人的都还有,没有任何影响
C 加密运算,也就是对这些所有的存储数据记录,都是经过一定的数学运算所得的结果,这样就不容易被人修改或作假
D 共识算法,就是对这些数据分布式存储时,大家共同使用的用来验证数据真实性,一致性的验证方法或计算方法
E 基于以上特性,构建出来的这一整套系统包括数据,是不可篡改的,确切的说,是不易篡改,还是有可能修改的,只是这个修改的成本,会很大。

2 ICO (Initial Coin Offerings),翻译过来意思就是首次虚拟代币公开发售
实际上,ICO只是一个融资方式,利用了区块链技术来进行包装,使用虚拟币来集资,从而绕过了监管。是一个融资的更快捷的方式。本来呢,这是个好事情,对于在传统里融资难时代里,对于做实事的团队来说,是很有用的。但也因为相对容易,加上缺少监管或监督等,就让很多人都想进来捞一笔。再加上抄作,然后就火了。各种项目各种ICO,鱼龙混杂,随便搞个概念,然后把白皮书写得好些,就开始ICO了。然后各大佬站台,专家任顾问,加上概念各种炒,就可以让不明真相的菲菜们来疯抢了。ICO完上交易平台,然后再炒一波,让外边的人或未参与ICO的人来接盘,然后一路收割。
一个很讽刺的事是,本来是去中心化,却反被某些利益团体,用去中心化的概念玩起了中心化,怎么说?一个大佬站台或顾问,就几十万几百万,甚至上千万。上个交易平台,也要几百万起。为什么,有大佬站台,更容易炒起来,也能炒得更火。上交易平台,再炒,几倍或几十倍,就有人进来接盘了,然后一路收割,好让投资家或利益体或ICO者,套现,最终这些进来的菲菜投资者,成了最后的接捧者,也成了牺牲品。为什么有人说,是传销或庞氏骗局,就因为此。那你现在仔细想想,是不是这么回事?
所以,监管是好事,有利于区块链技术的长远,健康发展。国家也是支持鼓励区块链技术发展的,但这样的ICO,是绝对应该,也必须要禁止或规范化的。
看到这里,你应该理解或明白,什么是区块链,什么是ICO,各有什么联系或区别了吧?
区块链是一个技术,可以与ICO无关,也可以有关。那就是合理合适的结合与应用,也是能创造价值的。而ICO只是一个融资的方式或形式罢了。
最新的市场状况是,几大平台都对一些新上ICO做出了停止交易的服务,后期或许还会有更多,只要没有实际价值或应用的,都是比较危险的。

如果你觉得分析的得有道理,欢迎转发。
比特阁,关注和记录区块链行业的发展!

仅代表个人观点,不代表任何投资参考或建议,只供阅读或欣赏。
能力有限,难免有些错误或不全面,欢迎指正与交流。

区块链是什么?

区块链是在比特币技术基础上,经过发展完善出来的一套相对成熟的互联网革新技术。

在上一篇中介绍过,什么是比特币以及关键亮点

简单的理解

区块链是一个去中心化分布式的数据库帐本,帐本包括每一个页,每一个页又包括多个信息,但是这个帐本并不只一份或并不由某些人保管,而是有多份,任何人都可以保管,只要参与进来,就可以获取一份副本,这样就体现了关键亮点

去中心化 人人都有,哪些谁的没有了或删除了,也不影响

经过数学,密码学加密存储这些记录,也保障了没有人可以修改这个记录

比特币是什么?

比特币(Bitcoin,缩写BTC)是什么?

简单的理解,这个是一个电子支付系统里支持一个数字的名称,也称为虚拟币,数字货币.

最早于2009年由中本聪设计并开发,后经由开源技术的发展,更多技术大咖的加入参与开发与维护,已经形成了一套相对成熟和互联网科技技术,而这个技术也很可能会成为一个传大的革新技术,改变世界并影响到人类生活的方方面面。

这个技术有几个关键亮点

1 去中心,也就是无中心

2 不可逆向修改

3 数字加密

4 匿名性

5 全球化

6 公开透明

经过几年的发展和完善,如今已形成了一套相对成熟和区块链技术

关于区块链,将在下一篇章中介绍

BTC分叉的原理、分叉方式及时间点汇总

1、比特币为什么会分叉?

因为:要扩容!通俗来讲,就是扩大区块链的容量。

比特币的交易都基于区块链中,区块的大小限制了交易的数量和效率,目前比特币的一个区块就是1M,而一笔交易是250字节甚至更多,随着投资者的大量涌入,比特币交易积压和网络拥堵已经成为大问题,1M的区块根本就不够用!

于是想要加速交易,比特币当务之急就是扩容。

而比特币又是去中心化的,没有私人个体或者某个团体能直接做决策的,于是整个比特币区块就成了战场,团体们开始抢地盘了:

1、Bitcoin Classic认为应该将这个字段的最大值调到2M

2、Bitcoin XT认为这个值应该修改为20M,并且每两年翻一倍,直到上限值达到8.3G。

3、Bitcoin Unlimited认为这个值多大都行可以无限大,由矿池决定自己打包多大。

每个人都觉得自己是对的,但又无法说服对方,N个理念推出了N个扩容方案,方案无法统一。其实说白了就是每个团队都有自己的个性,走自己的路让别人说去,于是就演变成了分叉。

51.1.png

2、什么是硬分叉和软分叉?

硬分叉(官方解释):比特币区块格式或交易格式发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。

(个人解释):通俗来讲,就像堵车,一条路堵死了,于是大家就决定换一条不堵的路走,原来那条路就弃用了,关键是弃用就算了,其他车也必须跟着走,强制站队,有人不同意?ok,一拍两散,从此两条平行线永不相见。

优缺点:硬分叉与原有的比特币网络不兼容,如果部分人不支持硬分叉,比特币就会产生新的币种,而且可能不止一种新的币种。btc1、btc2、btc3456789就都有可能发生,强制站队开始,用户会懵逼,到底我去交易那种币会比较好?选择困难症患者绝对要崩溃;当然相应的,用户的选择权变大了,可以选择自己信任的开发团队的代币。

51.2.png

软分叉(官方解释):软分叉是指比特币交易的数据结构(这就是被广泛流传的“共识”)发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点生产出的区块。

(个人解释):举个例子,还是堵车,这条路堵死了,但是这条路我走习惯了,咱不放弃不抛弃,再修一条辅路来帮助主路分流拥堵,但是这个有了这个辅路后还会不会堵车?我们无法预知。

优缺点:软分叉将改变比特币的结算方式,让结算变得更快,有较好的兼容性,之前版本至少部分功能可用,可不升级,原区块和旧区块共存。对于矿工而言,其收取手续费的盈利方式不受影响,其获取比特币(挖矿)的难度未改变。

51.3_看图王.png

3、SegWit2x是怎么回事?

SegWit2x纽约共识,是一些比特币公司、矿工等在Consensus2017会议上签署的协议。旨在通过一次软分叉将隔离见证应用到比特币主链上,同时在三个月后通过硬分叉增加比特币的区块大小。

分叉时间表:

51.4.png

 

比特币区块链分叉详解

今天比特币区块从363731即北京时间开始分叉,到363737恢复正常,分叉5个区块,历时1个小时左右,大部分人都不知道,因而未造成大影响。分叉1区块是很正常的事情,每天都在发生。但分叉5个区块就不太正常,因而有必要对之进行分析,以免再次发生这种情况。

1、主要原因:区块版本从2向3升级

今天刚好是区块版本从2向3升级的时间,但这个时间并非事先预定,而是由程序自动控制。升级规则:最近1000个区块中有950个区块的版本为3,则拒绝版本为2的区块,全区块链升级至3。

版本2与版本3的区别:BIP66,即限定签名的DER编码,不再接受DER派生编码,只接受DER标准编码;BIP66生效方法:最近1000个区块中有750个区块的版本为3,则该规则生效;

由此可见,此次升级是分三个阶段进行升级:

(1)当[0-75%)的区块采用了版本3,一开始是兼容所有DER编码格式,以及2和3版本;
(2)当>=75%的区块采用了版本3,则开始启用BIP66,但同时兼容版本2;
(3)当>=95%的区块采用了版本3,则不再兼容版本2,只允许版本3的存在。

BTC Nuggets一直没升级bitcoind,7月1日和2日它挖到两个区块,那时应该还没达到95%比例。
今天北京时间9点56分BTC Nuggets出了一个版本2的区块363726,引起了分叉,但是被程序的分叉处理机制解决了。
10点09分BTC Nuggets再出一个版本2的区块363731,这鱼池和蚁池未能正确处理,引起分叉。

2、分叉后的挖矿

出现分叉后1小时内,鱼池和蚁池跟着BTC Nuggets的V2区块继续挖出了5个区块,Slush、BitFury和另一个不知名矿池在主链上挖出了4个区块,其他矿池没有挖到块。眼看分叉越来越大,鱼池和蚁池转到BitFury这条链下挖,支链上挖的5个区块作废,蚁池和BitFury挖两块,币网再挖1块,使得网络恢复正常。

其中鱼池和蚁池在BTC Nuggets的版本2区块下挖矿,这点让人很费解。我咨询了神鱼,神鱼说是蚁池向分发网络中心节点(注:5大矿池在矿池会议后联合建立了一个区块分发网络,目的是快速获得最新区块,以加速矿机任务更新,提高挖矿效率)错误提交了BTC Nuggets的363731区块,鱼池和蚁池未经区块验证就在363731区块上连续挖了5个区块。

然后我又联系蚁池的潘志彪,潘志彪证实错误是蚁池导致的,蚂蚁有一个节点上报了BTC Nuggets的版本2区块,使得鱼池和蚁池都在错误的区块下挖矿。

总之鱼池和蚁池在任务生成过程中未对上个区块进行合法性验证,导致了本次大分叉。比特币分叉机制不能处理,只能通过回退解决,鱼池和蚁池快速回退,转到主链上挖矿,解决了大分叉问题。

3、小结

建议:(1)分叉不可怕,快速处理最重要 (2)区块分发网络是好事,但代码要推敲(3)各矿池在挣钱同时,要多为比特币块链安全考虑,做长久生意。