开源 Bitcoin P2P电子货币系统背后的技术(一)

开源 ">Bitcoin P2P电子货币是点对点的电子现金系统,创建于2009年[http://en.wikipedia.org/wiki/Bitcoin]。无需金融机构直接点对点支付。该电子货币系统的特色是无需信托中间人,能够方便的进行互联网上的汇款。第三方不能够控制或者阻止您的交易。Bitcoin 交易几乎免费, 而信用卡的网上在线支付系统通常收取 1-5% 的交易费用,加上其他各种费用高达数百美元。避免了中央储备银行的不良政策和不稳定性所造成的安全隐患. Bitcoin系统的有限货币通胀是均匀分布(由CPU决定)于整个网络, 而不是由银行垄断。

这被某些人认为是最危险的开源项目,但我觉得恰恰相反,这是有史以来最令人兴奋的开源项目。这样发行的币才是真正的“人 民 币”,人民才是被服务,而不是被管理。P2P必将从商业、政治、生活各个方面重新定义新的更加公平公正的意识形态。

名词解释以及背后的技术

Bitcoin涉及到很多有意思的技术,要想搞懂bitcoin首先必须对这些技术理解和把握然后是对Bitcoin术语的理解,bitcoin最重要的技术支撑是P2P,数字签名(EC DSA),散列(SHA256, RIPEMD-160), POW,和HashCash。而术语则是:transaction, block,  address, Merkle Tree.

工作证明 POW(Proof-Of-Work)机制

工作证明POW系统是要求对方服务前,必须要出据某种工作证明的机制。主要用于防止拒绝服务攻击和反垃圾信息。通常这种“工作证明”会花费一定的时间计算才能得到。最常见的例子是CAPTCHA。另外用于防止DoS和垃圾信息的机制是HashCash,bitcoin使用的原理就类似于HashCash.

HashCash 机制

hashcash 的灵感来自于这样一个想法,即一些数学结果难于发现而易于校验。一个众所周知的例子是因数分解一个大的数字(尤其是因数较少的数字)。将数字相乘来获得它们的积的代价是低廉的,但首先找到那些因数的代价却要高得多。

对交互式质询来说,因数分解足以胜任。比如,希望客户端能象征性地为其付出代价方能访问在线资源。这个时候可以定义协议,首先服务器向客户端发送一个消息,说“只要您能因数分解这个数,我将让您得到这个资源”。没有诚意的客户端将无法得到我的资源,只有那些能够证明自己有足够的兴趣、付出一些 CPU 周期来回答这个质询的才能得到这个资源。

不过,有一些资源无法很方便地进行交互式协商。比如电子邮件反垃圾或者支付交易,怎么才能避免邮箱不被垃圾邮件所占据?“我并不介意陌生人给我写信,但是,我希望他们能以稍微认真的态度,亲自通过对我有价值的邮件与我取得联系。至少,我不希望他们是垃圾邮件制造者,那些人向我和上百万的其他人发送包含同样消息的邮件(double-spending),期望我们中的某些人能购买某种产品或者落入一个骗局。”而对于电子货币,内容的复制几乎是没有代价的,如何保证电子货币(内容)没有被交易(发送)多次?这和反垃圾邮件是同样的问题。

hashcash的解决之道就是:在电子邮件的消息头中,增加一个 hashcash 戳记(hashcash stamp)散列值;该散列中包含收件人地址,发送时间,salt,该散列值特别之处在于它至少前20位必须是0才是一个合法的hashcash戳记。为了得到合法的散列值,发送者必须经过许多次尝试(改变salt值)才能获得。一旦生成戳记,不希望每一个给我发送邮件的垃圾邮件制造者都能重复使用它。所以,hashcash 戳记要带一个日期。这样可以指定时间更早的戳记是非法的。另外 hashcash 的接收端要实现一个double-spending数据库,用来记录戳记的历史信息。

Bitcoin中的术语解释

散列:bitcoin在计算散列时一般会计算2次。第一轮总是使用SHA-256散列,而第二次在大多数情况下,也是使用SHA-256散列,但用于生成较短的散列(例如生成 bitcoin接收地址的时候)会用RIPEMD-160散列。

hello 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 ( sha-256) 9595c9df90075148eb06860365df33584b75bff782a510c6cd4883a419833d50 (sha-256)

生成比特币地址时(RIPEMD-160):

hello 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 (sha-256) b6a9c8c230722b7c748331a8b450f05566dc7d0f (ripemd-160)

Addresses: Bitcoin Address是ECDSA公钥(public key)的散列,计算方法如下:

? 1 2 3 4 5

时间: 2014-12-09

开源 Bitcoin P2P电子货币系统背后的技术(一)的相关文章

论电影背后的技术英雄:开源、云计算

