【转】Bitcoin P2P 货币:有史以来最危险的项目

Bitcoin(比特币) 是一种开源的 P2P 虚拟货币,无法跟踪,牢不可破。有人用它贩卖毒品,有人用它支持自己喜欢的内容,还有人用它来玩儿扑克。

这种货币可以影响政府,搅动经济,提供无法控制的全球走私交易。

美国互联网创业者和博客作者 Jason Calacanis 和 他的 LAUNCH 团队对 Bitcoin进行了调研,以下是调查结果。

图:bitcoin在Google 趋势中的走势

经过一个月的调查,LAUNCH 团队得出一下结论:

1. Bitcoin 的技术非常靠谱。
2. Bitcoin 无法停止,除非终端用户提出起诉。
3. Bitcoin 是有史以来最危险的开源项目。
4. Bitcoin 可能是自互联网以来最危险的科技项目。
5. Bitcoin 是科技自由主义者的一次政治声明。
6. Bitcoins 将改变世界,除非政府通过严厉的惩罚措施制止他们。

Bitcoin是什么?

Bitcoin是一种以文件形式存在的虚拟货币,存储在你的电脑上。使用者可以通过三种方法交换货币:

1. 通过在bitcoin.org直接下载的P2P软件
2. 通过 ClearCoin 等代管服务
3. 通过 bitcoin 货币交易中心

每用户可以把该货币转给他人,方法是在上次交易和下一位所有者的公开密钥上进行哈希(hash)签名,把相关信息添加在货币的尾部。接收方可以通过验证签名来验证所有权。

这种货币的好处:

a) 不会被冻结。
b) 无法跟踪。
c) 不用纳税。
d) 交易成本极低。

这里有一个简单的视频介绍:http://jc.is/jlcte0

Bitcoin的来历

Bitcoin通过复杂算法生成。到2140年之前总额只能达到2100万。你的桌面Bitcoin软件也可以制作Bitcoin,但以目前需要投入的电量和时间计算,制作成本高于其面值(笔记本需要5年时间才能制作一枚,目前交易价格为6.70美元)。

Bitcoins 的发明者

一个名叫 Satoshi Nakamoto 的人首先在《Bitcoin:一种点对点电子现金系统(Bitcoin: A Peer-to-Peer Electronic Cash System)》中提到了Bitcoin。此人已经离开该项目,目前该项目技术主管是 Gavin Andresen。

如何买卖Bitcoin?

目前 Paypal 和信用卡公司都宣布销售Bitcoin非法。理由很简单:PayPal 服务条款禁止“货币交易”。

CoinPal已经冻结了Bitcoin的交易。

这种货币越来越难以搞到,以至于你可以在现实生活中用它交换其他服务。比如有人表示他为别人编程,收到的报酬是Bitcoin。

现实生活中的Bitcoin

明年你就能在拉斯维加斯的赌场里看到人们用现金和赌币来购买和销售 Bitcoin 了。

地下毒品和 Bitcoin

上个月人们曾热议一个叫做 SilkRoadMarket 的毒品交易市场,里面有各种毒品。另外,既然 Bitcoin 无法跟踪,所以你买东西不用担心被抓。

预测

Launch相信政府在未来12-18个月内封杀 Bitcoin。此外,Bitcoin将会升值,很多人会使蜂拥而至,开始使用Bitcoin。

目前共有600万 Bitcoin,每个价值 6.70美元,总计 4000万美元。囤积行为会导致Bitcoin进一步升值。

会出现大量和 Bitcoin 相关的不测,比如你的笔记本崩溃了,而你没有备份你的 Bitcoin,或者你的笔记本被到了,或者存有 Bitcoin 的U盘不见了,那么你只能说破财免灾了。

99designs,eLance 和 oDesk 等网站开始接受 Bitcoin 支付,如果他们不接受,就会面临来自其他人的竞争。

底线:整个世界都将被 Bitcoin 颠覆,除非政府介入通过起诉的形式对其进行封杀。

