目前共有6篇帖子。 內容轉換:不轉換▼
 
點擊 回復
870 5
对比特币的通俗讲解
初級程式設計師 三級
1樓 發表于:2015-1-19 21:07

简介:

Alice跟Bob离的很远,她想买Bob的羊驼袜子。作为回报,她想付给Bob一美元。一元钞票只是一片纸,非常容易制作(对于那些能够制造的人),但是在现实生活中被人们接受用来交换有价值的产品和服务,比如Alice想买的袜子。Alice能够做的简单事情就是把一美元放进信封邮寄给Bob,然后等待Bob把袜子寄给她。另外一种方法是Alice把钱“电汇”给Bob。要做到这些,首先她把她的钞票给一个叫银行的组织,银行负责安全的保存Alice的钞票,然后返回Alice一个书写的承诺(被称作银行结单)。任何时候,只要她愿意,她能够到银行取回她保存在银行的相同数量的钞票。因为这些钱仍然属于Alice,她有资格用这些钱来做她想做的任何事,另外银行(像大部分银行)会收取一小笔费用,作为把钞票转给Bob的服务费。银行可以派一个人拿着Alice的钞票(或者换成了崭新的钞票,如果Alice的钞票比较破旧)到Bob家里交给Bob,但是,一般情况,是通过Alice的银行账户直接转到Bob的帐号再通知他们两人。下次Bob将在账单中看到,或者,如果他比较急迫,下次他会联系银行询问他在银行中拥有多少钱。因为银行有很多顾客,并且银行需要花钱雇佣员工与人们交谈和签署文档,所以最近银行已经开始使用机器(比如ATMs)和网络服务来代替付费的员工和顾客交互。这些机器被设计成用来处理顾客想要对他/她的钱进行的操作,以及顾客可能操作的的范围(比如,ATMs能够处理现金)。最后,大部分时间,很少有人来处理这种事务。人们能够一直知道银行安全保存的金钱里面有多少是他们的,并且,他们信任他们在银行账单上和他们电脑屏幕上看到的金钱数量,他们任何时候可以从银行得到的相应的钞票。他们确信,他们能够像接受纸币一样接受这些数字(这类似于当初人们开始像接受金银一样接受纸币)。尽管如此,事实上,机器的使用并没有改变这种系统的结构,这种结构基于一个中心权威机构(银行)负责保存用户账户信息。每个人不得不依靠这个权威机构的诚实(比如,说到他们总共保管了多少金钱,或者至少保持多少纸币可供所有着可用)。同样,每个人不得不在这个机构提供他/她的真实姓名来认证他们的身份,从而被允许取回他们的钞票或者转账给别人。Bitcoin是一个拥有一种叫做bitcoin货币并且能够自由转移的系统,它使用一种类似与在线银行接口的方式,但是是匿名的并且不需要依赖一个中心权威机构来决定真伪。这些bitcoin需要消耗真实的资源(CPU时间和电力)来生产,所以它们是有价值的,它们不能够被重复使用,也不会消失,除非这些bitcoin所有者的电脑被非法访问。 

初級程式設計師 三級
2樓 發表于:2015-1-19 21:09

预防盗窃:

为了保证偷听者,比如Eve,不能够通过使用别人的名字建立一个交易来存取其他人的bitcoin,我们使用公共密钥系统来生成数字签名。在这个系统中,每个人,比如Alice和Bob拥有一个保存在安全钱包中的公开/私有密钥对。仅仅拥有私有key的用户可以签署文档,比如用来签署他转移一些bitcoin给某人的交易,但是每个人都能够使用他的公共key来验证这个签名。Bob把公共key发送给AliceAlice添加Bob的公共key和她希望转账的数量到这个交易中Alice使用她的私密key签署这个交易现在,任何知道Alice和Bob公共key的人都确认,Alice同意转移这个数量的bicoin给Bob,因为除了Alice没有其他人拥有Alice的私密key。Alice不会愚蠢到把她的私密key给别人,否则,别人就可以使用她的名字来签署交易、从她的余额中转移资金。稍后,当Bob想转移同样的coin给Charley,他要做同样的事情:接收Charley的公共key,添加新的交易到交易链中并且使用他(Bob)的私有key签署。但是只有Bob能够这样做,因为只有Bob拥有这个私有key,这个key被需要用来签署交易,并且这是唯一在交易链中匹配Bob公共key的私有key。Eve不能够通过把Bob的公共key替换成她自己的来改变这些coin的拥有者,因为Alice使用自己的私有key签署过转账给Bob的交易,来声明这些属于她自己的coin现在属于Bob,并且Alice的私有key对Eve来说是秘密。所以如果Charley承认这些最初的coin是在Alice手中,稍候她将同样接受这些coin被转移给Bob了,而现在Bob转移同样的coin给他。 

初級程式設計師 三級
3樓 發表于:2015-1-19 21:10

防止重复使用:

这是我们怎样保证Alice不能复制coin,并且不能把它用在多个交易上(这是Bitcoin最主要的创新)交易的详细信息被发送给所有的人,或者尽可能多发送到其他电脑上。一个包含所有交易记录并且持续增长的blocks链,被所有的电脑共同维护(每台电脑拥有一个完整的拷贝)。交易的blocks必须是合法的,并且必须包含劳动的证据(网络每10分钟产生一个block),才会被这个记录链接受。Blocks使用一种方式链接起来,如果任何一个被修改,所有后面的blocks必须被重新计算当这个链出现多个合法的分支时,只有那个最长的分支被接受并被延续下去。当Bob看到他的交易被包含在一个block上,而这个block在那个唯一的最长并且增长最快的block链(通过有意义的计算增长)上时,他就能确信Alice发起的交易已经被网络上的计算机接受,并且被永久记录下来防止Alice使用同样的coin再建立一个交易。理论上,Alice能够努力生成欺骗性的blocks,这些blocks上不存在她以前使用过的coin,她尝试把这些blocks发送给每个人,作为这个coin仍然属于她的证据。然而,以前Alice签署过的交易已经发布过,并且被发送给了在bitcoin网络中很大数量的计算机,包含它的一个block已经被某人生成(否则,这个coin的第一个接收者不会确认它)。因为生成一个合法的block被设计成需要很长的时间,Alice的速度竞争不过所有的其他电脑。Bob会从其他人收到更多的blocks,Alice单独永远生成不了这些blocks,并且一些更新的blocks将会包含Alice以前的交易,让Bob知道Alice已经把她的coin花费出去了。Alice能够移除她的交易的唯一方法是创造一个平行的block链,这些block链必须比所有其他人已经生成的链更长并且不包含她的交易,因为仅有最长的链被接受。为了保持最长,它同时不得不增长比其它的链更快,这样才能阻止block生成器把Alice的交易添加到链中。为了做到这些,Alice必须可以永久的控制网络上大部分的cpu资源;这种事我们认为没有单个的人或组织可以做到。因此,只要控制大部分cpu的人不跟Alice合作,她的交易将永久的被记录并且她将不能用同样的coin建立另一个交易。 

初級程式設計師 三級
4樓 發表于:2015-1-19 21:11

匿名性:

Bitcoin"帐号"不需要关联姓名并且不需要跟某个个体对应。每个余额简单的关联一个随机生成的公开/私有密钥对并且这些钱属于拥有这个私有key并且能够使用它来签署交易的人。这些使用这些keys签署的交易同样不需要包含姓名。一个Bitcoin地址就是一个公开key,看起来像这样:14iPPJcajb6bwejbimpHkS5z8HEbQSzNLd每个人可以拥有很多这样的地址,每个地址拥有自己的余额,这样使确定哪个人拥有这些钱更困难。为了保护他的隐私,Bob甚至能够为每个独立的交易生成一个新的公开/私有密钥对。这样David从Charley收到的coin将不能确定谁是在这个交易列表中第二个拥有的人(不询问Charley的情况下)。 

初級程式設計師 三級
5樓 發表于:2015-1-19 21:12

总结:

可以访问Bitcoin Block Explorer这个网站,实际的体验一下这个系统。 这个网站向你展示blocks链中最新的blocks。block链包含所有发生在这个系统中已经被接受的历史交易记录。 注意下在最后一个小时多少blocks被产生,应该大约6个。同时注意最后一个小时交易的数量和转移的总量(最后一次我检查是大约64和15K)。 这将让你了解这个系统的活跃度。下一步,详细了解这些blocks中的一个。 首先注意到这个block的hash值以一串0开头,这个表示制造它有多难。 生成这个block的计算机不得不运行在许多临时的值(同时在block的页面中列出来了)直到发现一个可以生成这串0 下一个需要注意的是标记为Previous block的这行,每个block在它前面会包含它的hash值,这是block链的组成结构。 现在看一下这个block包含的所有交易。第一个交易是生成这个block的计算机的收益。它包含一个固定数量的凭空产生的金额,以及可能包含这个block中的其它交易的交易费。详细了解这些交易的任何一个,你将发现它是由多个进来和出去的资金组成。 事实上,这里可能有不止一个进来和出去的资金,允许这个系统用任何可能的方式把资金连接或者拆分成需要的部分金额(常常是分)。 每个进来的资金来自于一个以前的某个地址的交易(你同样可以详细了解) 并且每一个出去的资金被转移给某人,并且组成未来交易的一部分(如果它已经发生了,你同样可以进去详细了解)。最后你可以详细了解任何一个地址并且知道哪些公开的信息可以看到。为了得到一个对Bitcoin系统活跃度的印象,你也许喜欢访问监控网站Bitcoin Watch和Bitcoin Monitor。开始是关于交易数量和大小的一般性统计数据,然后是实时的采用可视化的方式展示Bitcoin系统中发生的活动。 

初級程式設計師 三級
6樓 發表于:2015-1-19 21:13

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
(快捷鍵:Ctrl+Enter)
 

本帖信息

點擊數:870 回複數:5
評論數: ?
作者: Trisolaris
最後回復:Trisolaris
最後回復時間:2015-1-19 21:13
精品區:未分類
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。