近年来,随着IT技术的不断进步,具有百年发展历史的电影开始焕发新的活力,尤其是<阿凡达>引领的3D电影复兴和http://www.aliyun.com/zixun/aggregation/9420.html">3D技术的极大改良,人们惊叹于其视觉效果和身临其境的体验,而背后的制作团队在一次又一次的接受着存储.渲染.处理等各种技术挑战.举例来说,分辨率增加一倍,从2000到4000,存储需求就已经成为天文数字.如果是4000,每秒79帧,每一帧电影是2 GB!你可以想象出一部电影

聊一聊双十一背后的技术 - 物流, 动态路径规划

双十一背后的技术系列文章 <聊一聊双十一背后的技术 - 物流, 动态路径规划> <聊一聊双十一背后的技术 - 分词和搜索> <聊一聊双十一背后的技术 - 强奸式秒杀技术实现> <聊一聊双十一背后的技术 - 毫秒分词算啥, 试试正则和相似度> 云栖聚能聊 - 聊一聊双十一背后的数据库技术 标签 PostgreSQL , 物流 , 路径规划 , LBS , PostGIS , Greenplum , 最短路径 , 双十一 , 地理位置信息 , 快递 , 菜鸟物流

【双11背后的技术】Weex 双11会场大规模应用的秒开实战和稳定性保障

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:鬼道  前言 Native 开发的诸多亮点中,流畅体验和系统调用是最多被提及的.流畅体验体现在页面滚动/动画的流畅性,背后是更好的内存管理和更接近原生的性能:同时又是 Web 的痛点:资源首次下载.长页面内存溢出和滚动性能.动画性能.传统 web 性能(如JS执行效率).Native 有丰富的系统调用能力,而 Web 痛点在于:W3C 标准

【双11背后的技术】双11数据大屏背后的实时计算处理

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:藏六  黄晓锋  同杰 1. 双11数据大屏的实时计算架构  1.1 背景 2016年的双11我们的实时数据直播大屏有三大战场,它们分别是面向媒体的数据大屏.面向商家端的数据大屏.面向阿里巴巴内部业务运营的数据大屏. 每一个直播大屏对数据都有着非常高的精度要求,特别是面向媒体的数据大屏,同时面临着高吞吐.低延时.零差错.高稳定等多方面的挑战

【双11背后的技术】万亿级数据洪峰下的分布式消息引擎

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:冯嘉.誓嘉.尘央.牟羽  前言 通过简单回顾阿里中间件(Aliware)消息引擎的发展史,本文开篇于双11消息引擎面临的低延迟挑战,通过经典的应用场景阐述可能会面临的问题 - 响应慢,雪崩,用户体验差,继而交易下跌.为了应对这些不可控的洪峰数据,中间件团队通过大量研究和实践,推出了低延迟高可用解决方案,在分布式存储领域具有一定的普适性.在此

【双11背后的技术】集团AliDocker化双11总结

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者: 林轩.白慕.潇谦  前言     在基础设施方面,今年双11最大的变化是支撑双11的所有交易核心应用都跑在了Docker容器中.几十万Docker容器撑起了双11交易17.5万笔每秒的下单峰值.众所周知Docker技术这几年大热,但如果期望阿里这么大体量的应用全部使用Docker,这可不是一朝一夕就能完成的事情.阿里的应用数量庞大,种类众

Instagram 5位传奇工程师背后的技术揭秘(PPT)

Instagram 5位传奇工程师背后的技术揭秘(PPT) 发表于2013-03-28 22:13| 次阅读| 来源CSDN| 0 条评论| 作者郭雪梅 postgresqlredismemcachedInstagram开源AWS 摘要:Instagram,一家基于iOS和Android的社交图片照片分享应用开发商,以独特的运营理念,在仅有5位工程师,团队共有13人的情况下,成功将自己以7.5亿美元出售给 Facebook.奇迹的背后,是"为尽量减少运维负担而优化,监控一切,简洁的技术主张&qu

【双11背后的技术】双11背后的大规模数据处理

选自<不一样的技术创新--阿里巴巴2016双11背后的技术>,全书目录:https://yq.aliyun.com/articles/68637 本文作者:惠岸 朋春 谦乐  1. 实时数据总线服务-TT TimeTunnel(TT)在阿里巴巴集团内部是一个有着超过6年历史的实时数据总线服务,它是前台在线业务和后端异步数据处理之间的桥梁.从宏观方面来看,开源界非常著名的Kafka+Flume的组合在一定程度上能够提供和TT类似的基础功能:不同的是,在阿里巴巴的业务体量和诉求下,我们有比较多的配

Instagram 5位传奇工程师背后的技术(PPT全译)

Instagram 5位传奇工程师背后的技术(PPT全译) 摘要:Instagram,一家基于iOS和Android的社交图片照片分享应用开发商,以独特的运营理念,在仅有5位工程师,团队共有13人的情况下,成功将自己以7.5亿美元出售给 Facebook.奇迹的背后,是"为了最小的运营负担而优化程序,利用一切能用到的(开源)工具与云平台,极简的技术主张". Instagram是一家基于iOS和Android的社交图片照片分享应用开发商.凭借着独特的运营理念,自2010年3月成立以来,短