这事儿会越来越有意思。走着瞧吧,各位。

via LAUNCH

转载请注明:文章来自36氪

通俗易懂讲解什么是 Bitcoin 虚拟货币

最近在Twitter上一个叫做“Bitcoin”的单词讨论的很热烈,我找了相关的资料,大致明白了Bitcoin是什么,全文转载如下:

Bitcoin 是最近热议的话题,不过中文资料非常少,这篇文章不会评论 Bitcoin 的意义和利弊,只希望以尽简单的方式介绍什么是 Bitcoin,让更多人了解到这个有趣且了不起的创意。同时我会不断修正或补充内容,尽量做到当有人问到“什么是Bitcoin”时,只需把这篇文章的 网址发给他就可以了。@ivarptr
初步认识 Bitcoin
    Bitcoin (为了便于书写和理解,下面如果是表示 “Bitcoin币”意思的地方我称呼其为“贝壳币”,取粤语相近的音译)是一种网络虚拟货币,跟腾讯公司的Q币类似,你可以使用贝壳币购买一些虚拟的物 品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用贝壳币购买现实生活当中的物品。跟Q币不同的是,贝壳币的发行、流通和管理权不属 于某一个人、组织、公司或者国家,或者换一句话说:它是平等地属于参与其中的每一个人。每个人只要有一台能接入互联网的计算机,然后通过运行一个自由的开 放源代码的软件都可以参与其中,所有参与的人当中不存在所谓的管理员、中心节点或者特权人员,是一个平等的点对点(P2P)的系统,统称 Bitcoin 系统。

为什么有人愿意使用贝壳币?
    Bitcoin 系统目前能保证如下几点:
    1、贝壳币在某一个时间点上总数量是确定的;
    2、贝壳币的数量以缓慢的速度增长,不会突然增加;
    3、贝壳币最终会增长到一个总量,不会无限增长;
    4、以上几个特征是由一个公认的数学公式来提供保证,不需要任何人、组织或国家来提供保证。
    5、贝壳币的流通不需中间机构,转账过程不受干预。
    从上面的特征可以看到贝壳币具有作为一般等价交换物的潜质,某些方面甚至比黄金更为理想。刚开始的时候贝壳币可能用于交换低价值的虚拟物品,后来有人为了 得到虚拟物品而在网上拍卖自己的现实物品(比如旧数码产品、球鞋等)以收取贝壳币,而另外一些人为了购买这些现实物品但手头上没有贝壳币,可能会使用现实 中的货币去兑换贝壳币,如此一来,贝壳币就开始流通,于是就开始拥有了“价值”。

