p2p

p2p模块对外暴露了Server关键结构,帮助上层管理复杂的p2p网路,使其集中于Protocol的实现,只关注于数据的传输.

Server使用discover模块,在指定的UDP端口管理网络中结点的发现以及维护,discover模块能够直接和临近结点交换各自已知结点信息,从而不断的更新结点网络.

Server还是用nat模块来进行TCP端口映射,而nat主要是利用upnp和pmp两个协议,如果没有,那就只能认为指定的ip就是公网ip了.

Server要同时在udp和tcp的30303端口和p2p网络进行数据交换,前者是用来维护P2p网络,后者则是各种应用协议真正交换数据的地方.他们使用的格式是Msg,具体见 p2p_server.

关于Server以及Protocol如何使用可以见 Peer-to-Peer 虽然不是很详细,但是已经基本上说明了Server以及Protocol如何使用,感兴趣可以基于这个p2p网络实现自己的协议,可以完全与以太坊应用没关系.

https://github.com/nkbai/go-ethereum-example/tree/master/p2pmessage 如何创建java版的聊天室

p2p 是做为c/s的对立面出现的,广泛地用来描述各种网络系统,通常运行于表示层、会话层、应用层 
p2p主要的设计原则是非中心化和自组织,最初被设计为文件交换(法律上有争议)能够访问任何种类的分布式资源。
在联网的环境中共享分布式资源,避免中心化的服务。参与的用户们建立了一个虚拟网络,这个网络完全独立于物理网络,
不需要遵守任何限制和管理,基于UDP TCP连接是完全自治的并频繁更改他们的拓扑,用户以随机的方式加入或离开网格,几乎不损失网络功能。
p2p的主要驱动力是各种内容的交换(音乐等),它们是免费和无审查的。
p2p产生的技术前提是一台个人计算机可以同时做为一台高性能服务器。一个广泛分布的p2p示例是即时消息系统。
文件共享的特征是以C身份下载了文件的对等端,随后以S身份使这些文件对其它对等端可用,文件被分成较小的块,下载单个块,每个对等端仅收到整个文件的一部分,接着。对等端相互交换单个文件部分,
而不需要像原始源提出进一步请求,最后对等端们将单个部分重建,以形成原始文件的一份完整拷贝。核心问题是定位资源(查找问题)
不仅是用于文件共享的技术,也是形成分布式系统的根本设计原则。
c/s易产生资源瓶颈,易被攻击。




报税、反洗钱、国家安全、政府监管、公证、知识产权。是一门有助于经济的技术。成为国家战略,改变各行业的流程和基础设施。
区块链是把十年以上的老技术组合在一起,其链接指针是采用密码学哈希算法对区块头进行处理所产生的区块头哈希值,每一个数据块记录了一组哈希算法组成的树状交易状态信息,核心是分布式而不是去中心,主流机构很难接纳公有链,很多公有链的核心模块,如挖矿、pow共识、原生货币等在私链中完全没必要。
以btc和eth为代表的成熟公链中缺失一些身份认同、权限管理等;私链和联盟链很不成熟。开源好用的联盟链不存在,只有ibm的hyperledger;适合机构间交易、结算和清算;将各家银行的网关节点作为
记账节点,当网络上有超过2/3的节点确认一个区块,该区块记录的交易将得到全网确认,节点少一般不用挖矿和pow,而是采用权益证明等,对安全和性能的要求较高。银行间结算对账困难,账本不同
R3共享一个账本,省掉对账的繁琐工作。私有链一般是企业内部db管理、审计、政府内部
等;
张斌 联动优势
我们对于新兴科技,往往短期内期望过高,跑么破灭后又长期忽视它的深刻影响
区块链是分布式数据存储技术,浏览器是网页解释器,云计算是服务器集群,这样的表述太简单;tcp\ip并不关心上面传输的数据有什么差别---对于底层的交换机和路由器来说,一切都是0和1,创造力信息复制的
便捷通道,造就了今天的信息爆炸,但没有解决信息权属的新问题。区块链可以解决数据发送后的权属问题,我将一个数据发送之后我就不再拥有这个数据的所有权。来传输实际的价值。
从机制上说,tcp\ip是机器间的通信协议,区块链是机器间的信任机制和合作协议;对于不需要验证真假的信息传输tcp、ip足够了,但.....
无人驾驶汽车通过区块链协议自动缴纳过路费,先进的金融公司将像无人工厂一样,只有无数的计算机快速地缔结无数的智能合约。未来区块链将连接无数的个人和公司,上面承载的资产都将具有现实的价值和对应物


多链不像btc那样只支持一条区块链,还有侧链。
哈希函数处理的数据是单向性的,通过处理的输出值几乎不可能计算出原始的输入值。将不同长度的原始数据用两次SHA256哈希函数处理,输出为长度为256的二进制数字来统一识别和存储。
Merkle树可以是二叉树,也可以说多叉树,具有书结构的所有特点,最终只剩下一个Merkle根存入头,而不是所有底层数据。
全节点钱包不需要依靠别的节点仅靠自身就可以完成校验更新等操作,但硬件成本高,轻量节点当需要别的数据时可通过简易支付验证方式像临近节点请求所需数据来完成验证更新。
公钥像银行账户,钱包地址有公钥生成私钥像密码。数字签名是信息后面加上另一端内容,做为发送者的证明并且证明信息没有被篡改,一般是发送者将信息用哈希算法处理得到一个哈希值,再用私钥对该
哈希值进行加密,得出一个签名。接收者用发送者的公钥进行解密还原出哈希值,再通过哈希算法验证是否一致。是一类数学函数,将任意长度的信息压缩为固定长度的二进制串,其输出值为哈希值也称为散列值。


智能合约不依赖第三方自动执行,执行结果可公开检查,公开透明


血亲信用、贵金属信用、央行纸币信用、区块链信用 
pos机制缩短了达成共识的时间,降低了pow机制的资源浪费;但降低了安全性,大股东权益大不利于公正性。DPOS类似于股东会投票,选出一定数量的见证人。验证时间更短。
交易的每一项输出并不是指向一个地址,而是指向一个脚本,eth深入发展了btc的脚本语言。用gas机制防止无限死循环脚本。


btc没有明确的模块划分,架构上没有考虑太多,一个main 5000多行,解决不同节点账本数据的一致性和正确性,就需要用到分布式系统中实现状态共识的算法,共识算法的核心是在正常的节点间形成对
网络状态的共识。




没有账户概念,账户余额是从链上的UTXO计算出来的。ETH有两种账户,eoa外部所有账户(私钥控制的一般意义上的账户)和合约账户
(可编程账户,代码和数据的集合)就会有更多的校验和验证,merkle满足不了需要,采用了meikle patricia树,为什么这么设计呢???
hyperledger接近区块链3.0企业级应用,自动化采购各方共同记账互相监管。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值