.jpg)
一、P2P是什么意思啊
1、什么是p2p
P2P是一种技术,但更多的是一种思想,有着改变整个互联网基础的潜能的思想。
(1)p2p的概念
P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。
简单的说,P2P直接将人们联系起来,让人们通过互联网直接交互。P2P使得网络上的沟通变得容易、更直接共享和交互,真正地消除中间商。P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载。P2P另一个重要特点是改变互联网现在的以大网站为中心的状态、重返“非中心化”,并把权力交还给用户。 P2P看起来似乎很新,但是正如B2C、B2B是将现实世界中很平常的东西移植到互联网上一样,P2P并不是什么新东西。在现实生活中我们每天都按照P2P模式面对面地或者通过电话交流和沟通。
即使从网络看,P2P也不是新概念,P2P是互联网整体架构的基础。互联网最基本的协议TCP/IP并没有客户机和服务器的概念,所有的设备都是通讯的平等的一端。在十年之前,所有的互联网上的系统都同时具有服务器和客户机的功能。当然,后来发展的那些架构在TCP/IP之上的软件的确采用了客户机/服务器的结构:浏览器和Web服务器,邮件客户端和邮件服务器。但是,对于服务器来说,它们之间仍然是对等联网的。以email为例,互联网上并没有一个巨大的、唯一的邮件服务器来处理所有的email,而是对等联网的邮件服务器相互协作把email传送到相应的服务器上去。另外用户之间email则一直对等的联络渠道。当然但是过去的5年里,互联网的发展至少从表面上远离了P2P,互联网上绝大部分的节点也不能和其他节点直接地交流。Napster正是唤醒了深藏在互联网背后的对等联网。Napster的文件共享功能在局域网中共享目录也是再平常不过的事情。但是Napster的成功促使人们认识到把这种“对等联网”拓展到整个互联网范围的可能性。当然,在许多人的眼中,Napster并不是纯粹的P2P,它仍然需要一个处于中心协调机制。
事实上,网络上现有的许多服务可以归入P2P的行列。即时讯息系统譬如ICQ、AOL Instant Messenger、Yahoo Pager、微软的MSN Messenger以及国内的OICQ是最流行的P2P应用。它们允许用户互相沟通和交换信息、交换文件。用户之间的信息交流不是直接的,需要有位于中心的服务器来协调。但这些系统并没有诸如搜索这种对于大量信息共享非常重要的功能,这个特征的缺乏可能正是为什么即时讯息出现很久但是并没有能够产生如Napster这样的影响的原因之一。
另外一个可以归入P2P是拍卖网站譬如eBay,人们在总结eBay的模式的时候用了C2C,是不是和P2P有一点类似?eBay就是一个将人们联系的和交易物品的社区,用户可以方便的搜索其他用户叫卖的商品。eBay提供了一些使得交易得以顺利进行的服务,但是交易是直接在用户之间进行的。如果将“交易”的概念推广,C2C就是P2P的一个特例,这里人们互相交换的是商品。
但如果仔细深究的话,Napster和即时讯息在赋予用户之间直接交流的能力、eBay使用户可以直接交易的同时,却破坏了服务器端的那种自互联网出现之初就存在的对等联网思想,因为它们都需要有一个位于中心的服务器来协调,而不是分布在世界上不同地方的、对等联网的许多服务器。这也正是诸如Gnotella和Freenet不断的宣称它们创造了“纯粹”的P2P,完全没有中心服务器的P2P服务。
(2)p2p的思想溯源:回到互联网的本质
如果回顾一下,我们会发现在WWW出现伊始P2P就是互联网的本质特征之一。人们各自建立网页、互相做链接,人们上网是沿着链接冲浪。那时的web是真正的“网”(web)。但是当Yahoo!和Lycos建立了搜索引擎和门户站点后,人们上网的方式被改变了,人们从此到一个地方去获取所有的信息。记得新浪曾经有一段时间说它们是“目标站点”模式,但是如果多问一句,现在人们一条一条地阅读新浪的新闻,在头脑中还有一个“网”的概念吗?最大的问题是,这些站点控制了信息的流动、充斥了过时的信息、阻碍了真正的交流,或者对于很多人来说,另外还有太多的广告。 P2P就是把控制权重新还到用户手中去。人们通过P2P可以共享硬盘上的文件、目录甚至整个硬盘。这种能量是非常令人激动的,那些费心存储在自己的硬盘上的东西肯定是我们认为最有价值,所有人都共享了他们认为最有价值的东西,这将使互联网上信息的价值得到极大的提升。是不是有一种和WWW刚刚出现的时候同样的激动呢?有一点。
因为每个Peer都代表了其后的人,基于自组织的网上社区也正在显现。与门户站点从上而下建立社区的方式不同,人们将以自发的方式形成社区。
当人们加入P2P网络的时候,所有人都拥有了平等的机会,所有人都拥有了极容易地在网络上创造“内容”的机会。当然,真正在网络上创造或提供内容的人还是少数的,据统计Gnotella的用户中仅仅有2%向其他用户提供了内容,即使在比较活跃的Usenet张贴文章的用户也仅占所有用户的7%。但是,P2P第一次使得所有上网的人都拥有了平等的机会。
下面试图用三句话来揭示P2P的影响:
对等联网:是只读的网络的终结(Peer-to-peer is the end of the read-only Web)
对等联网:使你重新参与互联网(Peer-to-peer allows you to participate in the Internet again)
对等联网:使网络远离电视(Peer-to-peer steering the Internet away from TV)如上文所言,P2P不是一个新思想,从某些角度看它甚至是整个最初创建互联网的最基本的思想。我们不妨花时间作一点回顾。
互联网的发展于近现代的许多尖端科学技术的发展模式并无不同,即都是先在军事工业形成,再转到民用领域。互联网发源于至今看来也十分新颖的战略思想:为了避免敌人的毁灭性武器命中全国的军事指挥控制中心,应该怎么办?传统的方法是一方面想方设法尽可能地不让敌人知道中心的确切位置,另一方面提高中心的抵御打击的能力。但在当今的核武器年代,对方有着连一个星球都可以炸毁的核弹,再固若金汤的防御措施一旦受到攻击肯定马上化为乌有。而只要有机密存在,总有打探出机密的方法,所以靠保密中心所在位置的方法也不是长远之计。在这种情况下,美国的军事人员充分发挥逆向思维,想到既然不可能长期、有效地保护中心免受攻击,那么还不如根本不设中心!让每一个基地乃至每一台电脑都能独立运作,这么一来等于有了无数中心,敌人除非真的将这个星球炸了,否则其中一个基地或电脑受损,也不影响其他基地或电脑继续发挥作用。正是这种“非中心化”的思想成为形成互联网最基本的概念。但是许多技术出现之后往往并不会完全按照原先的设计发展,服务器/客户机的架构逐渐变成了互联网的主流,浏览变成了人们在互联网上最主要的生存方式。互联网的普通用户似乎在慢慢的退化、和电视观众一样被动地浏览着大网站们创造的内容。人们在网络上的主要活动访问了在这么门户站点上,读新闻、参与讨论组、聊天。但是这使得设计的互联网的一个特性消失了——如果Yahoo因故中断服务如出现什么情况?这种假设不太容易看到,但是年初的黑客攻击各大网站造成的混乱似乎可以给我们一点联想的线索。
上面提到像Napster和即时讯息还是需要位于中心的服务器,那么Gnotella网站上的一句话可能表达了它们所推广的“纯粹”的P2P所包含的“非中心化”的理念:设计Gnotella是为了在核战中生存(Gnotella Is Designed to Survive Nuclear War)。它的网站上这样描述,纽约的用户受到攻击至多只会影响那个地区的部分用户,而其他地方的Gnotella用户还能正常的使用,这不正是互联网最初的理想吗?
(3)Napster带来的革命
Napster是去年当时由只有18岁的肖恩·范宁(Shawn Fanning)开发的,它提供服务允许音乐迷们交流MP3文件。它与先前也被推上被告席的提供免费音乐下载MP3.com的不同就是在Napster服务器没有一首歌曲,Napster提供了一个新的软件供音乐迷在自己的硬盘上共享歌曲文件,搜索其他用户共享的歌曲文件,并到其他也使用Napster服务的用户硬盘上去下载歌曲。Napster在短时间里吸引了5000万用户,最终,它被五大唱片商以侵犯版权推上被告席而成为世界的焦点。
可能从来没有一个行业象唱片业这样,生存会因为一个小小的软件而受到如此深重的威胁。对于Napster引起的版权问题有过很多的讨论,但是多花一些时间讨论还是值得的,因为这个案件决定了也决定了P2P文件共享这一分支的前途,也决定了未来如何处理互联网上的版权问题。
10月31日原告之一BMG公司和Napster达成和解协议。舆论认为这表明唱片业意识到通过数字方式发布音乐将是不可阻挡的潮流,消灭Napster也无法阻止其他模仿Napster的服务商出现。因此还不如与之合作改变Napster,将之变成在线音乐销售的渠道。现在的唱片工业面临的可能不是如何“像压碎一个鸡蛋”那样压碎,而是与之合作,将Napster的5000万用户变成自己的客户。也就是将Napster的模式变成“合法化的Napster”模式。唱片工业的困境是如何防止那些Napster的模仿者继续免费提供歌曲。
2000年2月12日,美国旧金山第九巡回上诉法院的三名法官就音乐网站Napster版权纠纷案作出裁决,认为它侵害了各大唱片公司的版权。但是三名法官并没有应唱片公司的要求,决定立即关闭网站,而是把最初的判决送回给低一级的地方法院。法官们说,这项裁决内容过于复杂,需作进一步澄清。但错综复杂的法律过程和长达58页的判决书反映了现在既缺乏与互联网相关的版权法,也缺乏相应的司法实践。
但是,不管Napster案的结果如何都不能改变Napster后面的技术和思想给互联网带来的影响。“魔鬼”已经钻出了魔瓶,而魔瓶也已经被打破了。对于唱片界来说,至少它们销售唱片的方式被彻底改变了。下一个可能是好莱坞的电影工业,压缩技术和宽带网络将使得人们会在网络上轻易地传输整部电影。
事实上合法化的网络上已经出现了许多试图推出“合法化的Napster”模式的公司,譬如由Napster的创办人之一创办的lightshare.com和Flycode.com。P2P对于唱片商来说的确有吸引力,如果它们能够从用户身上收费的话。对于利用诸如一个集中的站点提供收费的mp3音乐下载,用户每次从网站下载的时候,网站都必须向电信交流量费,而使用P2P则使得这部分费用不再存在了。因此唱片商获得更多的利润,用户也应该可以得到更便宜的音乐。
从某种意义上软件也好像预测到了大规模盗版和文件共享可能带来的影响,这主要归功于开放源码软件给软件业带来的“头脑风暴”。在亚洲和东欧,软件业已经在反对盗版上打了败仗。这也正是微软极力推广一种“软件注册模式”,把软件作为按月付费的服务出售,而不再是向过去那样出售容易复制和盗版的硬拷贝。
当然,对所谓“合法化的Napster”模式还是有很多质疑。P2P的这种文件共享功能似乎没有带来什么附加值,尽管这个过程可能是非常有趣的。从另一方面来说,这项技术可能被用来推动人们重新参与互联网、创造他们自己的内容,这也许是价值所在。所有的社区网站都有一个“梦想”,让用户互动来产生内容,但是由于由上而下创建的社区的最根本上的问题,这种梦想从来没有真正实现过。P2P或许可以改变这一点。
Napster创造的奇迹同时也是揭示了在互联网时代普通人也具有改变整个世界的能力。当肖恩·范宁在波士顿的东北大学校园开发Napster的时候,他只不过是想和他在维吉尼亚的朋友共享mp3歌曲文件。现在这个小软件改变了整个世界。
(4)p2p改变了什么?内容转移到“边缘”
在回顾了Napster了问题和困境之后,下面将看看P2P的更多激动人心的东西和消除围绕这个新词的种种误解,以及看看P2P的机会主要在哪儿。
P2P带来的一个变化就是改变了“内容”所在的位置,内容正在从“中心”走向“边缘”,也就是说内容将主要不是存在几个主要的服务器上,而是存在所有用户的个人电脑上。
Napster的成功使我们不得不去质疑流传已久的两个断言,“应用服务提供商(ASP)是未来趋势”和“个人电脑死了”。ASP的一个基本假设就是对于大多数客户来说购买和维护高性能的服务器的成本太高了,但是P2P使得每个人办公桌上的电脑都可以成为“服务器”。用户原来是用台式电脑准备好数据之后再把数据上载到服务器上去,而使用P2P将不再需要这个过程。“个人电脑死了”这个断言就是个人电脑将主要用来浏览互联网、字处理等,因此最简单的瘦客户机就可以满足需求。P2P使得个人电脑再一次成为“中心”。P2P使得个人电脑重新焕发活力、不再是被动的客户端,而成为具有服务器和客户端的特征的设备,个人电脑将重新成为互联网的中心。
互联网的存储模式将由现在的“内容位于中心”模式转变为“内容位于边缘”模式。从这个角度看P2P带来了几个改变:
首先,客户不再需要将文件上载到服务器,而只需要使用P2P将共享信息提供出去;
其次运行P2P的个人电脑不需要固定IP地址和永久的互联网连接,这使得那些拨号上网的用户也可以享受P2P带来的变革,这部分用户在所有用户中占有极大的比重;
最后,P2P完全改变过去控制互联网的客户机/服务器模式,消除客户机和服务器二者之间的差别。
上文对Napster所遭遇的法律问题有很多讨论,但是换个角度来阐述,盗版问题往往也正显示存在大量未能满足的需求。Napster的惊人成功(这里指吸引大量用户而不是获得利润)是一种难得的对P2P的概念上可行性的证明,揭示了P2P改变互联网的潜力。直通桌面的宽带网络逐渐成为现实、个人电脑越来越强大足以胜任“服务器”功能也从另外的方面确保P2P发挥其能量。
个人电脑取代位于中心的服务器成为内容的主要存储地将对互联网的几个主要发展方向有着意义深远的影响:这可能改变Windows和Linux几年的“战争”的局面,当“桌面”和服务器逐渐融合,微软可能会极力推广其基于Windows2000的Web服务和“内容处于边缘”(内容处于桌面)模式,从而可能破坏Linux在服务器市场上存在的基础。
提供免费个人主页服务的公司存在的一个理由就是目前互联网使得普通用户很难拥有自己的服务器放置自己的内容。可以预言类似Napster的服务将会出现供人们在自己的个人电脑上发布主页和内容。
WAP等移动服务协议目前还主要关注让人们去使用处于中心的商业服务如新闻、股票信息等。但更多的时候人们最需要的信息是那些在他们的个人电脑上的信息,P2P使这成为可能。人们可以通过无线联网P2P访问他们的个人电脑,这也就是一些公司所宣传的个人化P2P(Personal P2P)的“无线版本”。
当然,这也不是说使用P2P的个人电脑可以取代服务器,那些安全的备份和需要专家来不断更新的数据还将存在于位于中心的服务器上。可以这样看待P2P带来的转变,“内容位于中心”模式较好的适应了互联网初期的情况,个人电脑性能太差因而需要有专门的服务器、带宽太窄使得个人电脑不得不退化到被动浏览。宽带互联网、更稳定的更高性能的个人电脑使得我们有理由预言下一个5年将是由“内容位于边缘”模式主导。
(5)重新解读P2P
每个具有划时代意义的创新出现的时候它往往可能被人们误读。P2P这次也不例外,Napster让人们开始关注P2P,但也使得许多人认为P2P就是歌曲交换、文件交换,甚至认为P2P和盗版有着必然的联系。可以说人们对P2P的理解是被误导的和不完全的。
自由软件(Free software)出现之初也面临着误读的困境,人们开始的时候将Free理解为免费的,从而认为自由软件是不可靠的、认为自由软件运动是激进的“反文化的”。事实上Free更多的应该指自由地探索想法、在软件中表达出来和共享软件。这一点对自由软件的鼓吹者们来说是自然而然的,但是需要有人去告诉商界、媒体和公众自由软件在经济上和逻辑上是可行的。当时著名出版人O’reilly组织了一次自由软件峰会重新定义自由软件,将自由软件改名为开放源码软件(open source software)。这一重新定义使得人们开始拨开误解的乌云,了解Free的本质。开放源码将人们从有缺陷的软件、锁定效应和传统的软件分发渠道中解脱出来。自由表示合作将可以跨越公司的边界、共享基础性的开发,使人们可以把注意力集中到高附加值的服务上去。今年8月,O’Reilly又组织另一次峰会来帮助人们认识P2P的潜力和消除Napster、Gnotella造成的P2P是盗版技术的负面影响。另外,他认为目前P2P的状态类似于“盲人摸象”,P2P技术的领导者们每个人都看到了P2P这头“巨象”的一些特征。,如果他们能够有机会交流思想,P2P将会更快地发展。这次P2P峰会主要有三个目的:定义P2P,我们要从中的到什么以及为什么;描述P2P的机会,P2P能解决什么样的问题;形成一个提供给大众的关于P2P的信息,消除那些负面影响。
参与P2P峰会的有媒体不断报道的那些提供文件交换服务如Napster、Gnotella、Freenet的开发者,也有那些试图挖掘P2P分布计算能力的公司和组织如Popular Power、SETI@home、distributed.net等的开发者。后面的三家公司希望使用P2P技术集中那些联接在网络上的电脑的空闲的CPU时间片断、内存空间、硬盘空间来替代“超级计算机”。其它正在进行的P2P应用还有,IBM、微软、Ariba也在合作开展一个名为UDDI的项目以将B2B电子商务标准化;Eazel正在建立下一代的Linux桌面;Jabber已经开发了一种基于XML、开放的即时讯息标准,Jabber被认为是建立了未来使用P2P数据交换的标准;由Lotus Notes的开发者创建的Groove试图“帮助人们以全新的方式沟通”;英特尔也在推广它的P2P技术以帮助更有效地使用芯片的计算能力。
列这样一个名单有一点枯燥,尤其是对于那些对于具体细节没有太多兴趣的读者,但这又是必要的。因为这些描述可以让我们更全面的了解。
(6)尚未被了解的P2P
Napster是与设备相关的,用户连接到到由它创建的P2P网络上是为了获取Mp3歌曲文件。但是对于即时讯息这一类P2P应用来说是完全不同的,别人连接的目的是和另一个Peer交流,而不必管他使用的是电脑、手持电脑或者手机。P2P提供了在网络上与设备无关的实时交流的能力。
这种将把用户实时的连接起来的能力是P2P最令人感到激动的特性。事实上我们可以从AOL的AIM、国内Oicq受欢迎的程度认识到这个事实。
能够实时地寻找和联络需要的人是商业应用的基本要求,电话可以做到这一点,而在网络上最常用的E-mail并不能做到这一点。因此,即时讯息将不仅仅是一个有趣的服务,更多的它将是下一个最基本的互联网商业工具。即时讯息现在看起来可能成为诸如客户服务、供应链管理等商业应用的平台。开发了一个开放源码的基于XML和Java即时讯息服务的Jabber似乎正是创建了一个这样的平台。Jabber的开发者似乎刻意集中了互联网现有的所有激动人心的东西:P2P、Java、XML和开放源码。它是不是有这种潜力呢?我们最好拭目以待,但Jabber的模式至少要比Napster要清晰得多。
Negroponte在其《数字化生存》中曾经有一个著名的论述,“网络上的东西将比人要多”。P2P将使得这些“东西”之间的直接交流成为可能,网络上每个设备都是“活跃”的,而不是像过去那样有部分是非常活跃,而有的则被动的,有时候直接交流的那些设备可能都是某一个用户自己的,譬如说掌上电脑和台式电脑的数据同步是最好的例子。如果用户的掌上电脑上有些数据和内容是台式电脑上没有的,台式电脑也应该能够向掌上电脑要求获取那些信息,这应该跟我们通过Napster到其他用户那儿去搜索和下载mp3歌曲一样。
最重要的一点是,不是网络上的节点数目而是这些节点如何参与网络决定网络是否强大、是否有价值。怎样使得网络上几亿的人和更多的设备都活跃地参与呢?P2P正是一系列架构、技术、策略的开端,它使得互联网的这一理想开始变为现实。现在人们看到的和预言的都只是冰山露出的一个小角,更多的还在水下。
(7)P2P中的P是人(People)!
Dave Winner的论断P2P中的P是人(people)!这可能是我读到的关于P2P最深刻的解读之一。
事实上,我们所处的真实生活是P2P的环境,人们可以和其他人直接地的交流。信息技术将我们带到了网络空间,在网络空间我们仍然希望还能够按照原来的P2P方式交流沟通。尽管互联网本质上是支持对等交流模式,但是网络的发展给对等交流增加了许多障碍。
正如许多技术专家所指出的,动态IP地址、防火墙、代理服务器从技术上使得对等连接变得很困难。更不用说目前的网络主导模式已经发展成为服务器/客户端模式,人们在网络上只能被动的接受那些大公司诸如Yahoo!、ABCnews.com等提供的信息,交流是非常困难的。(当然,在现实生活中诸如空间、社会等级等也束缚了人们的对等交流。但是如果网络能够使我们看到对等交流的可能性,为什么不去追求?)
可以这样类比,互联网的出现和电话的发明是具有同样的意义的,但是互联网最开始的主要特征是非实时的,更类似于传真,而没有提供像电话那样实时交流,现在P2P的即时讯息可能使得互联网上的实时交流变得和Web页面、E-mail那样普遍和不可或缺。
对于所有的P2P应用来说,最先要做的就是恢复互联网曾经失去的对等联网能力。这也正是Napster从概念上最大的缺陷。(email是具有P2P交流的特征的,但email缺乏实时交流的能力,它类似与传真,但我们还需要“电话”的。)
从“人”的角度上将,P2P发展的要点并不是P2P网络架构是如何,而是P2P将人们在网络上连接起来了,人们可以在网络这个更迅疾的媒介上处理那些需要沟通的问题。这是最重要的。尽管到今天还有人在怀疑互联网作为零售商业和B2B媒介的有效性,但是互联网已经从根本上改变了我们的交流方式是不需要任何讨论的。过分的谈了“纯粹的”的、完全消除控制的P2P是毫无意义的。中心化或者非中心化都只是工具,都是为了创造出使人们可以更有效地沟通的工具。
人类在现实生活中的经验至今仍只有极少的部分被应用到网络上,如新闻、B2C、B2B。现在,人们最常使用的P2P被移植到了网络空间。P2P可能改变一些我们已经熟知的、习惯了的产品和服务,也会创造更多。
究竟会出现些什么?预言未来的最好办法是去创造。
2、p2p能做什么
P2P引导网络计算模式从集中式向分布式偏移,也就是说网络应用的核心从中央服务器向网络边缘的终端设备扩散:服务器到服务器、服务器到PC机、PC机到PC机,PC机到WAP手机……所有网络节点上的设备都可以建立P2P对话。这使人们在Internet上的共享行为被提到了一个更高的层次,使人们以更主动深刻的方式参与到网络中去,正如I2(第二代互联网)之父Doug. Van Houweling在几个月前的中国之行时说到的:“下一代互联网民们将真正参与到网络中来,每个人都能为网络的资源和功能扩展作出自己的贡献。”
P2P给互联网的分布、共享精神带来了无限的遐想,有观点认为至少有100种应用能被开发出来,但从目前的应用来看,P2P的威力还主要体现在大范围的共享、搜索的优势上。在这方面主要引发了,或者是说更好的解决网络上四大类型的应用:对等计算、协同工作、搜索引擎、文件交换。
(1)对等计算
通过众多计算机来完成超级计算机的功能,一直是科学家梦寐以求的事情。采用P2P技术的对等计算,正是把网络中的众多计算机暂时不用的计算能力连结起来,使用积累的能力执行超级计算机的任务。任何需要大量数据处理的行业都可从对等计算中获利,如天气预报、动画制作、基因组的研究等,有了对等计算之后,就不再需要昂贵的超级计算机了。在硅谷现在有许多公司正在投入对等计算的开发,如Popular Power,Centrata,United Devices,Entropia等,并获得了巨大的风险资金。Intel也利用对等计算技术来设计其CPU,并为其节省极大的费用,同时对等计算的发展是以PC机资源的有效利用为根本出发点的,自然也极力受到Intel的极力推崇。从本质而言,对等计算就是网络上CPU资源的共享。
(2)协同工作
公司机构的日益分散,给员工和客户提供轻松、方便的消息和协作的工具,变得日益重要。网络的出现,使协同工作成为可能。但传统的WEB方式实现,给服务器带来了极大的负担,造成了昂贵的成本支出。P2P技术的出现,使得互联网上任意两台PC都可建立实时的联系,建立了这样一个安全、共享的虚拟空间,人们可以进行各种各样的活动,这些活动可以是同时进行,也可以交互进行。P2P技术可以帮助企业和关键客户,以及合作伙伴之间建立起一种安全的网上工作联系方式,因此基于P2P技术的协同工作也受到了极大的重视,Lotous公司的创始人奥奇更是获得了6000万美元的风险投资,来开发其协同工作产品Groove。
(3)搜索引擎
P2P技术的另一个优势是开发出强大的搜索工具。P2P技术使用户能够深度搜索文档,而且这种搜索无需通过Web服务器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录式搜索引擎(只能搜索到20%-30%的网络资源)无可比拟的深度(理论上将包括网络上的所有开放的信息资源)。以P2P技术发展的另一先锋Gnutella进行的搜索为例:一台PC上的Gnutella软件可将用户的搜索请求同时发给网络上另外10台PC,如果搜索请求未得到满足,这10
二、什么是utxo区块链
区块链的核心技术是什么?
简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库;从数据结构上看,它是基于时间序列的链式数据块结构;从节点拓扑上看,它所有的节点互为冗余备份;从操作上看,它提供了基于密码学的公私钥管理体系来管理账户。
或许以上概念过于抽象,我来举个例子,你就好理解了。
你可以想象有100台计算机分布在世界各地,这100台机器之间的网络是广域网,并且,这100台机器的拥有者互相不信任。
那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得:
节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;
每个节点的数据会同步到最新数据,并且会验证最新数据的有效性;
基于少数服从多数的原则,整体节点维护的数据可以客观反映交换历史。
区块链就是为了解决上述问题而产生的技术方案。
二、区块链的核心技术组成
无论是公链还是联盟链,至少需要四个模块组成:P2P网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。
1、P2P网络协议
P2P网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。
通常我们所用的都是比特币P2P网络协议模块,它遵循一定的交互原则。比如:初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求Peer节点的地址数据以及区块数据。
这套P2P交互协议也具有自己的指令集合,指令体现在在消息头(MessageHeader)的命令(command)域中,这些命令为上层提供了节点发现、节点获取、区块头获取、区块获取等功能,这些功能都是非常底层、非常基础的功能。如果你想要深入了解,可以参考比特币开发者指南中的PeerDiscovery的章节。
2、分布式一致性算法
在经典分布式计算领域,我们有Raft和Paxos算法家族代表的非拜占庭容错算法,以及具有拜占庭容错特性的PBFT共识算法。
如果从技术演化的角度来看,我们可以得出一个图,其中,区块链技术把原来的分布式算法进行了经济学上的拓展。
在图中我们可以看到,计算机应用在最开始多为单点应用,高可用方便采用的是冷灾备,后来发展到异地多活,这些异地多活可能采用的是负载均衡和路由技术,随着分布式系统技术的发展,我们过渡到了Paxos和Raft为主的分布式系统。
而在区块链领域,多采用PoW工作量证明算法、PoS权益证明算法,以及DPoS代理权益证明算法,以上三种是业界主流的共识算法,这些算法与经典分布式一致性算法不同的是,它们融入了经济学博弈的概念,下面我分别简单介绍这三种共识算法。
PoW:通常是指在给定的约束下,求解一个特定难度的数学问题,谁解的速度快,谁就能获得记账权(出块)权利。这个求解过程往往会转换成计算问题,所以在比拼速度的情况下,也就变成了谁的计算方法更优,以及谁的设备性能更好。
PoS:这是一种股权证明机制,它的基本概念是你产生区块的难度应该与你在网络里所占的股权(所有权占比)成比例,它实现的核心思路是:使用你所锁定代币的币龄(CoinAge)以及一个小的工作量证明,去计算一个目标值,当满足目标值时,你将可能获取记账权。
DPoS:简单来理解就是将PoS共识算法中的记账者转换为指定节点数组成的小圈子,而不是所有人都可以参与记账。这个圈子可能是21个节点,也有可能是101个节点,这一点取决于设计,只有这个圈子中的节点才能获得记账权。这将会极大地提高系统的吞吐量,因为更少的节点也就意味着网络和节点的可控。
3、加密签名算法
在区块链领域,应用得最多的是哈希算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。
其中,难题友好性正是众多PoW币种赖以存在的基础,在比特币中,SHA256算法被用作工作量证明的计算方法,也就是我们所说的挖矿算法。
而在莱特币身上,我们也会看到Scrypt算法,该算法与SHA256不同的是,需要大内存支持。而在其他一些币种身上,我们也能看到基于SHA3算法的挖矿算法。以太坊使用了Dagger-Hashimoto算法的改良版本,并命名为Ethash,这是一个IO难解性的算法。
当然,除了挖矿算法,我们还会使用到RIPEMD160算法,主要用于生成地址,众多的比特币衍生代码中,绝大部分都采用了比特币的地址设计。
除了地址,我们还会使用到最核心的,也是区块链Token系统的基石:公私钥密码算法。
在比特币大类的代码中,基本上使用的都是ECDSA。ECDSA是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC(椭圆曲线函数)。
从技术上看,我们先从生成私钥开始,其次从私钥生成公钥,最后从公钥生成地址,以上每一步都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。
4、账户与交易模型
从一开始的定义我们知道,仅从技术角度可以认为区块链是一种分布式数据库,那么,多数区块链到底使用了什么类型的数据库呢?
我在设计元界区块链时,参考了多种数据库,有NoSQL的BerkelyDB、LevelDB,也有一些币种采用基于SQL的SQLite。这些作为底层的存储设施,多以轻量级嵌入式数据库为主,由于并不涉及区块链的账本特性,这些存储技术与其他场合下的使用并没有什么不同。
区块链的账本特性,通常分为UTXO结构以及基于Accout-Balance结构的账本结构,我们也称为账本模型。UTXO是“unspenttransactioninput/output”的缩写,翻译过来就是指“未花费的交易输入输出”。
这个区块链中Token转移的一种记账模式,每次转移均以输入输出的形式出现;而在Balance结构中,是没有这个模式的。
数字货币里的UTXO什么意思?UTXO的中文意思叫作:未花费的交易输出。
UTXO是数字货币中的账户模型,这个模型和我们现在银行的账户模型是不一样的。
拿转账来说,现在的情况是:
我要给依依转2000块钱,我要从我的招商银行卡里面给她转账,我的卡里面有5000块钱,转给她2000块钱以后,我的招商银行账户就被扣除了2000块钱,还剩下3000块钱。
那么如果是基于比特币的UTXO,情况是这样的:
我有5000比特币,我给依依转2000比特币,2000比特币消耗掉了对不对?注意!这2000不是从我这5000总数里面扣除的,而是:我的比特币总额会分成两份(一份
2000,一份3000),这就是所谓“生成两个新的UTXO”:依依收下2000比特币,我自己收下3000比特币,3000算是给我的找零。
转账成功以后,我给依依的2000比特币目前已经使用过了,被消耗掉了,就不能再叫UTXO了,而找零给我的3000比特币目前我还没有使用,所以它还能称作UTXO,也就是未花费的交易输出。那么,如果我总共有5000比特币,我全部转给依依,那么就只需要生成一个新的
UTXO给依依就可以了,不需要找零了。
基于UTXO,每笔交易出现,都要确认比特币之前的情况,检验比特币是不是存在于我的UTXO中,如果不存在,那么系统就会拒绝你的交易行为。
这样一来,每笔交易的输入和输出都是有关系的,可以通过UTXO不断向前追溯,一直追溯到比特币诞生的时候,也就是挖矿的源头。
如果我想用同一笔UTXO发送给两个人,那么系统只确认先接受到的那一笔,一旦确认UTXO已经被消耗了,那么你就不可以再把它转给下一个人,这样就避免了双重支付的问题。
既然系统只确认先接受到的那一笔,那么问题来了,系统怎么知道谁先谁后呢?系统当然知道,因为系统有一个叫“时间戳”的东西。
什么是区块链?不是比特币进化慢,而是我们进化慢
自从区块链(blockchain)这个词被从比特币中抽象出来之后,整个业内就弥漫着一种奇特的意识形态叙事(ideologicalnarrative)。这个叙事是这样的:比特币是一架又慢又旧的破马车,十几年了没有什么改进,什么炫酷的功能都没有。当然,从人类“无利不起早”的天然本性而言,给你讲这么一通破烂话的人,绝对不是吃饱了撑的无事生非,而通常都会在看到你对手里的大饼(BTC)起了半信半疑之心之后,趁机向你推销他正在兜售的拉风跑车项目。
北京时间11月14号下午13点15分27秒,随着区块高度709632的区块被挖出,比特币自2017年隔离见证升级之后最重要的升级之一,Taproot升级,宣告成功激活(今年6月份就已经获得超90%矿工投票lock-in了,本次激活属于明牌)。
该区块中包含了chainside联合创始人FedericoTenga的一笔V1_P2TR交易。在该笔交易中,Federico在OP_RETURNDATA中附加了一句话:gmtaproot。据信,这是历史上第一笔Taproot交易。为了抢到这个名次,Federico支付了2510sat/vB的矿工费(手续费),这大概是正常矿工费(不到10sat/vB)的5百多倍。[1]
Taproot升级为我们带来了区块扩容、更好的隐私性以及增强的扩展性等诸多好处。这些好处主要是由于两项技术的引入而带来的。其一就是Schnorr签名,而另一个就是MAST(默克尔化的抽象语法树)。
Schnorr签名能够压缩数字签名的尺寸。单签名比ECDSA节省约12%的尺寸,也就可以节省转账手续费。以及,它能够把多签名压缩成一个签名,这可以极大压缩多签地址的尺寸,并保护多签参与者的隐私。据说早在2012年MikeHearn就在bitcointalk论坛提出过类似想法。通过压缩签名尺寸,相当于扩大了区块容量,容纳更多交易量。
MAST则可以大大改善P2SH交易的交易尺寸、隐私性和灵活性。最早的BIP-114提案是由JohnsonLau于2016年提出的。早前的P2SH交易可以允许支付时不揭示script(比特币脚本代码)。但是,当花费UTXO(未花费的交易输出)时,便需要提供script且记录到链上,从而占据区块链的容量。如果script比较复杂,则会占据较多的空间。MAST的引入使得我们可以把包含很多条件的复杂脚本组织成默克尔树。在花费UTXO时,也只需要揭示默克尔证明和涉及的script,而不需要揭示整颗树。这就节省了区块容量,改善了脚本的隐私性。同时,由于打开了script尺寸的限制,这就为比特币的可编程性引入了更大的扩展性和灵活性。
应该说,上面几段话对一些只在中心化交易所炒炒币,甚至连私钥都不懂的朋友来说无异于天书。别说Taproot了,便是4年前的segwit(隔离见证),对很多所谓圈内的人来说都不知何物。这没有什么可耻的。我头一次看这些新技术、新名词也是脑袋爆炸。多学习,多研究,多琢磨琢磨,也就搞明白了。
相比于科技的进步,我们掌握知识的能力进化的实在是太慢了。时至今日,很多人还搞不清楚比特币究竟是存储在自己手机上的钱包里,还是在比特币网络上。自己手机或者电脑上的钱包软件又是起什么作用的。私钥是什么,助记词是什么,所谓的HD钱包又是什么。1开头的地址,3开头的地址,5开头的地址,bc1开头的地址都有啥分别。怎么把大饼从交易所提出来,放到所谓链上。怎么自己掌控自己的比特币。怎么签名转账比特币。怎么使用隔离见证地址。以及现在,如何构建Taproot交易呢?
有人于是说,那就不要让用户自己掌握私钥,远离这些技术细节好了。回到托管式的环境,回到互联网中心化的用户体验。这样一种用户体验的改善,就像中心化交易所一样,是以牺牲用户自主掌握资产为代价的。这直接抛弃了去中心化以来全部的价值观。这又是一种进化,还是一种退化呢?
如果只是为了发明一个噱头,让投机者去炒、去赌,那就尽可以不考虑这些。那就不仅不应该限制OP_RETURN的尺寸,甚至应该扩充script使之支持图灵完备的编程。这样就可以在比特币上发行各种空气币、土狗币,再搞出来各种为炒而生的应用出来,所谓繁荣的生态。但是比特币一路走来,似乎是走了相反的道路。不仅从一开始就极大限制了script的功能,而且主动缩短了OP_RETURN的数据尺寸,限制了在比特币链上玩各种花活儿的可能性。
比特币是审慎的。它清楚自己有更大的使命。Taproot的激活,可能会有利于二层的发展。但是,并不会给一层带来自限性的问题。相反的,它会因为压缩了数据尺寸,而扩大了一层的容量。
比特币是富有耐心的。它肩负着普及去中心化数字货币(而不是在中心化平台上进行投机)的历史任务。所以它必须耐心地等待,等待每一个人跟上技术发展的脚步。
UXTO与余额区块链入门从使用钱包开始,我们最关注的是钱包的账户余额。可看过很多区块链资料以后,一直存在一个疑问,钱包的余额信息存在区块链的什么位置?一直没有找到,只有一个相近的概念叫UTXO(UnspentTransactionOutput),但看完以后还是对应不上。直到翻遍网上所有关于UXTO的资料,才知道在中本聪设计的比特币系统中,并没有余额这个概念,“比特币余额”是由比特币等钱包应用派生出来的产物。钱包的余额是通过与账户相关的多个UXTO算出来的。下面且听我详细道来。
了解过一点点会计学,我们现在的会计系统绝大部分采用的是一种叫做“借贷记账法”的方法,账目分成借方和贷方,每发生一笔业务都要登记两个以上的科目。
简单来说,Alice转账给Bob1美元,使用借贷记账法至少要产生两条账目,Alice账户减少1美元,Bob账户增加1美元。这种记账法在企业经营、企业审计中有无数的好处。但是这种记账法也有一个最大的缺点,就是容易产生记账错误和记账误差。一笔交易需要登记两条以上的账目,本质上记录的是“交易的结果”,而不是“交易本身”。
中本聪发明了UTXO(UnspentTransactionOutput)交易模型,并将其应用到比特币当中。UTXO是“未花费的交易输出”,简单来说就是,每一笔比特币交易实际上都是由若干个交易输入和输出组成的。交易输入是资金来源,交易输出是资金去向,每一笔交易都要从交易输入中花费出去一部分,这一部分就是未花费的交易输出(UTXO)。每一次的交易输入都可以追溯到之前的UTXO,直至最初的挖矿所得。
由挖矿所得创建的比特币交易,是每个区块中的首个交易,又称之为coinbase交易,它由矿工创建,没有上一笔交易输出。
在比特币交易中UTXO就是基本单位,一个UTXO一旦被创建就不可被继续分割,它只能当作是下一笔交易的输入被花费掉,花费后产生新的UTXO,这样周而复始地实现货币的价值转移。所以我们在比特币钱包中所看到的账户余额,实际上是钱包通过扫描区块链并聚合所有属于该用户的UTXO计算得来的。
因此,当我们在说某人拥有1枚比特币的时候,我们实际上说的是,在当前的区块链记录中,有若干笔交易的UTXO收款地址写的是这个人的钱包地址,这些UTXO的总和是1个比特币。
比特币的UXTO系统遵守两个规则:
我们以以太账户为例,打开etherscan.io,选择BLOCKCHAIN-AllAccounts,这样可以看到所有地址与余额,可以选择其中一个查看详细信息。如果看不懂,没关系,把自己的以太地址输入到右上角的搜索框回车后,会显示地址的余额和详细交易记录,如下图。
至此,我能理解李笑来老师说为什么他的账户没有余额,只有UXTO了,O(∩_∩)O哈哈~,内行人不要说外行话嘛。
三、CG行业是什么意思
一,概述
CG(computer-generated,数码工艺品),原义是Computer Graphics,现已经习惯将利用计算机技术进行视觉设计和生产的领域通称为CG。它既包括技术也包括艺术,几乎囊括了当今电脑时代中所有的视觉艺术创作活动,如平面印刷品的设计、网页设计、三维动画、影视特效、多媒体技术、以计算机辅助设计为主的建筑设计及工业造型设计等,它们已经形成一个可观的经济产业。由于CG在目前在日本比较成熟,所以重点介绍日本CG。
二,分类
CG在日本网页上经常用来表示数位工艺品,数位效果,矢量图形或仅是存于电脑的手绘图等工艺。有关热门主题包括:日式动画[[anime]](日语animēshon的缩写,起源于英语animation),日式漫画[[manga]],和视频游戏角色,及同此画风的原始角色。(在日本国内用anime和manga来表示各种动画和连环漫画,而其它国家则用它来表示日产动画和日产连环漫画)
1,漫画([[manga]],Comic)
在导入CG前,漫画在日本已经是一个成熟的文化产业,是深受男女老少喜爱的大众文化。有幼儿漫画、少男漫画、少女漫画、青年漫画、女性漫画、成人漫画等等,有覆盖各个年龄层次的内容与风格。随着读者的年龄增大,老年漫画也开始出现。虽然漫画家们主要还是采用手绘,然后用扫描仪进行数码化,便贴纸等很多技法采用了photoshop之类的软件。年轻一代越来越习惯于用数码输入板和illustrator painer一类的软件直接创作,或者用数码相机的素材加工成漫画
2,动画([[anime]],Animation)
从手冢治虫的‘铁臂阿童木’起,日本的动画就广为世界所熟悉,在电脑普及之前,靠手工绘制的动画已经成了日本的朝阳产业。但在人工费等成本不断上涨中,如果没有导入电脑就很难想象动画产业今天的规模。动画大师宫崎骏的新作品一再创造了票房的新记录。日本虽有东映那样的制作‘影院动画’的大公司,但大部分的作品还是出自小公司,小公司在很多制作方面又要委托零细的加工专业和个人制作者。整个产业的从业员约有3.4千人,每星期在日本的电视上放映的动画连续剧有30多本,加上映象产品,定制作品等,他们的产量每个月差不多达到200本,尽管有部分在海外加工,但日本动画业在简陋的条件下(相对与其他制造业生产而言)达到的质量与产量是惊人的。没有CG,动画的大量生产是难以想象的。
3,游戏(Game)软件
电子游戏开始于美国,日本的软件使之风靡世界。1993年任天堂公司推出了8比特的专用游戏机,到1996年达到了64比特。但硬件的性能再好,没有有趣的软件也是徒然。游戏公司凭借日本动画,漫画的文化积累,充分运用CG,一举形成了世界注目的游戏产业。在不到20年的时间里,发展到数十兆日圆的规模。任天堂(Nintendo),Sega,索尼(Sony)等国际知名的企业成了电子游戏的代名词
4, CG艺术与设计
包括二维、三维的,静止画、动画(movie),从自由创作、服装设计、工业设计、电视广告(CM)到网页设计,可谓包罗万象。
CG作者经常把他们的作品放于网站画廊供读者欣赏其艺术风格。他们也可以被雇佣成为商业工具,销售manga或doujinshi,以及工艺书籍和作品资料CD等。典型的CG网页会有一段有关网站的艺术风格、已完成作品、图形样本和友情链接的介绍。有一些美国作者也采用了这种表现形式,但比不上日本人多产。日本网站上经常提供各种日式动画和日式漫画片段。许多图片未经作者同意就用于收费网站,而读者也无从得知其创作者。目前,非日式动画/漫画的CG网站也很普遍了。
三,CG软件
CG是最自由的绘画方式,没有固定的方法。同样用作CG的软件并无限制,只要是图形制作、图象处理类的软件都可以,例如:Photoshop、Illustrator、CorelDRAW、 Freehand、Painter、3DS Max、Poser、Maya、甚至用AutoCAD或Window画图等。常见的CG软件是Photoshop和Poser。
1, PHTOPSHOP的CG应用
1),基本绘图工具:绘图纸(A4正好扫描),绘图铅笔(2H到4B之间),橡皮,碳素钢笔(或专用的描线蘸水笔和专用墨水),扫描仪,手写板,可运行PHOTOSHOP的电脑
2),卡通CG绘制一般流程:先用铅笔在纸上画草图,然后用钢笔描绘轮廓线,再扫描(300-600dpi)入电脑加工。
3),分离轮廓线:先用Filter/Noise?Dust&Scratch等命令去除杂点,用Levels命令调整黑白对比度
A,用Alpha通道方法:黑白象素分离得比较干净,是最常用的方法。
B,粗糙的分离:可用Select/Color Range来分离,比用魔术棒Magic Wand Tool效果好些
C,完全保留轮廓:把轮廓图层设为Multiply图层混合模式,不用分离就能明显露出下方着色图层。
4),分离图层:使用快速蒙板准确选取各部份,然后为各部份一一添加新图层并填充以白色,图层直接以各部份名称来命名,最终使每一部份颜色都被分离在单独的图层中并将透明元素锁定
5),着色:对分离的图案层一一着色,可以使用色阶式的着色方法,也可以使用水彩着色的润化效果,……综合使用photoshop的各种工具(如滤镜),完美地把自然因素与人为创作(创造力和想象力)结合在一起才是好的美术作品。
6),轮廓线的着色:黑色的轮廓线稍显生硬,一般日式漫画都会进行修饰着色,原则是和周围的颜色匹配。
7),添加背景:有时为了更好地控制整体色调,可在先绘制出大致的背景效果后,再继续深入绘制人物。
8),细节修饰:对于大型的作品,需要大量丰富的细节,所以不要急于完成作品,而应该在得到灵感的时候进行加工,添加细节。
2,Poser的CG应用
Poser是专门用于创建3D人物的傻瓜型软件,可以用来完成一些较复杂的任务,如比例合适,基本光源和阴影、摆姿势。不可能只用POSER就得到完美的卡通画,后期制作是需要的,但它可以大大节省纯粹手绘或把3D作品改造成2D卡通的时间。
3D渲染的模型和传统卡通漫画总是相去甚远,因为卡通画的阴影总是很简单。漫画风格的图画要么有阴影要么没阴影,总是黑白分明,不会因为光少而变得更深。即使是人物身上有阴影部份也是界线分明,由圆滑或者有棱角的形状构成。而现实主义风格的阴影则无法看清界线。POSER中卡通边线功能可以帮助实现一些卡通风格的阴影。
1),摆姿势,穿衣服,上头发(非渲染形),装备背景物体。
2),从身体上清除贴图和高亮,切换到卡通线条模式,改变肌肤色为肉色。
3),保留一个光源,其他删除。光源应该是100%强度的泛光源。调节光线,在身体一侧产生简单的阴影。
4),平滑文档,确保光源辅助线不可见,存成TIF文件。
5),切换回正常的贴图预览模式,改变皮肤颜色为最浅的肉色。
6),把光强调为150%,关闭地面阴影,渲染保存图象。
7),在PS中打开图象,把渲染的那张粘贴到卡通风格的上面,把上层的BLENDING MODE改成SCREEN,降低透明度到满意为止。
8),后期处理锯齿状阴影,用取色吸管工具和画笔涂抹阴影,用色调/饱和度/亮度面板改变颜色,画上眼睛。
本文来自用户投稿,不代表币大大立场,如若转载,请注明出处:https://czxurui.com/jys/166033.html


发表回复
评论列表(0条)