比特币 订阅
比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生 [1]  。根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。2017年12月17日,比特币达到历史最高价19850美元。2020年7月27日,比特币再次突破1万美元关口 [2]  。 展开全文
比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生 [1]  。根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。2017年12月17日,比特币达到历史最高价19850美元。2020年7月27日,比特币再次突破1万美元关口 [2]  。
信息
创始人
中本聪
诞生时间
2009年1月3日
外文名
Bitcoin
缩    写
BTC
总    量
2100万个 [3]
种    类
加密数字货币
中文名
比特币
最小单位
“聪”(satoshi),1聪=0.00000001BTC [4]
流通平台
网络
比特币发展历程
比特币(2张) 2008年爆发全球金融危机,2008年11月1日,一个自称中本聪(Satoshi Nakamoto)的人在P2P foundation网站上发布了比特币白皮书《比特币:一种点对点的电子现金系统》 [5]  ,陈述了他对电子货币的新设想——比特币就此面世。2009年1月3日,比特币创世区块诞生。和法定货币相比,比特币没有一个集中的发行方,而是由网络节点的计算生成,谁都有可能参与制造比特币,而且可以全世界流通,可以在任意一台接入互联网的电脑上买卖,不管身处何方,任何人都可以挖掘、购买、出售或收取比特币,并且在交易过程中外人无法辨认用户身份信息。2009年1月5日,不受央行和任何金融机构控制的比特币诞生。比特币是一种数字货币,由计算机生成的一串串复杂代码组成,新比特币通过预设的程序制造。每当比特币进入主流媒体的视野时,主流媒体总会请一些主流经济学家分析一下比特币。早先,这些分析总是集中在比特币是不是骗局。而现如今的分析总是集中在比特币能否成为未来的主流货币。而这其中争论的焦点又往往集中在比特币的通缩特性上。 [6]  不少比特币玩家是被比特币的不能随意增发所吸引的。和比特币玩家的态度截然相反,经济学家们对比特币2100万固定总量的态度两极分化。凯恩斯学派的经济学家们认为政府应该积极调控货币总量,用货币政策的松紧来为经济适时的加油或者刹车。因此,他们认为比特币固定总量货币牺牲了可调控性,而且更糟糕的是将不可避免地导致通货紧缩,进而伤害整体经济。奥地利学派经济学家们的观点却截然相反,他们认为政府对货币的干预越少越好,货币总量的固定导致的通缩并没什么大不了的,甚至是社会进步的标志。比特币网络通过“挖矿”来生成新的比特币。所谓“挖矿”实质上是用计算机解决一项复杂的数学问题,来保证比特币网络分布式记账系统的一致性。比特币网络会自动调整数学问题的难度,让整个网络约每10分钟得到一个合格答案。随后比特币网络会新生成一定量的比特币作为区块奖励,奖励获得答案的人。 [5]  2009年比特币诞生的时候,区块奖励是50个比特币。诞生10分钟后,第一批50个比特币生成了,而此时的货币总量就是50。随后比特币就以约每10分钟50个的速度增长。当总量达到1050万时(2100万的50%),区块奖励减半为25个。当总量达到1575万(新产出525万,即1050的50%)时,区块奖励再减半为12.5个。该货币系统曾在4年内只有不超过1050万个,之后的总数量将被永久限制在约2100万个。 [3]  比特币是一种虚拟货币,数量有限,但是可以用来套现:可以兑换成大多数国家的货币。你可以使用比特币购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用比特币购买现实生活当中的物品。2014年2月25日,“比特币中国”的比特币开盘价格为3562.41元,截至下午4点40分,价格已下跌至3185元,跌幅逾10%。根据该平台的历史行情数据显示,在2014年1月27日,1比特币还能兑换5032元人民币。这意味着,该平台上不到一个月,比特币价格已下跌了36.7%。2014年9月9日,美国电商巨头eBay宣布,该公司旗下支付处理子公司Braintree将开始接受比特币支付。该公司已与比特币交易平台Coinbase达成合作,开始接受这种相对较新的支付手段。虽然eBay市场交易平台和PayPal业务还不接受比特币支付,但旅行房屋租赁社区Airbnb和租车服务Uber等Braintree客户将可开始接受这种虚拟货币。Braintree的主要业务是面向企业提供支付处理软件,该公司在2013年被eBay以大约8亿美元的价格收购。2017年1月22日晚间,火币网、比特币中国与OKCoin币行相继在各自官网发布公告称,为进一步抑制投机,防止价格剧烈波动,各平台将于2017年1月24日中午12:00起开始收取交易服务费,服务费按成交金额的0.2%固定费率收取,且主动成交和被动成交费率一致。 [7]  5月5日,OKCoin币行网的最新数据显示,比特币的价格刚刚再度刷新历史,截止发稿前最高触及9222元人民币高位。1月24日中午12:00起,中国三大比特币平台正式开始收取交易费。9月4日,央行等七部委发公告称中国禁止虚拟货币交易。2017年12月17日,比特币达到历史最高价19850美元。2018年11月25日,比特币跌破4000美元大关,后稳定在3000多美元。 [8]  11月19日,加密货币恢复跌势,比特币自2017年10月以来首次下探5000美元大关,原因是之前BCH出现硬分叉,且监管部门对首次代币发行(ICO)加强了审查。 [8]  11月21日凌晨4点半,coinbase平台比特币报价跌破4100美元,创下了13个月以来的新低。2019年4月,比特币再次突破5000美元大关,创年内新高。 [9]  5月12日,比特币近八个月来首次突破7000美元。 [10]  2019年5月14日,据coinmarketcap报价显示,比特币站上8000美元,24小时内上涨14.68%。 [11]  2019年6月22日 ,比特币价格突破10000美元大关。比特币价格在10200左右震荡,24小时涨幅近7%。 [12]  6月26日,比特币价格一举突破12000美元,创下自去年1月来近17个月高点。 [13]  6月27日早间,比特币价格一度接近14000美元,再创年内新高。 [14]  2020年2月10日,比特币突破了一万美元。据交易数据,比特币的价格涨幅突破3%,自去年10月26日以来首次突破一万美元的心理界限。 [15]  2020年3月12日,据加密货币交易平台Bitstamp数据显示,19点44分,比特币最低价格已跌至5731美元。 [16]  2020年5月8日,比特币突破10000美元关口,创下2月份以来的新高。 [17]  2020年5月10日早上8点开始,比特币单价在半小时内从9500美元价位瞬间下跌了上千美元,最低价格跌破8200美元,最高价差超1400美元。 [18]  2020年7月26日下午6点,比特币短时极速拉升,最高触及10150.15USDT,日内最大涨幅超过4%,这是2020年6月2日以来首次突破1万美元关口。 [2] 
收起全文
精华内容
参与话题
问答
  • 比特币原理详解

    万次阅读 多人点赞 2019-10-29 11:12:13
    一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用...

    一、什么是比特币

    比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。

    二、问题引入

     假设现有4个人分别称之为ABCD,他们之间发起了3个交易,A转给B10个比特币,B转给C5个比特币,C转给D2个比特币。如果是传统的记账方式,这些交易会记录在银行的系统中,这些信息由银行来记录,我们相信银行不会随意添加、删除或修改一条交易记录,我们也不会关注到底有哪些交易,我们只关注自己的账户余额。而比特币的记账方式为ABCD每个人保存了这样一份账本,账本上记录了上述交易内容,如果每个人账本实时的一致,ABCD就不再需要银行。
            比特币是这样做的,每当有人发起一笔交易,他就要将一笔交易广播至全网,由全网中的某一个人,把一段时间内的交易打包好记录到一个区块上,再按照顺序把这些区块,一个一个的链接在一起,进而形成了一个链条,这就是所谓的区块链。

     

    那么问题来了

    1、我凭什么要参与这个系统,我为什么要动用自己的计算机资源来存储这些信息呢?

    2、以谁的记录为准呢?比如上面的账单顺序,A用户可能是这个顺序,但是B可能顺序不一样,甚至可能B根本就没有接收到C给D转账的这个消息。

    3、比特币如果做到支付功能,保证该是谁的钱就是谁的钱,而且只有其所有者才能花。

    4、如何防伪、防篡改以及双重支付,防伪是验证每条交易的真的是某人发出的,比如B可能杜撰一条消息,说某某给我转了一笔钱,这就是一个假消息,或者B说我给某人转了多少钱,但是实际上他并没有这么多钱,又怎么办。防篡改指的是B可能想从区块链上把自己曾经转给某人钱的记录删掉,这样他的余额就会增加。双重支付是指,B只有10比特币,他同时向C和D转10个比特币,造成双重花费。

    三、为什么要记账?

    因为记账有奖励,记账有手续费的收益,而且打包区块的人有系统奖励,奖励方案是,每十分钟生成一个区块,每生成一个区块会奖励一定数量的比特币,最开始是50个BTC,过4年会奖励25个BTC,再过4年再减少一半,以此类推。这样比特币的产生会越来越少,越来越趋近于一个最大值,计算公式是:50×6×24×365×4×(1+1/2+1/4+1/8+…)≈2100万,其中最初奖励50个比特币,每小时有6个区块,每天24小时,每年365天,前四年是如此,之后每四年减半。

    此外,记账奖励还有每笔交易的小额手续费,每个交易发起都会附带一定的手续费,这些手续费是给记账的矿工的。

    四、以谁为准?

    各个节点通过工作量证明机制来争夺记账权,他们计算一个很复杂的数学题,第一个计算出来的节点就是下一个区块的产生者。这个数学题很难,难到没有一个人能同过脑子算出来,它是基于概率的方法,矿工必须通过遍历、猜测和尝试的办法才能解开这个未知数。那么这个数学难题到底是什么呢?下面详细介绍。

    4.1哈希函数

    哈希函数又称为数字摘要或散列函数,它的特点是输入一个字符串,可以生成另外一个字符串,但是如果输入不同,输出的字符串就一定不同,而且通过输出的字符串,不能反推出输入。举个简单的例子,对1-100内的数模10,可以认为是一种哈希方法,比如98%10=8,66%10=6,98和66是输入,模10是哈希函数,8和6是输出,在这个模型中,通过6和8无法推断输入是66和98,因为还可能是56和88等,当然因为这个例子比较简单,所以会出现哈希碰撞,即66和56的结果都是6,输出的结果相同。一个优秀的哈希函数,可以做到输出一定不同,哈希碰撞的概率几乎为0。常见的哈希函数有很多,比如MD系列和SHA系列等,比特币采用的SHA256算法,即输入一个字符串,输出一个256位的二进制数。下面是程序运行的结果。

    通过程序结果可以看出,输入的源信息不同,得到的结果也不同(为了方便,结果用64位16进制表示),即使是orange多了一个句号,也会产生截然不同的结果。同时,通过输出的十六进制字符串,也无法倒推出输入。对于比特币,只要了解SHA256的功能即可,如果感兴趣可以深入了解SHA256的具体算法。需要SHA256的C++源码留言邮箱或私信。

    4.2挖矿原理

    首先介绍一下比特币每个区块的数据结构,每个区块由区块头和区块体两部分组成。

    区块体中包含了矿工搜集的若干交易信息,图中假设有8个交易被收录在区块中,所有的交易生成一颗默克尔树,默克尔树是一种数据结构,它将叶子节点两两哈希,生成上一层节点,上层节点再哈希,生成上一层,直到最后生成一个树根,称之为默克尔树根,只有树根保留在区块头中,这样可以节省区块头的空间,也便于交易的验证。

    区块头中包含父区块的哈希,版本号,当前时间戳,难度值,随机数和上面提到的默克尔树根。

     

     

    假设区块链已经链接到了某个块,有ABCD四个节点已经搜集了前十分钟内全网中的一些交易信息,他们选出其中约4k条交易,打包好,生成默克尔树根,将区块头中的信息,即发区块哈希+版本号+时间戳+难度值+随机数+默克尔树根组成一个字符串str,通过两次哈希函数得出一个256的二进制数,即SHA256(SHA256(str)) = 10010011……共256位,比特币要求,生成的结果,前n位必须是0,n就是难度值,如果现在生成的二进制数不符合要求,就必须改变随机数的值,重新计算,只到算出满足条件的结果为止。假设现在n是5,则生成的二进制数必须是00000……(共256位)。一旦挖矿成功,矿工就可以广播这个消息到全网,其他的矿工就会基于该区块继续挖矿。下一个区块头中的父区块哈希值就是上一个区块生成的00000……这个数。

    解决这个数学难题要靠运气,理论上,运气最好的矿工可能1次哈希就能算出结果,运气差的可能永远都算不出来。但是总体来看,如果一个矿工的算力越大,单位时间内进行的哈希次数就越多,就越可能在短时间内挖矿成功。

    那么n是如何确定的呢?比特币设计者希望,总体上平均每十分钟产生一个区块,总体上来看,挖矿成功的概率为1/2^n。现假设世界上有1W台矿机,每台矿机的算力是14T次/s = 1.4×10^13次/s,单位次/s称之为哈希率,10分钟是600s,所以10分钟可以做8×10^19次哈希运算,从概率角度看,想要挖矿成功需要做2^n次运算,可以列出等式2^n = 8×10^19,可以解出n约为66。所以对于这种方法,我们没有办法使得自己的运气变的更好,只能提高自己的算力,尽快的算出结果。

    另外,需要模拟挖矿过程的C++代码可以回复邮箱,代码可以通过调整难度值,模拟比特币的挖矿算法,控制区块产生的速度。

    五、如何防伪、防篡改、防双重支付等问题

    这部分是理解比特币很重要的部分。

    5.1电子签名技术

    身份认证技术在生活中很常见,可以是人脸识别、签字、指纹等,但是这些方法在数字货币领域并不安全,因为它们一旦数字化,都可以通过复制的方法伪造。所以比特币采用了电子签名的方法。

    注册成为比特币用户时,系统会根据随机数生成一个私钥,私钥会生成一个公钥,公钥又会生成一个地址,其中私钥必须保密,可以保存到硬盘里或者记到脑子里,因为这个私钥是使用相应地址上的比特币的唯一标识,一旦丢失,所有的比特币将无法使用。下面介绍具体的转换过程,不感兴趣可以不看,只要知道随机数->私钥->公钥->钱包地址这个过程,其中私钥可以对一串字符进行加密,而公钥可以对其进行解密,这就是非对称加密,这类算法总体上的功能都是一样的,只是具体算法有区别,由于这些算法比较复杂,与SHA265算法一样不多做介绍,感兴趣可以深入了解具体算法,但是对于比特币系统,只要了解其功能即可。典型的算法是RSA,比特币采用椭圆曲线加密算法。

    转换过程(选读,不影响理解)

        1、首先使用随机数发生器生成一个私钥,它是一个256位的二进制数。私钥是不能公开的,相当于银行卡的密码。

        2、私钥经过SECP256K1算法生成公钥,SECP256K1是一种椭圆曲线加密算法,功能和RSA算法类似,通过一个已知的私钥,生成一个公钥,但是通过公钥不能反推出私钥。

        3、同SHA256算法一样,RIPEMD160也是一种HASH算法,由公钥可以得到公钥的哈希值,而通过哈希值无法推出公钥。

        4、将一个字节的版本号连接到公钥哈希头部,然后对其进行两次SHA256运算,将结果的前4字节作为公钥哈希的校验值,连接在其尾部。

        5、将上一步的结果使用BASE58进行编码,就得到了钱包地址(相当于银行账户)。比如A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

    所以,通过以上的过程我们可以总结出私钥、公钥、钱包之间的关系如下图。可以看到通过私钥可以推出所有的值,公钥哈希和钱包地址之间可以通过BASE58和BASE58解码算法相互转化。

    了解了公钥、私钥、地址的概念后,防伪验证的过程就很容易理解,当A发起一笔交易后,对消息进行哈希,生成数字摘要,对数字摘要,通过私钥加密,生成一个密码。之后A会广播这个条交易消息、公钥以及密码。收到消息的人首先对交易信息进行哈希生成摘要1,再通过公钥对密码进行解密,生成摘要2,这样,如果两个摘要相同,说明这个消息确实是A发出的。所谓的签名,就是密文。

     

    5.2余额检查

    余额的概念应该说根深蒂固,余额是伴随着称之为借贷记账法而产生的,也是目前银行普遍采用的方法,将一个人的交易记录统计好后算出一个余额,但是在比特币中没有余额这个概念,因为其采用的是UXTO模型的记账方法。比如A->B10个比特币,B->C5个比特币,对于第二笔交易来说,B在发起这笔交易时要注明第一笔交易的信息,这样就可以知道B曾经从A那里收到过10个比特币,说明满足第二笔交易发起的条件。所以比特币中余额的检查是通过追溯的方法。

    上图描述了两笔交易,交易10001中,B向C转了10个比特币,验证这笔交易的过程是:首先将B的签名通过B的公钥解密,然后再和交易的具体内容(B签名左侧)对比,如果相同,说明消息是B发出的,然后再检查10000这个交易是否真的存在以及它的内容的真实性。这两点都满足了,就说明交易10001是可以被接受的,否则拒绝接受。

    实际上,真实的交易比这个复杂的多,因为有可能是多笔交易构成了输入,比如B->C20个比特币,是由多笔交易A->B10,D->B10构成的,则前一笔交易ID就是两个ID,甚至可能更多。这里为了简单描述,只列举一笔交易。

    5.3双重支付

    A同时发了两条消息,同时给B和C转了10个比特币,实际上他只有10个会怎么样?假设D节点先收到了转给B10个BTC,然后收到了转给C10个比特币,通过上面的验证方法,自然会拒绝后面的一个,与此同时,E节点可能先收到了转给C10个BTC,然后收到了转给B10个比特币,他自然会拒绝后者。至于哪一笔交易最终会上链,就要看D和E哪个先解决难题,成功挖矿。

    5.4防止篡改

    假设A转给B10个比特币,但是他想把这个信息从区块链上删除,这样大家就都不知道这个事情存在,就可以赖账。
            首先说一下最长链原则,假设某一个区块后面有两个矿工同时挖到了矿,或者由于网络延迟等原因产生了分歧,这时,各个节点先随意根据自己认为对的区块挖矿,只到下一个区块产生,这时会有两条链,但是有一条是长的,比特币规定,以最长的链为准。如果某个节点仍然的固执的以较短的链为准,他就是在和大多数算力作对,这样做的结果是,他挖的块不被大家认可,会浪费时间和算力。

    回到上面的场景,A想赖账,就只能从记录了A->B10个比特币这个消息的区块的前一个区块开始重新挖矿,造出一个支链来,但是实际上的区块已经前进了很多,他只能不停的追赶,而且在追赶的同时,主链也在前进,他必须以比主链快的速度前进,如果他的算力足够大,理论上通过较长的时间确实可以追赶成功,就实现了对交易信息的篡改。然而其实这几乎是不可能的,因为就算算力再大,平均出块速度也是10分钟,从非技术的角度讲,一个人如果掌握了全网一半以上的算力,他为什么不在主链上继续挖矿呢?一个富可敌国的人应该不会甘愿去做一个小偷吧。 

    六、总结

    区块链并不等同于比特币,比特币也不是区块链,区块链只是比特币应用的一种技术,这个技术能给我们带来启发,比特币的伟大之处在于应用了前所未有的区块链技术。区块链技术还能在哪些方面应用还需继续探索。

    比特币是区块链技术最成功的应用,但是比特币本身也有很多问题,它想通过发行货币来挑战主权货币,这个动机有待商榷。此外,由于比特币的匿名性,只需要一个公钥或地址就能进行交易,为黑色产业提供了很好的平台。另外,比特币并不是一个成熟的支付系统,它具有吞吐率低,可拓展性差等缺点。

    可能文字还是比较苍白,可以看看李永乐老师讲解的视频,虽然没有这个详细,但是通俗易懂。

    七、代码实现

    点击这里!

    展开全文
  • 比特币入门教程(通俗易懂)

    万次阅读 2018-12-05 10:03:42
    比特币(bitcoin)诞生于2008年的一篇论文。一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你...

            比特币(bitcoin)诞生于2008年的一篇论文。一个署名为中本聪的人,提出了革命性的构想:让我们创造一种不受政府或其他任何人控制的货币!这个想法堪称疯狂:一串数字,背后没有任何资产支持,也没有任何人负责,你把它当作钱付给对方,怎么会有人愿意接受?

    但是,狂想居然变成了现实。随后的几年,在全世界无数爱好者的支持下,比特币网络运行起来了,越来越多的人和资本参与,星星之火,终成燎原。刚刚过去的2017年,比特币迎来了爆发式的增长,从年初的1000美元,最高涨到了2万美元,全世界都为之震动,上到政府,下到普通百姓都在关注。事实就是比特币已经并将继续改变世界。

    新闻媒体往往只关注它的火爆表现,忽视或者无法回答一些基本的问题。

    • 比特币的原理是什么?
    • 为什么这个无人管理的体系可以成功运作?
    • 比特币交易的流程是怎么回事?
    • 它与区块链又是什么关系?

    下面,我尝试回答这些问题,希望帮助大家理解比特币。抛开技术细节,还是很容易解释的。

    有一点说明,本文只讨论技术问题,不涉及如何投资比特币,更不会预测价格走势。事实上,我也不知道,如果我知道怎么发财,可能就不会在这里写博客了。

    一、非对称加密

    首先,理解比特币,必须理解非对称加密。

    你可能听说过这个词,所谓非对称加密,其实很简单,就是加密和解密需要两把钥匙:一把公钥和一把私钥。

    公钥是公开的,任何人都可以获取。私钥是保密的,只有拥有者才能使用。他人使用你的公钥加密信息,然后发送给你,你用私钥解密,取出信息。反过来,你也可以用私钥加密信息,别人用你的公钥解开,从而证明这个信息确实是你发出的,且未被篡改,这叫做数字签名(更详细的介绍请看《什么是数字签名》)。

    现在请设想,如果公钥加密的不是普通的信息,而是加密了一笔钱,发送给你,这会怎样?

    首先,你能解开加密包,取出里面的钱,因为私钥在你手里。其次,别人偷不走这笔钱,因为他们没有你的私钥。因此,支付可以成功。

    这就是比特币(以及其他数字货币)的原理:非对称加密保证了支付的可靠性。

    由于支付的钱必须通过私钥取出,所以你是谁并不重要,重要的是谁拥有私钥。只有拥有了私钥,才能取出支付给你的钱。(事实上,真实的交易流程稍有不同,私钥保证的不是取出支付给你的钱,而是保证只有你能把这些属于你的钱支付出去,详见后文。)

    二、比特币钱包

    对于比特币来说,钱不是支付给个人的,而是支付给某一把私钥。这就是交易匿名性的根本原因,因为没有人知道,那些私钥背后的主人是谁。

    所以,比特币交易的第一件事,就是你必须拥有自己的公钥和私钥。

    你去网上那些比特币交易所开户,它们会让你首先生成一个比特币钱包(wallet)。这个钱包不是用来存放比特币,而是存放你的公钥和私钥。软件会帮你生成这两把钥匙,然后放在钱包里面。

    根据协议,公钥的长度是512位。这个长度不太方便传播,因此协议又规定,要为公钥生成一个160位的指纹。所谓指纹,就是一个比较短的、易于传播的哈希值。160位是二进制,写成十六进制,大约是26到35个字符,比如 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2。这个字符串就叫做钱包的地址,它是唯一的,即每个钱包的地址肯定都是不一样的。

    你向别人收钱时,只要告诉对方你的钱包地址即可,对方向这个地址付款。由于你是这个地址的拥有者,所以你会收到这笔钱。

    由于你是否拥有某个钱包地址,是由私钥证明的(具体的证明方法稍后介绍),所以一定要保护好私钥。这是极其重要的,如果你的私钥被偷了,你的比特币也就等于没了,因为他人可以冒用你的身份了,把钱包里面的钱都转走。

    同样的,你向他人支付比特币,千万不能写错他人的钱包地址,否则你的比特币就支付到了另一个不同的人了。

    三、交易过程

    下面,我把整个流程串起来,看看比特币如何完成一笔交易。

    一笔交易就是一个地址的比特币,转移到另一个地址。由于比特币的交易记录全部都是公开的,哪个地址拥有多少比特币,都是可以查到的。因此,支付方是否拥有足够的比特币,完成这笔交易,这是可以轻易验证的。

    问题出在怎么防止其他人,冒用你的名义申报交易。举例来说,有人申报了一笔交易:地址 A 向地址 B 支付10个比特币。我怎么知道这个申报是真的,申报人就是地址 A 的主人?

    比特币协议规定,申报交易的时候,除了交易金额,转出比特币的一方还必须提供以下数据。

    • 上一笔交易的 Hash(你从哪里得到这些比特币)
    • 本次交易双方的地址
    • 支付方的公钥
    • 支付方的私钥生成的数字签名

    验证这笔交易是否属实,需要三步。

    第一步,找到上一笔交易,确认支付方的比特币来源。

    第二步,算出支付方公钥的指纹,确认与支付方的地址一致,从而保证公钥属实。

    第三步,使用公钥去解开数字签名,保证私钥属实。

    经过上面三步,就可以认定这笔交易是真实的。

    四、交易确认与区块链

    确认交易的真实性以后,交易还不算完成。交易数据必须写入数据库,才算成立,对方才能真正收到钱。

    比特币使用的是一种特殊的数据库,叫做区块链(blockchain),详细的介绍请看《区块链入门教程》。本文只讨论交易如何写入区块链。

    首先,所有的交易数据都会传送到矿工那里。矿工负责把这些交易写入区块链。

    根据比特币协议,一个区块的大小最大是 1MB,而一笔交易大概是500字节左右,因此一个区块最多可以包含2000多笔交易。矿工负责把这2000多笔交易打包在一起,组成一个区块,然后计算这个区块的哈希。

    计算哈希的过程叫做采矿,这需要大量的计算。矿工之间也在竞争,谁先算出哈希,谁就能第一个添加新区块进入区块链,从而享受这个区块的全部收益,而其他矿工将一无所获。

    一笔交易一旦写入了区块链,就无法反悔了。这里需要建立一个观念:比特币不存放在钱包或其他别的地方,而是只存在于区块链上面。区块链记载了你参与的每一笔交易,你得到过多少比特币,你又支付了多少比特币,因此可以算出来你拥有多少资产。

    五、矿工的收益

    交易的确认离不开矿工。为什么有人愿意做矿工呢?

    比特币协议规定,挖到新区块的矿工将获得奖励,一开始(2008年)是50个比特币,然后每4年减半,目前(2018年)是12.5个比特币。这也是比特币的供给增加机制,流通中新增的比特币都是这样诞生的。

    你可能看出来了,每4年奖励减半,由于比特币可以分割到小数点后八位,那么到了2140年,矿工将得不到任何奖励,比特币的数量也将停止增加。这时,矿工的收益就完全依靠交易手续费了。

    所谓交易手续费,就是矿工可以从每笔交易抽成,具体的金额由支付方自愿决定。你完全可以一毛不拔,一分钱也不给矿工,但是那样的话,你的交易就会没人处理,迟迟无法写入区块链,得到确认。矿工们总是优先处理手续费最高的交易。

    目前由于交易数量猛增,手续费已经水涨船高,一个区块2000多笔交易的手续费总额可以达到3~10个比特币。如果你的手续费给低了,很可能过了一个星期,交易还没确认。

    一个区块的奖励金12.5个比特币,再加上手续费,收益是相当可观的。按照目前的价格,可以达到100万~200万人民币。想想看,运气好的话,几分钟就能挖到一个区块,拿到这样一大笔钱,怪不得人们对挖矿趋之若鹜。

    六、区块的扩容

    《区块链入门教程》说过,比特币协议规定,平均10分钟诞生一个区块。区块的大小只有 1MB,最多只能包含2000多笔交易。也就是说,比特币网络每10分钟,最多只能处理2000多笔交易,换算一下,就是处理速度为3~5笔/秒。

    全世界的比特币交易这么多,可是区块链每秒最多只能处理5笔,这已经成为制约比特币发展的一个瓶颈。

    很早就有人呼吁,改革比特币协议,提升处理速度。这件事在2017年8月有了一点眉目,当时区块链发生了一次分叉,诞生了一个新协议,称为 Bitcoin Cash(简称 BCH)。这种新货币其他方面都与比特币一致,就是每个区块的大小从 1MB 增加到了 8MB,因此处理速度提升了8倍,手续费也低得多。该协议是对原有区块链的分叉,因此当时持有比特币的人,等于一人获赠了一份同样数量的 BCH。

    BCH 等于创造了一种新货币,还有人提议,原始比特币的区块大小提升到 2MB,这称为 SegWit2x 。这个建议原定于2017年11月实施,但是最后一刻由于缺乏共识,就被取消了,目前还在讨论中。

    七、点对点网络

    比特币是一个全世界的开放网络,只要你有服务器,就能加入这个网络,成为一个节点。每个节点都包含了整个区块链(目前大概 100多 GB),并且节点之间时刻不停地在同步信息。

    当你发生了一笔支付,你所在的节点就会把这笔交易告诉另一个节点,直至传遍整个网络。矿工从网上收集各种新发生的交易,将它们打包写入区块链。一旦写入成功, 矿工所在节点的区块链,就成为最新版本,其他节点都会来复制新增的区块,保证全网的区块链都是一致的。

    最后,你所在的节点也拿到了最新的区块链,从而得知你早先的那笔交易,已经写在里面了,至此交易确认成功。

    本文转载自:http://www.ruanyifeng.com/blog/2017/12/blockchain-tutorial.html

    作者:阮一峰

    展开全文
  • 1.什么是比特币比特币(BitCoin)其实就是一种P2P形式的数字代码。比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的...

    1.什么是比特币?

    比特币(BitCoin)其实就是一种P2P形式的数字代码。比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。

     

    2.比特币是谁创造的?

    比特币的创造分两步:第一步是理论,中本聪在2008年写了一篇论文,设计了一种数字货币,这个文章讲述了这种数字货币的原理和算法。

    第二步,是在2009年,有人根据中本聪的文章,组织了一个开源项目,由全球的程序员免费参与,完成了比特币核心算法和软件的开发。中本聪参与的该项目,并通过挖矿挖到第一个数据块,得到50个比特币。

     

    3.如何获取比特币?

    1、到比特币水龙头网站免费领取比特币,如:faucet.asia.

    2、在一个比特币交易所购买比特币。如:火币等

    3、和你附近的人兑换比特币。

    4、通过具有竞争力的挖矿赚取比特币。

     

    4.比特币合法吗?

    据我们所知,比特币在大部分行政辖区并没有被立法机构界定为非法货币。但是,一些行政辖区(如阿根廷和俄罗斯)严格限制或禁止国外货币。其他行政辖区(如泰国)可能限制颁发许可给某些实体,如比特币交易平台。

    来自不同行政管辖区的监管机构正在采取措施,就如何将这项新技术与正规的,受监管的金融体系结合在一起,为个人和企业提供一些规则。例如,美国财政部的金融犯罪执法网络(FinCEN),就如何描述涉及虚拟货币的某些活动,发布了非约束性的指导。

     

    5.真的有人使用比特币吗?

    是的,越来越多的企业和个人在使用比特币。这既包括像饭店,公寓和律师事务所那样的传统企业,也包括像 Namecheap,WordPress,Reddit 和 Flattr 这样的流行在线服务。虽然比特币仍然是一个相对较新的现象,但它发展迅速。2013 年 8 月底,流通中的比特币总值超过了 15 亿美元,每天都有价值数百万美元的比特币在进行兑换。

     

    6.什么叫开源?

    开源软件意味着这个软件的所有源代码都是公开的,一个懂代码的程序员,可以拿到这个软件的所有源代码,并读懂它的逻辑,也可以拿到这些源代码,编译出可以运行的软件,也可以对这些源代码进行修改后,编译出新的软件。

    比特币的核心软件是开源的,这就意味着这个软件没有任何秘密,这个软件的内部实现逻辑大家都清清楚楚,这个软件是否有漏洞,是否藏有木马,或者后门,大家也都清清楚楚。

     

    7.什么是比特币的P2P模式?

    P2P模式就是点对点模式。普通的网上贸易,都是借助金融机构作为信任方进行交易的。比如说,支付宝或者是中国银行的网银服务,它们的共同特点就是中心化,如果这个中心受到黑客攻击或者内部篡改,交易数据将产生异常。

    而比特币是基于密码学的,它的所有交易,都是保持的每一个使用比特币软件的电脑上,它是没有一个中心数据库的。单独一台电脑的交易数据被篡改,不会生效,不影响整个交易数据。而且只要还有一台电脑安装了比特币软件,它的数据将永远存在。

     

    8.什么是比特币的双重支付?

    对于比特币中两笔同时发起的支付行为,为了确保不存在双重支付,需要对比特币做如下要求:

    1、所有的交易全网公开

    2、需要有时间戳,所有交易有先后顺序

    3、需要对额外的资源对交易进行确认

    所有交易,要按照先后顺序,给其加上时间戳,前面一笔交易成功后,整个交易链被公认后,下一笔交易是基于上一笔交易来生成的,整个交易就是一个交易链,这样才能保证不被双重支付。

     

    9.什么是工作量证明?

    比特币没有权威中心,那么由谁来决定交易的有效性呢?是由大家来投票表决的,得票最多的交易,就会被认定为一个合法的交易。而在比特币的算法中,投票并不是一个人一票,而是一个CPU一票。那么,如果一个人想控制比特币,TA必须有足够的CPU。

    这种投票机制,假设工作量很小的话,也很容易伪造这种交易,所以比特币还引入了工作量证明(Proof-of-Work)机制。在这个机制里面,对一个交易进行证明,需要耗费一定的运算能力和时间,一旦运算成功,那么就确定了一笔交易。而反过来,普通的客户端,只要进行一个很简单的运算,就可以知道这个交易是真实的,还是假冒了。

     

    10.什么叫哈希现金算法?

    在比特币中,这种工作量证明机制的算法叫做哈希现金。它的原理,就是在交易的数据块中,要找到一个随机数,这种随机数包含了多个0,在计算机只能用穷举的办法,来找到这个随机数。如果我们要求的随机数中,随着0的数目增多,计算工作量呈现指数级增长。一旦我们找到了这个随机数,也就确定了一个数据块,除非对数据块进行一定的工作量运算,否则,数据块是无法更改的。

     

    11.什么叫做交易链?

    由于哈希现金算法是一种穷举法,如果网络上的诚实节点超过50%,基本上伪造者想伪造一个交易成功,它必将成功几率很低,但还是有概率的。

    这种情况下,比特币就引入了另外一种机制,叫交易链,所有的交易,都是按时间戳,串联在一起的一个链条。就好比一条绳子上面打了很多绳结,每个绳结表示一个交易,每个绳结在时间上是有先后顺序的。而链条最长的,就被公认为为真实的交易。一个运算能力低于50%的伪造者,想伪造一个交易,那么有一定的概率,如果想伪造两个交易,并且比运算能力更强的诚实者还快,那么概率更低,而且这种概率,随着时间的推移,成功的几率就会呈现指数级下降。

    目前每笔比特币交易,大概需要耗时10分钟才能被确认,伪造者由于运算力更低,在10分钟内产生的数据块,对于诚实节点来说,新产生的数据块将远大于伪造者,从而导致伪造者无法成功伪造。

     

    12.比特币的奖励机制是什么?

    当诚实节点计算出一个数据块,计算出它的能得到一定数量的比特币奖励,也就是所谓的挖矿,且诚实挖矿得到的比特币奖励,往往比伪造交易得到的奖励更多。

     

    13.什么是挖矿?

    比特币的总量是有限制的,到2040年左右,其总量将达到极限值2100万枚。比特币之间的交易,是通过“挖矿人”对其进行验证的,而对于挖矿人来说,TA是可以得到酬劳的,这个酬劳就是比特币。

    软件程序预置了一个算法,刚开始的时候,每个数据块有50个比特币,另外,每一笔比特币的交易,会产生少量的交易费,这个交易费也是比特币,每个数据块包括若干笔交易,“挖矿人”每挖到一个数据块,就可以得到50个比特币,以及交易产生的交易费。

     

    14.挖矿的酬劳会减少吗?

    每隔4年,挖矿被挖出一个每块数据块,得到的酬劳就会减半,最开始5年,每个数据块包含50个比特币;之后4年,每个数据块包含25个比特币。而随着交易量的增加,交易费也会跟着增加,但由于挖到数据块的酬劳,包含两部分,一个是数据块包含的奖励,另外一个是交易产生的交易费。所以“挖矿人”每挖到一个数据块,虽然每个4年,奖励减半,但总得到的酬劳不一定会减少。

     

    15.什么时候“矿”会被挖完?

    2040年,比特币的总量被定格到2100万个,到那时候,“挖矿人”挖到数据块,不会再产生额外的比特币,而纯粹靠这个数据块里面包含的交易费来获得酬劳。

    按照中本聪本人的设计,到最后,“挖矿人”纯粹靠交易费得到的酬劳也是可观的,足以维持挖矿行为的继续。

     

    16.什么是挖矿机?

    比特币是靠工作量证明来保证交易的,虽然说普通的PC机也可以进行挖矿,但目前采用显卡进行挖矿,运算力更大,成功几率更大,由此而产生了各种挖矿机。

     

    17.挖矿需要消耗大量资源吗?

    挖矿所需要消耗的资源,其实就是一种哈希现金(SHA-256)的算法。这个算法,需要进行穷举,所以需要很多算力才能成功计算出答案。

    在比特币的交易中,其实的需要一些相对恒定的时间来计算出一个数据块,所以当挖矿机越多的时候,系统自动调整哈希现金算法的难度,使得计算保证在一定的时间内计算出数据块,不会太快,也不会太慢。

     

    18.比特币的数量会不会被人暗中控制?

    比特币的数量,和产生的速度,都是以参数设定在程序里面的。在软件发布以前,这些参数都是可以变更的,但是一旦软件发布,由于比特币软件是一个去中心化的软件,全网都是公平的,单独修改一个机器的参数根本没用,它肯定是不会被全网所公认的,它的交易也会被认为是非法交易。

    如果全网50%以上的机器都采用了新的参数呢?这个时候,其实是有可能改变比特币的总数的。但如果真有一个暗中控制人,TA想让全网50%以上的机器,都安装了经过TA暗中控制的软件,这个难度极大。

     

    19.为什么比特币交易会产生少量交易费?

    在比特币产生的前期,由于交易比较少,为了鼓励“挖矿人”的行为,所以会额外产生比特币来分配给“挖矿人”。这种行为在2040年就不再有效,到时候比特币数量被永远固定为2100万枚,“挖矿人”的酬劳纯粹由交易人的交易费获得。

     

    20.比特币交易手续费是多少?

    大多数交易都可以不花手续费,但我们鼓励用户自愿支付一笔小额费用来加快交易确认以及酬谢矿工。当需要手续费时,通常不会超过几分钱的价值。您的比特币客户端通常会在需要时估算出适当的费用。

    交易手续费能对过多交易导致的网络超载起到保护作用。具体的收费方案还在发展中并将随着时间的推移而改变。

     

    21.比特币的总量有限不会有局限性吗?

    Bitcoin 的独特之处在于只有总量为 2100 万的比特币会被生成。但是这根本不会成为一种局限,因为交易中可以将比特币划分成更小的次级单位,比如 bit - 一比特币等于 1000000 bit。一个比特币可以拆分到小数点后 8 位 (0.000 000 01),如果将来平均单笔交易规模减小到一定程度时,甚至可以拆分到更小的单位。

     

    22.如果有人将现有的比特币全部买下将会怎样?

    发行至今的比特币只有一小部分在交易市场上出售。比特币市场竞争激烈,意味着一个比特币的价格会根据供求关系上下浮动。另外,在未来几十年中新的比特币还会持续发行。所以即使是最决断的买家也不可能将现有的比特币全部买下。但是这种情况并不意味着这个市场对价格操纵是免疫的。要使比特币的市场价格上下变动并不需要投入非常大量的资金,因此到目前为止比特币依然属于一种波动性较大的资产。

     

    23.比特币会不会变成洗钱工具?

    通常的洗钱途径,其实现在洗钱的途径已经多样化的,包括并不限于如下几种:

    1、通过大钱化小,开设多个账户,逃避国家对大额交易的监管

    2、开设公司,透过虚假交易,把不值钱的东西高价卖出,把非法收入变成合法收入

    3、购买古董、名贵产品,以后伺机卖出

    从上面我们基本可以看出,比特币给开发出来后,会给洗钱多了一个途径,但只是大量洗钱途径的一个而已。

    且比特币的价格来处于激烈波动,上面几种方式的洗钱,都可能导致洗钱者亏损严重,所以相比现有洗钱方式来说,比特币并不是一个很好的洗钱方式。

     

    24.政府不支持比特币会有影响吗?

    比特币是一个去中心化的产品,它不是靠一个受信任的权威中心来决定它的价值,而是靠严密的算法保证货币的流通和发行的。在很多方面,比特币本身比政府还值得信任。

    但政府的态度,会在短期内对比特币的市值产生很大的冲击。政府如果支持比特币,有可能极大的促进比特币的发展,迅速抬高比特币的市值。政府如果限制比特币,将可能使得比特币高位跳水,市值在短期内迅速贬值。

    但比特币是一个全球化的产品,而是已经发展到一定程度,一个国家已经不能完全决定比特币的命运了。因为比特币全球大量的电脑共同形成的,只要有1个人愿意继续挖矿,那么比特币的实体还是存在,并不会消失。

     

    25.比特币的价格由什么决定?

    比特币的价格由供需决定。当对比特币的需求增加,比特币价格就上涨;需求减少,价格就下跌。目前只有很少的比特币在流通,新的比特币以一个可预见的逐步下降的速率发行,这表示需求必须遵循这一通胀水平才能保持价格的稳定。和它可能会成为的市场规模相比,比特币目前仍然是一个相对较小的市场,无需大量资金就能促使市场价格上下波动,因此,比特币的价格仍然很不稳定。

     

    26.比特币是庞氏骗局吗?

    所谓的庞氏骗局,即“拆东墙补西墙”,用后来者的钱来支付前面人的利息,从而骗取更多的钱,最终骗子们一般会选择卷款潜逃。

    以这定义,比特币不是庞氏骗局。首先,它没有一个借贷关系,如果有人掏钱买了比特币,那拿到钱的人并不会是那个制造比特币的人;其次,它没有一个“拆东墙补西墙”的特点,比特币是一个自然的交易行为,拥有比特币的人,不是说像庞氏骗局一样,能够得到稳定的回报。

     

    27.比特币和Q币有什么不同?

    1、Q币是一个中心化的产品,人们购买Q币都是基于对腾讯公司(QQ的拥有者)的信任;而比特币是一个去中心化的产品,并没有一个公司真正对比特币负责。

    2、Q币的所有信息,都是保持在腾讯公司的服务器和数据库上,腾讯公司通过防火墙等安全策略,限制和防止黑客和攻击者篡改数据库信息,但腾讯公司在需要的时候,其实是可以修改这些信息的。比特币的所有交易信息,都是保持在比特币电脑上的,它没有一个中心数据库,它依靠严密的算法,保证只对一台电脑是数据进行修改,无法影响整个比特币的正常。

    3、Q币的发行数量是可以不断增加的,腾讯公司可以通过不断稀释Q币,从而获得稳定的收入;比特币的发行数量是固定的,它依靠严密的算法保证了没人可以修改比特币的发行数量(,到2040年左右,比特币的发展数量将最终定格在2100万枚,并且不再增加。

    4、Q币是无法自由交易的,用户只能用钱购买Q币,但却无法将Q币换成钱;而比特币是个全球化的产品,它在很多国家都是可以自由交易的。

    5、政府通过限制腾讯公司的行为,可以轻而易举的限制Q币的行为;而比特币是一个民主的货币,政府要限制大多数比特币使用者的行为,才能限制比特币的行为。

    总结一下就是,Q币永远都没有升值的可能,;而比特币因为它未来的通缩性,其蕴藏很强的保值和升值潜力。

     

    28.比特币丢失了会怎么样?

    当一个用户丢失了他的钱包,其后果是其中的资金退出流通。丢失的比特币和其它比特币一样依然存在于块链中。但是丢失的比特币将永远处于休眠状态,因为任何人都无法找到可以再次使用这些比特币的私钥。

     

    29.比特币是匿名的吗?

    和其他任何货币一样,比特币的设计允许其用户在一个可接受的隐私程度支付和接收付款。但是比特币不是匿名的,所以无法提供和现金一样的隐私程度。使用比特币会留下许多公共记录。有多种机制可以用来保护用户的隐私。

     

    30.量子计算是对比特币的威胁吗?

    是的,包括传统银行系统在内的大部分依赖于密码学的系统都是这样。但是量子计算机还不存在,也许短期内也不会出现。当量子计算确实即将成为比特币威胁的时候,可以利用后量子算法来更新比特币协议。基于这一更新的重要性,有理由相信开发人员会将其反复审核,最终为所有比特币用户接受。

    展开全文
  • 比特币攻击

    原文出处:http://blog.codinglabs.org/articles/bitcoin-mechanism-make-easy.html



    周末花时间看了一些比特币原理相关的资料,虽然不敢说把每个细节都完全搞懂了,不过整体思路和关键部分的主要原理还是比较明白。写一篇文章分享给大家。这篇文章的定位会比较科普,尽量用类比的方法将比特币的基本原理讲出来。这篇文章不会涉及算法和协议中比较细节的部分,打算后面会再写一篇程序员视角下的比特币原理,那里会从技术人员的视角对比特币系统中较为关键的数据结构、算法和协议进行一些讲解。

    在这篇文章中我会给出一个虚拟的村庄叫“比特村”,整个文章会以讲故事的方式,逐步告诉大家比特币提出的动机、解决了什么问题以及一些关键组件的目标和设计方案。

    问题的提出

    我们先从比特币产生的动机开始。

    以物易物的比特村

    话说在这个世界上,有一个叫比特村的小村庄,村庄共有几百户人家。这个村庄几乎与世隔绝,过着自给自足的生活。由于没有大规模贸易,比特村村民一直过着以物易物的生活,也就是说村民之间并没有使用统一的货币,互相间的贸易基本上就是老张家拿一袋面粉换老李家一只羊,王大嫂拿一筐野果换刘大婶两尺布。村民们一直就这么纯朴的生活着。

    实物货币

    终于有一天,村民觉得一直这样以物易物实在太不方便了,于是村子全员开会,讨论如何解决这个问题。有人提议,以便于分割且稀有的东西,例如黄金,作为一般等价物,把其它物品和黄金的对应关系编成一张表格,例如一克黄金对应一只羊,一克黄金对应一袋面粉等等,此时老张再也不用扛着一袋面粉气喘吁吁的去老李家换羊了,他只要从家里摸出一克金子,就可以去老李家牵回一只羊,而老李拿着这一克黄金可以从任何愿意出让面粉的人那里换回一袋面粉,当然也可以换取任何和一克黄金等值的物品。

    此时比特村进入了实物货币时代。

    符号货币

    好景不长,过了一段时间,实物货币的弊端也出现了。因为比特村附近金矿并不多,开采和冶炼金子太费时费力了。而随着使用,金子总是不断会因为磨损、丢失或有人故意囤积而发生损耗。全村人又一次坐在了一起,开始商讨对策。此时有人说,其实大家也不必一定要真的用黄金啊,随便找张纸,写上“一克黄金”,只要全村人都认同这张纸就等于一克黄金,问题不就解决了。其他人纷纷表示认同,但同时也有了新的问题:真实的黄金是需要开采和冶炼的,金矿有限,开采和冶炼也需要成本,所以没有人可以短期凭空制造大量的黄金,可写字就不同了,只要我纸够笔够,随便像写多少写多少,那这就变成拼谁家里纸多了,搞不好到时一万张纸才能换一只羊(实际上这就发生了经济学上的通货膨胀)。

    大家一想也是啊。不过此时又有人提出了解决方案:这个纸不是谁写都有效,我们只认村里德高望重的老村长写得,大家都认识老村长的字。老村长写一些纸,同时按照各家黄金存量发给大家等量的纸,例如老张家有二百克黄金,老村长就发给老张二百张写着“一克黄金”的纸,同时将老张家的黄金拿走作为抵押。就这样,老村长将村里所有黄金收归到自己的家里,并按各家上交的黄金数量发给等值的写有字的纸。此时村民就可以拿着这些纸当黄金进行贸易了,而且大家都认得老村长的字,其他人伪造不出来。另外,如果谁的纸磨损太严重,也可拿到老村长那里兑换新的等值的纸,另外老村长承诺任何人如果想要换成真黄金,只要拿纸回来,老村长就会把等值的黄金还给那人。因为老村长写得纸的黄金量和真实放在家里的黄金量是一样的,所以只要严格按照销毁多少纸新写多少纸的原则,每一张有效的纸总能换回相应的真黄金。

    此时,比特村进入了符号货币(纸币)时代。而老村长就承担了政府和银行的角色。

    中央系统虚拟货币

    又过了几年,老村长由于每天都要核对大量的旧纸币,写新的纸币,还要把各种账目仔细做好记录。一来二去,老村长操劳过度不幸驾鹤西去了。

    比特村再次召开全体大会,讨论应该怎么办。此时老村长的儿子二狗子自告奋勇接过了父亲的笔,承担起货币发行的责任。这个年轻的村长二狗子很聪明,他做了几天,发现好像也不用真的写那么多纸。完全可以这样:村民把纸币都交上来,销毁,但是二狗子会记录下每户上交的纸币数量。以后如果要进行付钱,例如老张要拿一克金子向老李换一只羊,就一起给二狗子打个电话,说明要将老张名下的一克金子划归老李名下,二狗子拿出账本,看看老张名下是否有一克金子,如果有就在老张的名下减掉一克,在老李的名下加上一克,这样就完成了支付,此时老李在电话中听到二狗子确认转账完成,就可以放心让老张把羊牵走了。

    此时比特村进入了中央系统虚拟货币时代。每个村民都不需要用实物支付,支付过程变成了二狗子那边维护的账本上数字的变更。

    分布式虚拟货币

    这新上任的二狗子是聪明,不过这人有时候是聪明反被聪明误。有一天二狗子盯着这账本,心想这全村各户谁有多少钱就是我说的算,那我岂不是……。于是他头脑一热,私自从老张帐下划了十克金子到自己名下。

    本以为天衣无缝,但没想到老张也有记账的习惯,有一天他正要付钱却被二狗子告知账户没钱了。老张核对了一下自己的账本,明明还有十克啊,于是拿着账本去找二狗子理论,这一核对发现了那笔未经老张同意的转账。

    东窗事发!比特村炸开锅了。二狗子被弹劾是不可避免了,不过通过这件事,大家发现了账本集中在一个人手里的弊端:

    • 这个体系完全依赖于账本持有人的个人信用,如果这个人不守规矩,随意篡改账本,那么整个货币系统就会崩溃
    • 如果这个人家里失火或者账本失窃,同样也会为整个体系带来毁灭性的打击

    正当人们不知所措时,村里一个叫中本聪的宅男科学家走上了台,告诉大家他已经设计了一套不依赖任何中央处理人的叫比特币的虚拟货币系统,可以解决上述问题。然后他缓缓讲述了自己的方案。

    下面我们就来看看中本聪同学是如何设计这套系统的。

    基础设施搭建

    账簿公开机制

    中本聪首先说明,要对现有账簿进行如下改造:

    1. 账簿上不再记载每户村民的余额,而只记载每一笔交易。即记载每一笔交易的付款人、收款人和付款金额。只要账簿的初始状态确定,每一笔交易记录可靠并有时序,当前每个人持有多少钱是可以推算出来的。
    2. 账簿由私有改为公开,只要任何村民需要,都可以获得当前完整的账簿,账簿上记录了从账簿创建开始到当前所有的交易记录。

    此言一出,下面立刻炸锅了。第一条还无所谓,但是第二条简直无法接受,因为账簿可是记录了所有村民的交易,这样大家的隐私不全暴露了吗。

    中本聪倒是不慌不忙,拿出了一对奇怪的东西。

    身份与签名机制(公钥加密系统)

    中本聪说,大家不要慌。在他的这套机制下,任何人都不使用真实身份交易,而是使用一个唯一的代号交易。

    他展示了手里神奇的东西,说这两件东西分别叫保密印章和印章扫描器。后面他会给村里每一户发一个保密印章和一个印章扫描器。两者的作用如下:

    • 保密印章可以在纸上盖一个章,每个印章盖出的章都隐含了一个全村唯一的一串字符,但是凭肉眼是看不出来的。也无法通过观察来制造出相应的印章。
    • 印章扫描器可以扫描某个已经盖好的章,读出隐含的信息,并在液晶屏上显示出一串字符。

    有了这两个神奇的东西,大家就可以在不暴露真实身份的情况下进行交易了,而印章隐含的那一串字符就是这户人家的代号。具体如何巧妙利用保密印章和印章扫描器进行交易,会在下文详述。

    成立虚拟矿工组织(挖矿群体)

    下一步,中本聪面向全村招募虚拟矿工,招募要求如下:

    • 矿工以组为单位,一组可以是单独的一户,也可以是几户联合为一组
    • 成为矿工不影响正常使用货币
    • 矿工每天要花费一定时间从事比特币“挖矿”活动,但是不同于挖金矿,虚拟矿工不需要拿着工具去野外作业,在家里就可以完成工作
    • 矿工有一定可能性获得报酬,在挖矿活动中付出的努力越多,获得报酬的可能性越大
    • 矿工可以随时退出,也可以随时有新的矿工加进来

    很快,大约有五分之一的村民加入比特币矿工组织,共分成了7个组。

    建立初始账簿(创世块)

    下面,中本聪宣布,先根据二狗子手里的账簿,把抵押的所有黄金按账簿记录的余额退还给每位村民,然后彻底销毁这本账簿。

    然后,中本聪拿出一本新账簿,在账簿的第一页上记录了一些交易记录,特别的是,这些记录的付款人一栏全都是“系统”,而收款人分别是每个印章对应的隐含字符,代表初始时刻,系统为每一户默认分配了一定数量比特币,但是数量非常少,都只有几枚,甚至有些不幸的村户没有获得比特币。

    接着中本聪说,由于目前市面上比特币非常少,大家可以先回到用黄金做货币的时代,由于我不是村长,我也没有权利强迫大家一定要承认比特币,大家可以自行决定要不要接受比特币。不过随着比特币的流动和矿工的活动,比特币会慢慢多起来。

    支付与交易

    做了这么多铺垫,终于说到重点了,下面说一下在这样一个体系下如何完成支付。以老张付给老李10个比特币为例。

    付款人签署交易单

    为了支付10个比特币,老张首先要询问老李的标识字符串,例如是“ABCDEFG”,同时老张也有一个标识字符串例如是“HIJKLMN”,然后老张写一张单子,内容为“HILKLMN支付10比特币给ABCDEFG”,然后用自己的保密印章改一个章,将这张单子交给老李。另外为了便于追溯这笔钱的来源,还要在单子里注明这笔钱的来源记在哪一页,例如这个单子里,老张的10比特币来自建立账簿时系统的赠送,记录在账簿第一页。

    收款人确认单据签署人

    老李拿到这个单子后,需要确认这个单子确实是来自“HIJKLMN”这个人(也就是老张)签署的,这个并不困难。因为单子上必须有保密章,老李拿出印章扫描器,扫一下章,如果液晶屏显示出的字符和付款人字符是一致的(这里是“HIJKLMN”),就可以确认单子确实是付款人签署的。这是因为根据保密印章的机制,没有其他人可以伪造印章,任何一个人只要扫描一下印章,都可以确认单子的付款人和盖章人是否一致。

    收款人确认付款人余额

    这个系统到目前还是很有问题。通过保密印章,收款人虽然可以确认付款人确实签署了这份单子,但是无法自行确认付款人是否有足够的余额支付。之前的中央虚拟货币系统中,二狗子负责检查付款人的余额,并通知收款人交易是否有效,现在把二狗子开了,谁来负责记账和确认每笔交易的有效性呢?

    之前说过,中本聪设计的这个系统是分布式货币系统,不依赖任何中央人物,所以不会有一个或少数几个人负责这件事,最终承担这份工作的是之前所提到的矿工组织。老张、老李和全村其他任何使用比特币进行交易的村民都依赖矿工组织的工作才能完成交易。

    矿工的工作

    矿工的工作是整个系统的核心,也是最复杂性最高的地方。下面逐步介绍矿工的工作内容和目的。

    矿工的工具

    俗话说,工欲善其事,必先利其器。比特币矿工虽然不用铁撅、铁锨和探照灯等工具,不过也要有一些必备的东西。

    初始账簿。每个组首先自己复制一份初始账簿,初始账簿只有一页,记录了系统的第一次赠送

    空账簿纸。每个小组有若干账簿纸,每一页纸上仅有账簿结构,没有填内容,具体内容的书写规则后面讲述。下面是一张空账簿纸的样子,各个字段的意义后面会说到

    编码生成器(哈希函数)。中本聪又向矿工组织的每个组分发了若干编码生成器,这个东西很神奇,将一页账簿填好内容的账簿纸放入这个机器,机器会在账簿纸的“本账单编号”一栏自动打印一串由“0”和“1”组成的编号,共256个。最神奇的是,编号生成器有如下功能:

    • 生成的编号仅与账簿纸上填入的内容有关,与填写人、字体、填写时间等因素均无关
    • 内容相同的账簿纸生成的编号总是相同,但是如果内容哪怕只改一个字符,编号就会面目全非
    • 编码生成器在打印编码时还需要将所有填入账簿纸的交易单放入,机器会扫描交易单和填入交易单的一致性,尤其是保密印章,如果发现保密印章和付款人不一致,会拒绝打印编码
    • 将一张已打印的账簿纸放入,机器会判定编号是否是有效的机器打印,并且判定编号和内容是否一致,这个编号无法伪造
    • 交易单收件箱。每个矿工小组需要在门口挂一个箱子用于收集交易单。
    • 公告板。每个矿工小组同样需要一个公告板公示一些信息。

    有了上面的工具,矿工组织就可以开工了!

    收集交易单

    中本聪规定,每笔交易的发起人,不但要将交易单给到收款人,还要同时复制若干份一模一样的交易单投递到每个矿工小组的收件箱里。

    矿工小组的人定期到自己的收件箱里把收集到的交易单一并取出来。

    填写账簿

    此时小组的人拿出一张空的账簿纸,把这些交易填写到“交易清单”一栏,同时找到当前账簿最后一页,将最后一页的编号抄写到“上一张账单编号一栏”。 注意还有个“幸运数字”,可以随便填上一个数字,如12345。然后,将这样账簿纸放入编号生成器,打印好编号,一张账簿就算完成了。

    如果你以为矿工的工作就这么简单,那就大错特错了,中本聪有个变态的规定:只有编号的前10个数均为0,这页账簿纸才算有效。

    根据之前对编号生成器的描述,要修改编号,只能修改账簿纸的内容,而“交易清单”和“上一张账簿纸编号”是不能随便改的,那么只能改幸运数字了。于是为了生成有效的账簿纸,小组里的矿工就不断抄写账簿纸,但每张纸的幸运数字都不同,然后不断的重复将纸放入编码器,如果生成的编号不符合规定,这张纸就算废了,重复这个过程直到生成一串有效的编号。

    我们知道,如果编号的每一个数字都是随机的,那么平均写1000多张幸运数字不同的纸才能获得一个有效的编号。

    这就奇怪了,这些矿工为什么要拼命干这看似无意义的事情呢?还记得之前说过矿工有报酬吧,这就是矿工的动力了。中本聪规定:每一张账簿纸的交易清单第一条交易为“系统给这个小组支付50个比特币”。也就是说,如果你生成了一张有意义的账簿纸,并且被所有挖矿小组接受了,那么就意味着这条交易也被接受了,你的挖矿小组获得了50个比特币。

    这就是矿工被叫做矿工的原因,也是为什么之前说随着交易和矿工的活动,比特币的数量会不断增多。例如下面是一个挖矿过程,这个小组的公共比特币帐号为“UVWXYZ”。

    在幸运数字尝试到“533”时,系统生成了一页有效账簿。

    确认账簿

    当某挖矿小组幸运的生成了一张有意义的账簿,为了得到奖励,必须立刻请其它小组确认自己的工作。前面说过,当前村里有7个挖矿组,所以这个小组必须将有效账簿纸誊抄6份快马加鞭送到其他6个小组请求确认。

    中本聪规定,当某个小组接到其他小组送来的账簿纸时,必须立即停下手里的挖矿工作进行账簿确认。

    需要确认的信息有三个:

    1. 账簿的编号有效
    2. 账簿的前一页账簿有效
    3. 交易清单有效

    首先看第一个,这个确认比较简单。只要将送来的账簿纸放入编码生成器进行验证,如果验证通过,则编号有效。

    第二部分需要将账簿页上的“上一页账簿纸编号”和这个小组目前保存的有效账簿最后一页编号比对,如果相同则确认,如果不同,需要顺着已有账簿向前比对,直到找到这个编号的页。如果没有找到指定的“上一页账簿纸编号”对应的页,这个小组会将此页丢掉。不予确认。

    注意,由上面的机制可以保证,如果各个小组手里的账簿纸是相同的,那么他们都能按同样的顺序装订成相同的账簿。因为后面一张纸的编号总是依赖前面的纸的编号,编码生成器的机制保证了所有合法账簿纸的相对先后顺序在每个小组那里都是相同的(可能会有分支,但不会出现环,后面细讲)。

    最后是如何确认交易清单有效,其实也就是要确认当前每笔交易的付款人有足够的余额支付这笔钱。由于交易信息里包含这笔钱是如何来的,还包含了记录来源交易的账单编号。例如,HIJKLMN要给ABCDEFG10个比特币,并注明了这10个比特币来自之前OPQRST支付给HIJKLMN的一笔交易,确认时首先要确认之前这笔交易是否存在,同时还要检查HIJKLMN在这之前没有将这10个比特币支付给别人。这一切确认后,这笔交易有效性就被确认了。

    其中第一笔是系统奖励给生成这页账簿的小组的50个,这笔交易大家都默认承认,后面的只要按照上述方法追溯,就可以确认HIJKLMN是否当前真有10个比特币支付给ABCDEFG。

    如果完成了所有了上述验证并全部通过,这个小组就认可了上述账簿纸有效,然后将这张账簿纸并入小组的主账簿,舍弃目前正在进行的工作,后面的挖矿工作会基于这本更新后的主账本进行。

    账簿确认反馈

    对于挖矿小组来说,当账簿纸送出去后,如果后面有收到其他小组送来的账簿纸,其“上一页账簿纸编号”为自己之前送出去的账簿纸,那么就表示他们的工作成功被其他小组认可了,因为已经有小组基于他们的账簿纸继续工作了。此时,可以粗略的说可以认为已经得到了50个比特币。

    另外,任何一个小组当新生成有效账簿纸或确认了别的小组的账簿纸时,就将最新被这个小组承认的交易写到公告牌上,那么收款人只要发现相关交易被各个小组认可了,基本就可以认为这笔钱已经到了自己的账上,后面他就可以在付款时将钱的来源指向这笔交易了。

    以上就是整个比特币的支付体系。下面我们来分析一下,这个体系为什么可以工作下去,以及这个体系可能面临的风险。

    工作机制分析

    虽然上面阐述了比特币的基本运作规则,但是村民们还是有不少疑问。所以中本聪同学专门开了个答疑会,解答常见问题。下面总结一下村民最集中关心的问题。

    核心问题答疑

    如果同时收到两份合法的账簿页怎么办?

    注意在上面的运行机制中,各个挖矿小组是并行工作的,因此完全可能出现这样的情况:某小组收到两份不一样的账簿页,它们都基于当前这个小组的主账簿的最后一页,并且内容也都完全合法,怎么办?

    关于这个问题,中本聪同学说,小组不应该以线性方式组织账簿,而应该以树状组织账簿,任何时刻,都以当前最长分支作为主账簿,但是保留其它分支。举个例子,某小组同时收到A、B两份账簿页,经核算都是合法的,此时小组应该将两页以分叉的形式组织起来,如下图所示:

    黑色表示当前账簿主干。此时,可以随便选择一个页作为当前主分支,例如选择A:

    此时如果有一个新的账簿页是基于A的,那么这个主干就延续下去:

    如果这个主干一直这么延续下去,表示大家基本都以A为主干,B就会被遗忘。但是也有可能忽然B变成更长了:

    那么我们就需要将B分支作为当前主干,基于这个分支进行后续工作。

    从局部来看,虽然在某一时刻各个小组的账簿主干可能存在不一致,但大方向是一致的,那些偶尔由于不同步产生的小分支,会很快被淹没在历史中。

    如果挖矿小组有人伪造账簿怎么办

    关于这个问题,中本聪同学说,只要挖矿组织中大多数人是诚实的,这个系统就可靠,具体分几个方面给予答复。

    首先,基于保密印章机制,没有人能伪造他人身份进行付款,因为编码生成器在打印编码时会核对所有交易单的保密印章,印章和付款人不一致会拒绝打印。

    而且诚实的矿工也不会承认不合法的交易(如某笔交易付款方余额不够)。

    所以只有一种可能的攻击行为,即在收款人确认收款后,从另一条分支上建立另外的交易单,取消之前的付款,而将同一笔钱再次付款给另一个人(即所谓的double-spending问题)。下面同样用一个例子说明这个问题。

    先假设有一个攻击者拥有10个比特币,他准备将这笔钱同时支付给两名受害者A和B,并都得到承认。

    第一步,攻击者准备从受害者A手里买10比特币的黄金,他签署交易单给受害者A,转10个比特币给受害者A。

    第二步,这笔交易在最新的账簿页中被确认,并被各个挖矿小组公告出来。受害人A看到公告,确认比特币到账,给了攻击者10个比特币等值的黄金。

    第三步,攻击者找到账簿,从包含刚才交易的账簿页的前一页做出一个分支,生成更多的账单页,超过刚才的分支。由于此时刚才攻击者制造的分支变成了主干分支,而包含受害者A得到钱的分支变成了旁支,因此挖矿组织不再承认刚才的转账,受害者A得到的10比特币被取消了。

    第四步,攻击者可以再次签署交易单,将同一笔钱支付给受害者B。受害者B确认钱到账后,支付给攻击者等值黄金。

    至此,攻击者将10个比特币花了两次,从两名受害者那里各购得等值黄金。攻击者还可以如法炮制,取消与受害者B的转账,将同一笔钱再支付给其他人……

    关于这种攻击,中本聪给出的解决方案是,建议收款人不要在公告挂出时立即确认交易完成,而是应该再看一段时间,等待各个挖矿小组再挂出6张确认账簿,并且之前的账簿没有被取消,才确认钱已到账。

    中本聪解释道,之前设定变态的编号规则,正是为了防御这一点。根据前面所述,生成有效账簿页不是那么简单的,要花费大量的人力反复试不同的幸运数字,而且过程完全是碰运气。如果某账簿页包含你收到钱的确认,并且在后面又延续了6个,那么攻击者想要在落后6页的情况下从另一个分支赶超当前主分支是非常困难的,除非攻击者拥有非常多的人力,超过其他所有诚实矿工的人力之和。

    而且,如果攻击者有如此多人力,与其花这么大力气搞这种攻击,还不如做良民挖矿来的收益大。这就从动机上杜绝了攻击的形成。

    比特币会一直增加下去,岂不是会严重通货膨胀

    中本聪说,这一点我也想到了。前面忘了说了,我给矿工组织的操作细则手册会说明,刚开始我们协议每生成一页账簿,奖励小组50个比特币,后面,每当账簿增加21,000页,奖励就减半,例如当达到210,000页后,每生成一页账簿奖励25个比特币,420,000页后,每生成一页奖励12.5个,依次类推,等账簿达到6,930,000页后,新生成账簿页就没有奖励了。此时比特币全量约为21,000,000个,这就是比特币的总量,所以不会无限增加下去。

    没有奖励后,就没人做矿工了,岂不是没人帮忙确认交易了

    到时,矿工的收益会由挖矿所得变为收取手续费。例如,你在转账时可以指定其中1%作为手续费支付给生成账簿页的小组,各个小组会挑选手续费高的交易单优先确认。

    矿工如果越来越多,比特币生成速度会变快吗

    不会。中本聪解释,虽然可以任意加入和退出矿工组织,导致矿工人数变化,每个矿工也会拿到一个编码生成器,不过我已经在编码生成器中加入了调控机制,当前工作的编码生成器越多,每个机器的效率就越低,保证新账簿页生成速率不变。

    虽然每个人的代号是匿名的,但如果泄露了某个人的代号,账簿又是公开的,岂不是他的所有账目都查出来了

    确实是这样的。例如你要和某人交易,必然要要到他的代号才能填写交易单。因为收款人一栏要填入那人的代号。不过中本聪说可以提供无限制的保密印章,建议每一次交易用不同的保密印章,这样查账簿就追查不到同一个人的所有账目了。

    答疑完毕。

    说明

    本文用通俗比喻的方式讲解了比特币的运行机制。有几点需要说明:

    1. 为了便于理解,我做了很多简化,因此有些机制细节和实际的比特币可能不完全相同。但总体思想和关键原理是一致的。
    2. 由于很多计算机世界的东西(如公钥体系、网络传输)在现实世界中并没有特别好的对等物,所以故事里难免有一些生硬和不合常理的细节。
    3. 本文描述的是比特币网络本身的技术原理和运作机制,当在如Mtgox这种买卖市场中进行比特币交易时,市场做了中间代理,并不遵从上述机制

    参考

    1. Bitcoin: A Peer-to-Peer Electronic Cash System
    2. https://bitcoin.it
    3. 云风的BLOG: Bitcoin 的基本原理
    4. 易懂的比特币工作机理详解

    展开全文
  • 8年后,你还买得起一个比特币吗?

    千次阅读 2018-06-21 20:35:22
    8年后,你还买得起一个比特币吗?  最近P3D新盘 chunchou.com记得那是在2014年,当比特币的价格从8000元一直跌落时,我也一直在问自己,比特币到底怎么估值。当跌到2800元时,我想出了计算办法,做了一个粗算,...
  • 比特币

    2018-05-01 12:58:05
    3.比特币比特币是一种基于密码学原理的P2P货币。它是由一个笔名为中本聪的人在2008年发明的。它显然算得上电子货币,因为自它在...甚至存在以其他目的来使用比特币系统的可能,而非仅仅将其视作电子货币:Namecoi...
  • 比特币完整源码

    2018-03-18 11:29:51
    比特币完整源码,欢迎下载,
  • 一、初步讲解 1、为何要搞这么一套货币体系     现如今的货币体系,一定是一个有着中心化的体系,也就是有着可信任第三方平台的体系,最典型的例子就是银行。   ...
  • 比特币的机制(一)

    千次阅读 2018-11-08 22:59:49
    简介比特币的机制 之:记账的方式,交易的语法,比特币脚本,P2PKH交易
  • 点击上方“蓝色字”可关注我们!暴走时评:尽管最近加密货币市场发生崩盘,美国也加强了经济制裁导致伊朗的法定货币里亚尔出现大幅波动的现象,但据报道,伊朗人目前仍然在设法通过开...
  • 从2009年1月3日第一枚比特币诞生算起,比特币已经有10年的历史了。 这一路走来,比特币的价格已经水涨船高,而现在到了只能仰望的地步,突然心头划过一丝淡淡的忧伤。 ​几年前要是知道这东西,买它个几百个,这...
  • 快速理解比特币/区块链的原理

    万次阅读 多人点赞 2018-03-31 11:03:38
    说实话,关于比特币以及区块链的介绍,目前是太偏金融了,市面上好多本书在IT人眼里都是索然无味,猛一看作者或者译者,全是都是标准的中年西装领带皮鞋短发的金融精英男,或者大龄未婚套装豪车的金融精英女,IT界的...
  • 十分钟了解比特币区块链

    万次阅读 多人点赞 2018-05-05 17:58:41
    比特币区块链的发展历史 大家接触和了解区块链,最早应该是从比特币开始的。确实,区块链确实也是起源于比特币,但是又不局限于货币圈。区块链可以在金融、保险、医疗、政府等领域被广泛使用。 既然区块链起源...
  • 比特币区块链 到底是什么鬼?

    万次阅读 多人点赞 2017-09-12 15:37:23
    火的一面是,接受并理解区块链的一帮人(姑且称为圈内人),正热火朝天滴向各种行业应用和技术难题进军,融资规模不断刷新(当然这里面鱼龙混杂,后面细说)。冰的一面是,大部分人,包括广大IT人,对区块链认知比较...
  • 一文看懂比特币区块链

    万次阅读 2017-04-30 11:07:04
    今年比特币虽然受各种政策打压,但还是顽强上涨,什么是比特币,什么去区块链,什么是挖矿,一文看懂。 区块链技术最近受到广泛关注,有人把它比做早期的互联网技术,区块链技术诞生于比特币。本文简单介绍比特币...
  • 文章转载:https://danqi7.github.io/jekyll/original/2018/01/12/make-blockchain-uncool-again.html#overview目录:比特币区块链...工作量证明新快区生成时间针对区块链的恶意攻击和防御手段比特币交易速度挖矿...
  • 近些年,很多人在茶余饭后讨论的致富话题中,一定少不了比特币区块链,仿佛没有深入研究过这类话题就是没见过世面的土包子。那么,比特币区块链到底是什么,又有什么关系呢? 比特币是什么? 比特币是一种基于...
  • 区块链比特币初步了解

    千次阅读 多人点赞 2019-10-29 19:26:46
    最近这几天区块链被再一次提到了风口,这次不一样,xxx代言,xxx支持的,作为一个IT人,应该了解下。而且不能太粗略。 一、先过一些基本概念 ...一句话:比特币不是区块链,它只是区块链技术的...
  • 李笑来一直是国内的比特币大神,号称拥有“六位数”的比特币。在罗胖的“得到”栏目很火,收取智商税无数。他给人的感觉一向温文尔雅,至少是有风度的投资大腕。但在流出的音频中,“傻逼”不绝于耳,算是彻底“破相...
  • 比特币核心客户端使用Google的LevelDB数据库存储区块链元数据。区块被从后向前有序地链接在这个链条里,每个区块都指向前一个区块。区块链经常被视为一个垂直的栈,第一个区块作为栈底的首区块,随后每个区块都被...
  • 区块链比特币开源 无论您是相信区块链技术已准备好改变世界还是在转瞬即逝,都可以肯定的是:关于区块链的技术和法律问题如今已浮现在每个人的脑海。 人们常常想知道:比特币是“开源的”吗? 但是这个问题源于对三...
  • 花了好大气力,找到这篇帖子,讲的不错,其实这个时候,已经解除区块链有六个月左右了,对于比特币认知已经超过这个帖子所表现的程度,但还是感觉这么好的帖子,还是值得收藏和转发一下的。 盗亦有道,转帖也应该把...
  • 比特币的最大特点就是去中心化,而去中心化引发的最大问题就是“共识问题”,一个更具体的问题就是“双花问题(double spending)”,而这些问题比特币都是通过区块链技术去解决的,本文将主要以这些问题为导向,去...
  • 区块链比特币科普

    千次阅读 2017-12-19 16:56:14
    比特币区块链总是让人感觉高深莫测,网上一搜总会搜到各种:去中心化、分布式、甚至无政府等更让人摸不清方向的东西。哪些是对的,哪些是错的,接下来我们就来探讨下。
  • 比特币不是区块链比特币只是区块链的一个应用,比特币运用的技术叫做区块链技术。 区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。 问:能通俗的解释一下什么是区块链...
  • 教你如何轻松学习区块链比特币基础技术原理本帖最后由 别致丶的你 于 2017-10-20 09:35 编辑一、背景比特币的发展历程自从2009年一个自称中本聪(对,是日本人…)的人在一个隐秘的密码学讨论组上发布了一篇叫做...
  • 背景比特币的发展历程自从2009年一个自称中本聪(对,是日本人…)的人在一个隐秘的密码学讨论组上发布了一篇叫做《比特币:一种点对点的电子现金系统》的报告,比特币就出现了,并且得到了越来越多人的关注。
  • 现在每一个身在互联网圈里的人都应该听说过比特币和数字货币,却不一定知道区块链才是比特币和加密货币的技术基础。但是今天要讲的区块链不仅是加密界最热门的话题,也是许多行业都需要的技术。许多大机构和风险投资...
  • 大家都知道,区块链技术的一系列技术与发展都离不开它的根源,那就是比特币,本文以及后续的几篇文章,我将开始介绍比特币的相关知识。比特币技术论文介绍比特币技术论文就是一个说明书,当然了,这份生活明书有正式...
  • 比特币区块链的未来

    千次阅读 2016-01-17 21:05:29
    很早就想写一写区块链(Blocking Chain)技术,作为比特币等一系列应用背后最核心的技术,它的前景充满了各种可能和挑战。最近身边不少人感兴趣,正好总结下。 起源和背景 相比区块链,更多人都听说过比特币。其实...

空空如也

1 2 3 4 5 ... 20
收藏数 164,376
精华内容 65,750
关键字:

比特币