以太坊p2p节点发现
『壹』 区块链的核心技术是什么
简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库;从数据结构上看,它是基于时间序列的链式数据块结构;从节点拓扑上看,它所有的节点互为冗余备份;从操作上看,它提供了基于密码学的公私钥管理体系来管理账户。
或许以上概念过于抽象,我来举个例子,你就好理解了。
你可以想象有 100 台计算机分布在世界各地,这 100 台机器之间的网络是广域网,并且,这 100 台机器的拥有者互相不信任。
那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得:
节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;
每个节点的数据会同步到最新数据,并且会验证最新数据的有效性;
基于少数服从多数的原则,整体节点维护的数据可以客观反映交换历史。
区块链就是为了解决上述问题而产生的技术方案。
二、区块链的核心技术组成
无论是公链还是联盟链,至少需要四个模块组成:P2P 网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。
1、P2P 网络协议
P2P 网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。
通常我们所用的都是比特币 P2P 网络协议模块,它遵循一定的交互原则。比如:初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求 Peer 节点的地址数据以及区块数据。
这套 P2P 交互协议也具有自己的指令集合,指令体现在在消息头(Message Header) 的 命令(command)域中,这些命令为上层提供了节点发现、节点获取、区块头获取、区块获取等功能,这些功能都是非常底层、非常基础的功能。如果你想要深入了解,可以参考比特币开发者指南中的 Peer Discovery 的章节。
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 是“unspent transaction input/output”的缩写,翻译过来就是指“未花费的交易输入输出”。
这个区块链中 Token 转移的一种记账模式,每次转移均以输入输出的形式出现;而在 Balance 结构中,是没有这个模式的。
『贰』 以太坊架构是怎么样的
以太坊最上层的是DApp。它通过Web3.js和智能合约层进行交换。所有的智能合约都运行在EVM(以太坊虚拟机)上,并会用到RPC的调用。在EVM和RPC下面是以太坊的四大核心内容,包括:blockChain, 共识算法,挖矿以及网络层。除了DApp外,其他的所有部分都在以太坊的客户端里,目前最流行的以太坊客户端就是Geth(Go-Ethereum)
『叁』 以太坊区块链ETH目前存在哪些问题
以太坊区块链目前暴露出三大问题,长时间以来其创始人Vitalik Buterin一直无力解读。第一是以太坊区块链整体很低的性能和TPS;第二是资源不隔离,CryptoKitties虚拟猫咪的事件,一度占据了整个以太坊 20% 的流量,直接造成以太坊网络用户无法展开及时的交易,就是资源不隔离最大的痛点;第三个问题在于以太坊治理结构的体现,区块链作为去中心化的分布式账本,以太坊过去以来,创始人团队主导了其网络发展,过于中心化的治理模式,让目前的以太坊出现了ETH、ETC、ETF等分叉,以太坊社区目前进入四分五裂的治理状态。而以太坊网络目前出现的各种弊病,在「aelf」创始人与CEO马昊伯看来,这是无法接受的。于是,「aelf」定位,就是为对标以太坊的下一代去中心化底层计算平台,重点解决目前以太坊存在的性能不足、资源不隔离、治理结构三方面的问题而诞生的。
『肆』 以太坊是如何挖矿的
以太坊的代币是通过采矿过程中产生的,每块采矿率为 5 个以太币。以太坊的采矿过程几乎与比特币相同,对于每一笔交易,矿工都可以使用计算机通过散列函数运行该块的唯一标题元数据,反复,快速地猜出答案,直到其中一人获胜。
许多新用户认为,采矿的唯一目的是以不需要中央发行人的方式生成醚(参见我们的指南“ 什么是以太? ”)。这是真的。以太坊的代币是通过采矿过程中产生的,每块采矿率为 5 个以太币。但是,采矿还有至少同样重要的作用。通常,银行负责保持交易的准确记录。他们确保资金不是凭空创造的,用户不会多次欺骗和花钱。不过,区块链引入了一种全新的记录保存方式,整个网络而不是中介,验证交易并将其添加到公共分类账。
Ethereum Mining
尽管“无信任”或“信任最小化”货币体系是目标,但仍有人需要确保财务记录的安全,确保没有人作弊。采矿是使分散记录成为可能的创新之一。矿工们在防止欺诈行为(特别是醚的双重支出)方面达成了关于交易历史的共识 – 这是一个有趣的问题,在分散化的货币未在工作区块链之前解决。虽然以太坊正在研究其他方法来就交易的有效性达成共识,但采矿目前将平台保持在一起。
挖矿如何工作
今天,以太坊的采矿过程几乎与比特币相同。对于每一笔交易,矿工都可以使用计算机反复,快速地猜出答案,直到其中一人获胜。更具体地说,矿工将通过散列函数(它将返回一个固定长度,乱序的数字和字母串,它看起来是随机的)运行该块的唯一标题元数据(包括时间戳和软件版本),只改变’nonce 值’ ,这会影响结果散列值。
如果矿工发现与当前目标相匹配的散列,矿工将被授予乙醚并在整个网络上广播该块,以便每个节点验证并添加到他们自己的分类账副本中。如果矿工 B 找到散列,矿工 A 将停止对当前块的工作,并为下一个块重复该过程。矿工很难在这场比赛中作弊。没有办法伪造这项工作,并拿出正确的谜题答案。这就是为什么解谜方法被称为“工作证明”。
另一方面,其他人几乎没有时间验证散列值是否正确,这正是每个节点所做的。大约每 12-15 秒,一名矿工发现一块石块。如果矿工开始比这更快或更慢地解决谜题,算法会自动重新调整问题的难度,以便矿工回弹到大约 12 秒钟的解决时间。
矿工们随机赚取这些乙醚,他们的盈利能力取决于运气和他们投入的计算能力。以太坊使用的具体工作量验证算法被称为’ethash’,旨在需要更多的内存,使得使用昂贵的 ASIC 难以开采 – 特殊的采矿芯片,现在是唯一可以盈利的比特币开采方式。
从某种意义上讲,ethash 可能已经成功实现了这一目的,因为专用 ASIC 不可用于以太坊(至少目前还没有)。此外,由于以太坊旨在从工作证明挖掘转变为“股权证明”(我们将在下面讨论),购买 ASIC 可能不是一个明智的选择,因为它可能无法长久证明有用。
转移到股权证明
不过,以太坊可能永远不需要矿工。开发人员计划放弃工作证明,即网络当前使用的算法来确定哪些交易是有效的,并保护其免受篡改,以支持股权证明,网络由代币所有者担保。如果并且当该算法推出时,股权证明可以成为实现分布式共识的一种手段,而该共识使用更少的资源。
『伍』 什么是P2P技术
P2p技术简介
一 什么是p2p
P2P即Peer to Peer,称为对等连接或对等网络,P2P技术主要指由硬件形成连接后的信息控制技术,其代表形式是软件。P2P起源于最初的联网通信方式,如在建筑物内PC通过局域网互联,不同建筑物间通过Modem远程拨号互联。其中建立在TCP/IP协议之上的通信模式构成了今日互联网的基础,所以从基础技术角度看,P2P不是新技术,而是新的应用技术模式。
二 技术简介
1.关键技术
P2p是一种基于互联网环境的新的应用型技术,主要为软件技术。
(1) 对于互联网上众多计算机,P2P应用比其他应用要更多考虑那些低端PC的互联,它们不具备服务器那样强的联网能力,同时对于以往的P2P应用技术,现在的硬件环境已经更为复杂,这样在通信基础方面,P2P必须提供在现有硬件逻辑和底层通信协议上的端到端定位(寻址)和握手技术,建立稳定的连接。涉及的技术有IP地址解析、NAT路由及防火墙。
(2) 在应用层面上,如果两个Peer分别代表两家不同的公司,而且它们已经通过互联网建立连接,那么一方的信息就必须为另一方所识别,所以当前互联网上关于数据描述和交换的协议,如XML、SOAP、UDDI等都是一个完善的P2P软件所要考虑的。
(3) 有通信就要有安全保障,加密技术是必须要考虑的。
(4) 其他需考虑的有如何设置中心服务器,如何控制网络规模等。
2. P2P技术与现有互联网技术比较
目前互联网主要技术模式是S/C方式,此方式要在互联网上设置拥有强大处理能力和大带宽的高性能计算机,配合高档的服务器软件,再将大量的数据集中存放在上面,并且要安装多样化的服务软件,在集中处理数据的同时可以对互联网上其他PC进行服务,提供或接收数据,提供处理能力及其他应用。对于一台与服务器联机并接受服务的PC机来说,这台PC机就是客户机,其性能可以相对弱小。而P2P技术的特征之一就是弱化了服务器的作用,甚至取消服务器,任意两台PC互为服务器,同时又是客户机,即对等。
3. p2p技术严格的说是一种网格
网格的定义:网格是在网络之上运行的软件基础设施,是连接集成不同硬件系统、软件系统、应用系统的纽带和粘合剂。
4. P2P技术特性
(1) 既是S又是C,如何表现取决于用户的要求,网络应用由使用者自由驱动。
(2) 信息在网络设备间直接流动,高速及时,降低中转服务成本。
(3) 构成网络设备互动的基础和应用。
(4) 在使网络信息分散化的同时,相同特性的P2P设备可以构成存在于互联网这张大网中的子网,使信息按新方式又一次集中。
三 技术应用
p2p技术目前主要应用于以下几个方面:
1.及时通信: ICQ 、OICQ及IP电话技术
2.文件和其他内容共享——BT技术
现在人们已经很熟悉用BT下载资源,BT的全名,叫做BitTorren,中文译作/比特湍流,有许多网友直取谐音,戏称之为/变态,如抽掉贬义的色彩倒是十分形象,因为它的确是一种不同于互联网常态的资源交流机制。作为一种革新性下载工具,BT吸纳了P2P的技术优势,简单而有效地实现了下载压力的分担。BT首先在上传者端把一个文件分成了Z个部分,甲在服务器随机下载了第N各部分,乙在服务器随机下载了第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了服务器端得负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制"比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑上去拿就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在你下载的同时,你也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。
3.搜索引擎——基于p22的适应性信息检索系统的设计
本文提出的基于p2p的适应性信息检索系统的网络拓扑结构如图1所示。系统由若干个自治的结点组成,它们按照网络架构组成一个信息检索网络,每一个结点都是对等的。每一个结点都由一个客户端代理和一个服务器端代理组成。用户通过客户端代理提交提问,对于每个提问,客户端代理可根据具体情况,使用元搜索、爬行器和转交给服务器端代理等三种方式的任意组合进行检索处理,对于三种方式返回的结果文挡,客户端代理经过合并过滤之后呈现给用户。用户在浏览结果时,通过将文档标记为感兴趣或不感兴趣的方式,向客户端代理提交相关反馈。利用这些反馈,客户端代理可以建立一个用户模型,该用户模型一方面将用于今后的结果过滤,另一方面也将用于修改用户的原始提问,以便今后进行进一步的检索处理。与此同时,服务器端代理负责结点之间的通讯,它可以在接收用户模型和相关文挡的基础上,进行用户聚类,并在聚类的基础上,在具有相同或相似兴趣的用户之间实现合作式推荐和转发检索请求,单个结点的内部结构设计如图2所示。
4.协同工作——p2p技术对e-learning应用模式的影响
基于 P2P 思想的知识交流型学习:
P2P是一种技术,但它更是一种思想,是有着会改变整个互联网现状潜能的思想。它将人们直接联系起来,让人们可以通过互联网实现直接的交互,从而使得网络沟通变得更为容易、资源共享更为直接,因而它在加强网络人际交流、文件交换和分布计算等方面大有前途。随着 P2P 技术的兴起,基于P2P思想的知识交流也开始在网络上出现。如 LearningIDEAS公司提供的可以即时捕获个人与个人之间的知识交换方案,就包含了一套独特的匹配和转发系统,它能够让外在的知识随信息交流实时传递。LearningIDEAS的技术与企业呼叫中心的路由系统非常相似,它允许基于知识技能的路由和匹配,在发生现实需求和特定问题时可以让一个用户与另一个相关的用户联系起来。与传统 e-Learning系统相比,基于P2P思想的知识交流方案最大的不同就在于无需创建专门化的学习环境,也无需正式安排教学活动,就可以在学习者和他人之间提供知识分享的通道。
目前主流的e-Learning系统如Ellumniate、Centra、WebEx等也提供一些同步学习和协作解决方案(如虚拟“在线会议室”等),它们虽然可以允许学习者进行非正式的学习交流和直接沟通,但这类学习活动一般都需要在主题、时间和交流人员等方面制订明确的计划和安排。基于P2P的知识交流方案却不同。当一位用户或学员遇到某方面困难时,他在LearningIDEAS系统中把自己的问题表述出来,系统就可以立刻帮助他转接到某个具有此类问题解决经验的同事或学员用户那里。就像和身边的人随意询问交流一样,这种虚拟的即时沟通方式能够更快捷地解决用户所遭遇的现实问题,并消除了通过正式教学系统进行学习的时空障碍。
基于P2P技术的非正式知识交换方案,真正的价值是它使得学习和交流能够在网上随时发生,并能融入到实际的工作和生活流程当中。这种随机、自由、及时的知识交流方案不仅使学习交互可以发生在每位网络用户身边,而且非正式知识交流的学习过程也能够被记录存档。当人们加入P2P网络的时候,所有用户都拥有了平等的机会,都可以容易地在网络上自由沟通思想,随时交流学习,并进而从与对方的交流和沟通中获取所需要的知识和信息。P2P摆脱了中间服务的羁绊,它重新将人们通过网络直接联系起来,使人际间的知识交流更为迅速和便捷,从而提高了人们解决学习问题和处理社会事务的效率。
四 p2p技术的不足及目前的解决途径
管理问题和安全问题是p2p目前所面临的最大的问题。
在p2p技术结构中,中心节点的意义被大大弱化甚至完全消解。去中心化的特点将得到更为充分的体现,网络传播结构的扁平化特点也会进一步凸显。这样的传播结构,使网络信息传播的管理与控制更为复杂与困难。从管理的层面看,p2p技术最主要的挑战体现在两方面:对不良内容的传播控制更为复杂;版权管理更为困难。
在国外,p2p在版权管理方面带来的问题引起了更大的关注,据报道,美国国会知识产权办公室目前已草拟新版法案,力图禁止这类p2p软件的应用;英国更是早在2003年10月就通过了立法决定执行颇有争议的欧洲版权法令,这个立法从理论上明确了,使用类似的p2p服务将可能构成犯罪。
目前的解决方法:利用JXTA技术(juxtapose 并行技术)。
JXTA技术提供了建立P2P网络应用的核心技术,旨在为P2P应用建立一个通用的开发平台。JX2TA技术主要包括一个独立于编程语言系统平台和网络平台的协议集,这个协议集说明了P2P应用的最基本的需求。可以说,JXTA是位于操作系统或虚拟机之上的P2P网络服务或应用之下的一个P2P堆栈,它提供了P2P应用所需的核心功能。 但是也有人对此持批评态度,例如,方兴东认为:p2p的交流如果是在个人与个人之间,如果没有任何商业行为在内,那么就不应该用知识产权来限制。
当然,技术肯定不能解决所有问题,相关法律手段的加强,也是十分必要的。但是,法律的制定应该着眼于未来而不是眼前,着眼于社会全局利益而不是个别利益。
五 前景展望
从p2p技术的发展轨迹来看,它与互联网技术的发展是一致的,那就是从技术导向逐渐转向市场导向,从专属用户逐渐转向普通用户这也意味着,这些技术的影响力将从纯技术层面转向经济、文化与社会层面。
p2p技术既然可以为个人对个人的信息交流与共享提供方便,自然也能为媒体对媒体的信息交流与合作提供可能。P2p技术也可能成为媒体间的交流与合作的新平台,也可能加速媒体形态的演化。对于媒体机构来说,现在能感觉的似乎更多的是潜在的威胁,因为它们在传统媒体以及网络媒体中的中心特权地位会受到挑战,但是,从另一个角度来看,如果媒体机构把自己视作一个普通的信息产品的生产者,也许就能从2技术中找到新的希望。
作为一种越来越具有普遍应用价值的技术,p2p对于未来的网络传播特性的影响,虽然还一时难以做出全面描述,但是影响正在开始而且会继续,这正像技术一样的普及,在很大程度上促进了网络作大众媒体的属性。
参考文献:
1.P2P技术与网络传播的未来 彭兰 第7卷 第1期 南京邮电学院学报
2.基于P2P的适应性信息检索系统的设计 江 淇
3.技术思想对 E-Learning 应用模式的影响 李芃
4. 浅谈下一代互联网技术——网格技术 王东 管江红
5. 信息技术一种全新的P2P网络解决方案——JXTA技术 王旭辉 郑雪峰 姚宣霞
6. P2P技术的研究与应用 陈 姝 方滨兴 周勇林
7.P2P技术的应用及其研究现状 赵 恒 陈 杰
『陆』 以太坊,犇比特,数字货币到底是怎么回事
区块链数字货币是使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造犇比特来人为操控币值。
『柒』 以太坊存在的问题
1.扩展性不足:
以太坊社区的主要开发人员和研究人员始终认为区块链技术要实现大规模采用,可扩展性是区块链应用程序需要解决的唯一最重要的关键。
以太坊的底层设计,最大的问题是以太坊只有一条链,没有侧链,它把所有的程序对等的跑在全球所有节点的矿机上。这样一个很耗资源的程序,会导致问题越来越严重。
2.合约程序漏洞,无法抵御DDOS攻击
据相关研究表明,在基于以太坊的近100万个智能合约上,发现有34,200(约3%)个含有安全漏洞,将允许黑客窃取ETH、冻结资产或删除合约。这几年,以太坊面对合约程序漏洞和DDOS攻击的问题,也一直无法找到很好的解决办法。(更好用的数字货币交易平台“币汇”)
3.对于ICO泡沫和项目方砸盘
目前的ETH下跌,很大程度上来自于项目方的砸盘套现,这个问题可以在ICO代币融资上进行规则限制,不能像现在这样毫无成本的就能发一个币,而且还没有任何监督惩罚机制。任何事情都需要有一套合理的演进规则,大家按规则办事,所谓无规矩不成方圆。在规则的基础上,各类ICO项目有效监督,有序进出,才是一个正常的市场,这样才可能维系着代币生态的持续、稳定发展。
4.智能合约费用过高
在以太坊上现在还是POW的挖矿模式,交易是有手续费的,用来激励矿工来处理交易和保护网络,不同的是以太坊是以“gas”的形式来收费的。
在以太坊协议中规定,交易手续费=Gas 数量 x Gas 价格,其中 Gas 数量由智能合约的复杂程度决定,而 Gas 价格则由合约发起人决定。这对开发者和用户意味着什么呢?虽然读取本地区块链是免费的,但写入和运算是花钱的,储存更是尤其昂贵,因为任何写入的信息都会被永久的储存着。
5.社区对共识协议改变的分歧
以太坊计划实现将 POW 机制改为 POW/POS 混合共识机制。但这个涉及到技术开发和矿工双方能否达到利益共识的问题了。如果协议发生了变化,社区意见不合时,就会导致分叉,大家各自玩各自的。
『捌』 什么是P2P网络
P2P网络即对等网络/对等计算机网络:是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。
“Peer”在英语里有“对等者、伙伴、对端”的意义。因此,从字面上,P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”。
学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer computing),其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。
在此网络中的参与者既是资源、服务和内容的提供者(Server),又是资源、服务和内容的获取者(Client)。
(8)以太坊p2p节点发现扩展阅读:
与客户端/服务器网络相比,对等网络具有下列优势:
1、可在网络的中央及边缘区域共享内容和资源。在客户端/服务器网络中,通常只能在网络的中央区域共享内容和资源。
2、由对等方组成的网络易于扩展,而且比单台服务器更加可靠。单台服务器会受制于单点故障,或者会在网络使用率偏高时,形为瓶颈。
3、由对等方组成的网络可共享处理器,整合计算资源以执行分布式计算任务,而不只是单纯依赖一台计算机,如一台超级计算机。
4、用户可直接访问对等计算机上的共享资源。网络中的对等方可直接在本地存储器上共享文件,而不必在中央服务器上进行共享。
『玖』 以太坊,比特币,数字货币到底是怎么回事
现在数字币就是零和游戏,你放钱进去,我放钱进去,我取出来多,你取出来少,那么我赚钱了,赚了你的钱,就这么简单。
『拾』 以太坊带来了那些争议和质疑呢
以太坊和比特币是有着本质区别的,区别在哪里呢?比特币定义的是一套货币体系,而以太坊侧重的是打造一条主链(可以理解为一条公路),可以让大量的区块链应用跑在这条公路上。
从这一点来看,以太坊的应用场景更广泛,这也是为什么我们说以太坊标志着区块链
1.0时代一个单纯的货币体系,向区块链2.0时代实现其他行业以及应用场景的转变。
但是,世界上没有十全十美的事物,以太坊虽然拓展了区块链在各行各业的应用范围,还提升了处理交易的速度,但是它也存在着一定的争议与质疑。
一、以太坊的扩展性不足的解决之道:分片技术和雷电网络
以太坊的底层设计,最大的问题是以太坊只有一条链,没有侧链,这就意味着,所有程序都要对等地跑在这条链上,消耗资源的同时,还会引发系统拥堵。正如去年非常火爆的以太坊游戏“加密猫”,这个游戏火爆的时候,一度引发以太坊网络瘫痪。
对于提升处理能力这个问题,以太坊提出两种方式:一个是分片技术(shard),一个是雷电网络,下面我们分别介绍一下这两种技术。
(一)分片技术
以太坊创始人 V 神(Vitalik Buterin)认为,诸如比特币这种主流的区块链网络,之所以处理交易的速度很慢,是因为每一个矿工要处理全网的每一笔交易,这样的效率其实是非常低下的。分片技术的构想是:一笔交易不必发动全网所有节点都去处理,只要让网络中的一部分节点(矿工)处理就好了。于是,以太坊网络被划分成很多片,同一时间,每一分片都可以处理不同的交易,这样一来,会大大提升网络性能。
但是,分片技术也是有一定争议的。我们知道,区块链技术的重要思想是去中心化,全网都去见证(处理)同一交易,这才具有最高的权威性。而以太坊分片技术,并不是所有节点共同见证,而是类似于分小组见证,这样一来,它便失去了绝对的“去中心化”属性,只能通过牺牲掉一定的去中心化特性来达到高性能的目的。
(二)雷电网络
雷电网络使用的是链下交易的方式。这是什么意思呢?它的意思是:使用雷电网络的参与者在互相转账时,不需要通过以太坊主链交易确认,而是通过参与者之间创建支付通道,在链下完成。
不过,雷电网络并不是脱离主链的,在建立支付通道之前,需要先用主链上的资产做抵押,生成余额证明(Balance Proof),拥有余额证明才能表明你能做出相应余额的转账。在交易双方都持有余额证明的情况下,双方可通过支付通道在链下进行无限制次数的转账。
只有在完成链下交易,需要将资产转回链上时,才会在以太坊主链上登记主链账户的余额变化信息,而这期间不管发生多少次交易在主链上是不会有记录的。
雷电网络还有一个实实在在的好处,就是可以为你省下矿工费用。目前我们在以太坊主链上进行交易,需要消耗 Gas,需要支付矿工费用,那么一旦将交易搬到链下,就可以节省这一部分的成本。
当然,雷电网络并不是十全十美的。在使用雷电网络时需要用主链上的资产作抵押;而这部分资产作为抵押物,在使用者完成链下交易之前是不能使用的。这也就决定了,雷电交易只适合小额交易。
上面就是以太坊扩展性不足的问题,以及目前提出的两个主要解决方案:分片技术和雷电网络。
二、以太坊的智能合约存在漏洞与臭名昭著的 The Dao 事件
以太坊的智能合约很强大,但是,凡是代码都会存在漏洞的,以太坊智能合约最大的争议就在于所谓的漏洞,也就是安全性问题。据相关研究表明,在基于以太坊的近100万个智能合约上,发现有34200(约3%)个含有安全漏洞,将允许黑客窃取ETH、冻结资产或删除合约,比如说,臭名昭著的The Dao 事件。
(一)Dao是什么意思?
介绍 The Dao 事件之前, 我们先见到介绍一下 DAO 是什么。DAO 是 Decentralized
Autonomous Organization 的简称,可以理解为:去中心化自治组织。从以太坊的角度来理解,DAO 是区块链上的某一类合约,或者一个合约组合,用来代替政府的审查以及复杂等中间程序,从而实现高效的、去中心化的信任的系统。所以,DAO 不是特定的某个组织,也就说呢,可以有很多的DAO,各种各样的DAO。
(二)臭名昭著的The Dao事件
但是,我们现在提到DAO,基本上所指的都是The DAO事件,也就是我们刚刚说的那个臭名昭著的黑客攻击事件。我们知道,英文中的 The是特指的意思,The DAO事件呢就
是特指的那个DAO事件,因为我们刚刚说了DAO不是特定的某个组织,可以有很多的DAO,各种各样的DAO。
2016 年的时候,德国一家专注“智能锁”的公司 Slock.it,为了实现去中心化的实物交换(比如说:公寓啊,船只啊),在以太坊上发布了 DAO项目。并且于2016年4月
30日开始,融资窗口开放了28天。
没想到,这个DAO项目的人气非常高,短短半个月就筹得了超过一亿美元,而到整个融资期结束,一共筹集到1.5亿美元,由此呢,它成为历史上最大的众筹项目。然而好景不长,到了6月份,黑客利用智能合约里面的漏洞,成功转移了超过360万个以太币,并投入到一个DAO子组织中,这个组织和The DAO有着同样的结构。以至于当时以太币价格从20多美元直接跌破13美元。
这个事件说明智能合约的确是有漏洞的,而且一旦漏洞被黑客利用,那么后果是非常严重的。这就是现在很多人批评以太坊,说它的智能合约不智能。
对于这个问题,目前国外有很多公司为了解决智能合约的漏洞问题 ,开始提供代码审计服务。而从技术的角度来说,目前一些团队正在对智能合约进行检验,这些团队多数由哈佛、斯坦福和耶鲁的教授带队,部分团队已经获得了头部机构的投资。
除了目前以太坊存在的扩展性不足、智能合约漏洞问题,对于以太坊的争议还在于它所追求的POS共识机制,也就是权益证明机制,在权益证明机制下,如果说谁持币的数量越大、持币时间越久,获得的“权益”(利息)就越多,还有机会得到记账权力,记账又可以获得奖励,那么这样一来,容易造成“强者越强”的寡头优势。
还有一个问题就是ICO乱象的问题。ICO是区块链项目筹措资金的常用方式,咱们可以理解为预售。以太坊上ICO项目的爆发,滋生了打着ICO旗号进行资金盘、诈骗圈钱等不法行为,对社会和金融稳定造成安全隐患。