贝壳币如何获得?
    只要有一台能接入互联网的计算机,从这个网站(http://www.bitcoin.org/) 下载 Bitcoin 程序,首次运行会产生一个数字账号,然后保持运行,这个程序就会一直不停地计算上面提到的数学公式所产生的一系列“数学题”,当你成功地计算完一道数学题 之后,就有可能得到一定数量的贝壳币,但并不是每次计算都一定能获得贝壳币,还要看你的计算是否首个完成以及对整个系统的贡献程度,这个“不劳动无收获, 一分耕耘并不一定有一分收获”的过程非常像挖金矿,所以挂机运行 Bitcoin 程序的过程被称为“挖金矿(mining)”,而 Bitcoin 程序自然被称为“挖矿机”或者“矿工(miner)”。
    挖金矿是人人机会平等的,然而收获却不是平均的,性能越好的计算机“解决数学问题”的速度越快,就越有机会获得贝壳币。那么什么样的计算机速度最快呢?超 级计算机?不是,是你用来玩3D游戏的显卡,现在中高档的显卡都带有GPU具有运算功能,一块高档显卡顶得上200台主流CPU的速度(具体原理这里有说 明:https://en.bitcoin.it/wiki/Why_a_GPU_mines_faster_than_a_CPU,各种显卡性能对比列表 https://en.bitcoin.it/wiki/Mining_hardware_comparison),所以参与挖金矿的人还得有一张中高档的显卡。
    另外随着参与的人数不断增加,其中有不少程序员还进行各种衍生品的开发,于是各种各样的矿工程序随之出现,比如有使用纯JavaScript实现的挖金矿程序(比如 http://bitp.it/),你可以把它挂在博客里,当读者们阅读你的文章时,他们的计算机会不知不觉地帮你挖金矿。

获取贝壳币的成本
    Bitcoin 系统会控制贝壳币的增长速度,现在整个系统大概保持每10分钟增加50个贝壳币的增长速度,这个速度并不会随着参与人数的增加而加快。也就是说,假设整个 Bitcoin 系统有100个人参与,那么平均每人一小时能获得 3 个贝壳币,同理假如有 10000 人参与,平均每人一小时只能获取 0.03 个贝壳币。而目前的情况是,使用普通计算机即使挖了一年时间,可能连1个贝壳币都获取不了(因为参与的人数很多),考虑到所消耗电能的成本,挂机挖矿行为 实在不值得推广。当迫切需要贝壳币时可能更多人宁愿使用现实货币去兑换而不会亲自去挖。
    更不幸的是获取贝壳币的成本将会越来越高,因为 Bitcoin 的数学公式确定每21万贝壳币增长速度就会减半,到 2140 年左右基本上就不增长,到时贝壳币总数量大概维持在  2000 万左右。目前总量为 600 万,见 http://blockexplorer.com/q/totalbc ,估计大部分都集中在创始者以及最先加入游戏的一批人手中。
    因为获取贝壳币的难度高,一些“矿场(mining pool)”网站就产生了,矿场的作用是集中零散的个人力量一起挖金矿,以增加获取贝壳币的机会。共同获得的贝壳币会根据其中每个人的贡献量平摊,一般矿场还会收取2%左右的佣金用于维持自身的运作。


贝壳币能买什么?
    这里有一个接受贝壳币支付的网站商店列表:https://en.bitcoin.it/wiki/Trade,可见现在已经可以用它来购买音乐、书籍、软件、服务等等,列表当中还有一些货币兑换网站,从中可以了解贝壳币跟美元等现实货币的汇率以及汇率走势等。

一些有趣的猜想
    因为贝壳币的流通不受控制,所以很明显各个国家不会让它进入市场,甚至会屏蔽它不让百姓访问,不过也正因为它不受控制的特点而可能得以长期在民间低调流 通;坚持天天挂机挖金矿的朋友可能会因为高昂的电费而最终放弃游戏;也有可能在若干年后,随着贝壳币的获取成本越来越高以及部分人囤积导致它升值几倍,某 些精英或者国家料到这种情况现在就已经开始投资挖矿;当然也有可能过了几年大家的热情消退了,没有人玩了,最终贝壳币变成一场闹剧。究竟将来如何没人能意 料得到,只知道越多人了解和参与将会使情况变得更加有趣。
    无论贝壳币前途如何,无可否认它是一个非常有趣并且了不起的创意,而且最起码它能带给人一些思考和谈资。

本文是基于 Bitcoin 官方英文文档以及个人粗略理解所得,可能其中有错误的地方,欢迎通过微博(@ivarptr)将指出错误。同时欢迎转载,转载本文时请保留本文链接地址:http://ivarptr.blogspot.com/2011/05/bitcoin.html
谢谢!

参考资料:
[1] Bitcoin 官方FAQ https://en.bitcoin.it/wiki/FAQ
[2] 云风博客:Bitcoin 的基本原理 http://blog.codingnow.com/2011/05/bitcoin.html
[3] 36氪:Bitcoin P2P 货币,有史以来最危险的项目:http://www.36kr.com/dangerous-bitcoin-p2p-currency/

其他中文资料汇集(仍添加中):
[1] 此物一出天下反:话说BitCoin http://www.lixiaolai.com/index.php/archives/10589.html (这个网站挂了javascript的挖矿机,可以参考一下)

【转】WordPress 向来自其他域的访客致欢迎词

全文转载自:http://wange.im/wordpress-say-hello-to-vistors.html

WordPress 上对来自其他域的访客显示欢迎词,这个效果我之前写过一篇类似的,《WordPress 高亮显示关键词及欢迎提示》, 之前这一篇是对特定访客显示欢迎词,也就是只对来自搜索引擎的访客显示欢迎提示词,而且对常用的搜索引擎还需要我手工添加进数组,并不是很全面,对百度、 Google、有道、必应这些之外的搜索引擎就无效了。而今天介绍的这个方法就很全面,不仅可以涵盖所有的搜索引擎,就连其他任何不加密的网站也都适用!

不信?可以先做个测试。如果我有在贵站留过言,或者你很给面子地给我做了一个友链的小盆友们,你们可以通过自己网站上任何一个可以通向本站的链接访问本站。进来之后,你看到了啥?右侧的那个浮动层瞧见没?就是这个了。再比如说通过我的 Twitter(@wange1228)的主页,上面有我博客的链接,点击进入我的网站后,如下图:

Twitter上的博客链接

从twitter来的欢迎词

现在应该明白我讲的是啥效果了吧,在道明方法之前,首先要感谢 illacrimo-plus 主题的作者,虽然我也不知道是谁。本文的方法就是从这个主题上扒下来的,方法如下:

1、把以下代码复制到 WordPress 主题的 functions.php 中:

function show_refer_in(){
$refer_info=$_SERVER['HTTP_REFERER'];
$ban_list=array($_SERVER["HTTP_HOST"]);
for($ii=0;$ii<count($ban_list);$ii++){
if(strpos($refer_info,$ban_list[$ii])){
return;
}
}
if($refer_info){
preg_match("/^(http:\/\/)?([^\/]+)/i",
$refer_info, $matches);
$host = $matches[2];
echo "<div id=\"hellobaby\">欢迎来自 ".$host." 的朋友!<br />推荐您 <b><a href=\"http://feed.wange.im\" target=\"_blank\">点击这里</a></b> 订阅我的博客 o(∩_∩)o<div class=\"closebox\"><a href=\"javascript:void(0)\" onclick=\"$('#hellobaby').slideUp('slow');$('.closebox').css('display','none');\" title=\"关闭\">×</a></div></div>";
}
}

2、在主题文件的任何部位调用以下函数,我建议是放在 footer.php 中:

<?php show_refer_in();?>

3、接下来样式部分仅供参考:

#hellobaby {
background:#000000;
border:1px solid #B3B3B3;
color:#FFFFFF;
font-size:14px;
opacity:0.7;
filter:alpha(opacity=70);
padding:10px;
position:absolute;
right:0;
top:250px;
}

基本完成了,本文提到的文法和 WordPress 高亮显示关键词及欢迎提示中的提示词部分有点重复,不过高亮显示关键词还是很有用的,所以两者我都用上了,感觉还不错,你说呢?

Update:经热烈讨论,同学们普遍反映,如果每次跳转过来都会有这个欢迎词,就会显得有些烦人,有些碍眼。感谢小邪,提供了记住 Cookies 的方法,8过很遗憾,居然在我这里测试会报错。所以我用了另一种折衷的办法,加了个判断,对所有留过言的朋友不显示该欢迎词,其实也是借用了 Cookies 的概念,现在要看这个效果的小盆友们,就要先清除浏览器缓存才行咯。感谢,也欢迎大家提出更多宝贵意见~

转载08年的一篇文章-满大街跑的都是月薪上万的小程序员

我住在海淀区,这里满大街跑的是月薪上万的小程序员儿,还有痛骂计算机专业无美女的项目经理,他们大脑袋、厚眼镜、因熬夜而布满血丝的眼睛,因不见阳光而 酷似吸血鬼的脸,穿一个星期不洗的T-SHIRT,很有很有味道的,他们供楼不供车,他们翻开报纸只盯住北边的楼盘,倒不是因为关心奥运村,实在是想离公 司近一些。我,衷心地喜欢着这个区。

  有女友去国贸那边应聘工作回来,一脸幸福状地向我描述,地铁站里全是帅哥,地面上更是临风玉树站成了森林,让她的小心灵经受了一次美的洗礼,她 晕乎乎地回来了,对那些西装革履、散发名贵男用香水味道、气宇轩昂的白领男人们再三再四地概叹:“F4那算个啥,肚里没货,只知卖相,看看人家,啊,那才 叫自信来源于知识,气质来源于财富……” 我打断她语无伦次的胡说八道,问她工作有戏没戏,她说,“凭我的英语水平,能没戏吗?!”

  过几日,女友去上班。再过几日,女友辞职。我问为个啥,她说,她是属于海淀区的好市民,与朝阳区那个高级白领集居地格格不入。

继续阅读

媳妇给讲的一则笑话

今天媳妇给讲了一个笑话,我觉得挺逗的

说是在一个废旧的工厂内,好多电器在一起聊天,大家说让每个电器都讲一个笑话,如果其他人有一个觉得不好笑,那么这个电器就要被拿去修理

第一个讲笑话的是电视机,电视机讲完之后大家都哈哈大笑,只有电饭煲说“呼呼~好冷啊~~”,按照规定,电视机被拿去修理了

第二个讲笑话的是电脑,电脑很用心,讲了很好笑的笑话,大家都哈哈大笑,只有电饭煲说“呼呼~好冷啊~~”,按照规定,电脑被拿去修理了

第三个讲笑话的是微波炉,微波炉觉得电饭煲很难对付,就把压箱底的笑话拿出来了,大家笑的前仰后合,电饭煲突然说“冰箱,你能不能在我后面笑的时候不要张那么大嘴,吹的我实在是好冷啊!!想笑都笑不出了!”

Firefox 5.0 发布第一个 Beta 版本

Firefox 开发团队今天宣布Firefox 5 Beta1发布,正式版将于6月22日发布,这一时间距离Firefox 4发布仅仅相隔3个月。而版本6则要等到今年8月18日。所有对Firefox的改进目前被存储在Mozilla的中央Mercurial库,并且将定期汇合成一个测试版本。

Firefox 5.0 的新特性:

  • Tab multi-select
  • A new tab page
  • Add-ons will get standardized toolbar support
  • File upload indicator
  • Home button will be replaced with a Home app tab
  • In-browser preview for files such as PDF or MP3
  • Taskbar web apps
  • Identity manager
  • Easy access to social media accounts for services such as Facebook and Twitter

下载地址:

Firefox 5.0 Beta for Windows
Firefox 5.0 Beta for Linux (x86, x64)
Firefox 5.0 Beta for Mac

分布式版本控制系统 Mercurial

Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。相对于传统的版本控制,具有如下优点:

  • 更轻松的管理。
    传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository。
  • 更健壮的系统。
    分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
  • 对网络的依赖性更低。
    由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。

如何在越狱后的苹果机器安装破解软件

1.本文讨论的前提是如何在已经越狱的iphone,ipad,itouch上安装破解软件,如何越狱不在本文讨论范围

2.本文是用越狱后的4.2.1版本的IPad做为示例,其他机器如iphone,ipad,itouch是相同的

所有越狱后的机器都能看到Cydia的图标,如下图:

image

第一次点击Cyida后进行正常的初始化,初始化后自动退出,再次进入Cydia后,会自动更新软件,更新后建议选择全部更新,这样可把默认安装到Cyida里的软件更新到最新版本。

安装破解软件的方式主流的有两种,一是用itunes安装,二是用installous安装,作者不建议用itunes安装,因为不方便,每次还需要同步(可以关掉),本文介绍的方法是使用installous这个软件来安装

首先说明,installous是安装在苹果机器上的软件,而不是你的电脑。

第一步是下载installous,打开Cydia里搜索installous下载安装,安装完成后可在桌面看到

image

第二步是安装AppSync补丁,根据你版本的不同下载不同的补丁

第三步即可开始安装了,电脑需要安装一个iFunbox的软件,这个软件的目的是将下载的ipad格式的游戏或者软件拷贝到installous的安装目录里

iFunbox下载地址:http://www.newhua.com/soft/113353.htm

继续阅读

常用的上传下载协议以及Java实现

上传协议

1.HTTP协议

HTTP协议即Hypertext Transfer Protocol的缩写,这种协议是网上最常见的传输协议。

1.1 用Java实现通过HTTP协议来上传文件

方式一:使用Apache 开源上传软件包 fileupload,相关介绍及下载地址是http://commons.apache.org/fileupload/

核心示例代码:

File uploadPath = new File("D:\\temp");//上传文件目录
    if (!uploadPath.exists()) {
       uploadPath.mkdirs();
    }
    // 临时文件目录
    File tempPathFile = new File("d:\\temp\\buffer\\");
    if (!tempPathFile.exists()) {
       tempPathFile.mkdirs();
    }
    try {
       // Create a factory for disk-based file items
       DiskFileItemFactory factory = new DiskFileItemFactory();

       // Set factory constraints
       factory.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb
       factory.setRepository(tempPathFile);//设置缓冲区目录

       // Create a new file upload handler
       ServletFileUpload upload = new ServletFileUpload(factory);

       // Set overall request size constraint
       upload.setSizeMax(4194304); // 设置最大文件尺寸,这里是4MB

       List<FileItem> items = upload.parseRequest(request);//得到所有的文件
       Iterator<FileItem> i = items.iterator();
       while (i.hasNext()) {
           FileItem fi = (FileItem) i.next();
           String fileName = fi.getName();
           if (fileName != null) {
       File fullFile = new File(fi.getName());
       File savedFile = new File(uploadPath, fullFile
              .getName());
       fi.write(savedFile);
           }
       }
       out.print("upload succeed");
    } catch (Exception e) {
       e.printStackTrace();
    }

方式二:使用jspSmartUpload组件

继续阅读

【转】一次谷歌面试趣事

转载自:http://www.aqee.net/2011/04/11/google-interviewing-story/

很多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该接受,就是:你往 往会在前几次面试中的什么地方犯一些错误。简单而言就是,不要首先去你梦想的公司里面试。面试中有多如牛毛的应该注意的问题,你可能全部忘记了,所以,先 去几个不太重要的公司里面试,它们会在这些方面对你起教育(再教育)作用。

我第一家面试的公司叫做gofish.com,据我所知,gofish这家公司如今的情况跟我当时面试时完全的不同。我几乎能打保票的说,当时我在 那遇到的那些人都已不再那工作了,这家公司的实际情况跟我们这个故事并不是很相关。但在其中的面试却是十分相关的。对我进行技术性面试的人是一个叫做 Guy的家伙。

Guy穿了一条皮裤子。众所周知,穿皮裤子的面试官通常是让人“格外”恐怖的。而Guy也没有任何让人失望的意思。他同样也是一个技术难题终结者。而且是一个穿皮裤子的技术难题终结者 —— 真的,我做不到他那样。

我永远不会忘记他问我的一个问题。事实上,这个问题是非常的普通 —— 在当时也是硅谷里标准的面试题。

问题是这样的:

假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法是讲,什么方法能最快的查出所有小字符串里的字母在大字符串里都有?

比如,如果是下面两个字符串:

 

String 1: ABCDEFGHLMNOPQRS

String 2: DCGSRQPOM

答案是true,所有在string2里的字母string1也都有。如果是下面两个字符串:

继续阅读