您的位置:首页 > 编程语言 > Python开发

基于Python开发的ZeroNet,我见过的区块链落地最棒的应用

2018-03-01 19:37 1761 查看

什么是ZeroNet

ZeroNet是一个利用比特币加密和BT技术提供不受审查的网络与通信的BT平台,ZeroNet网络功能已经得到完整的种子的支持和加密连接,保证用户通信和文件共享的安全。使用ZeroNet,你可以匿名上网,你可以在自己电脑搭建网站,但即使你关机,你的网站依然在全球存在,别人无法关闭你的网站。

ZeroNet是一个去中心化的类似于Internet的网络,由匈牙利的开发者使用Python制作,完全开源。网站由特殊的"ZeroNet URL"可以被使用一般的浏览器通过ZeroNet程序浏览,就像访问本地主机一样。ZeroNet默认并「不」匿名,但是用户可以通过内置的Tor功能进行匿名化。ZeroNet使用Bitcoin加密算法及BitTorrent网络。

zeroNet github的官方地址:

https://github.com/HelloZeroNet/ZeroNet

下面是其github上的官方文档


ZeroNet





使用 Bitcoin 加密和 BitTorrent 网络的去中心化网络 - https://zeronet.io

为什么ZeroNet ?

我们相信开放,自由,无审查的网络

不会受单点故障影响:只要有在线的节点,站点就会保持在线

无托管费用: 站点由访问者托管

无法关闭: 因为节点无处不在

快速并可离线运行: 即使没有互联网连接也可以使用

功能

实时站点更新

支持 Namecoin 的 .bit 域名

安装方便: 只需解压并运行

一键克隆存在的站点

无需密码、基于 BIP32 的认证:用与比特币钱包相同的加密方法用来保护你的账户 你的账户被使用和比特币钱包相同的加密方法

内建 SQL 服务器和 P2P 数据同步: 让开发更简单并提升加载速度

匿名性: 完整的 Tor 网络支持,支持通过 .onion 隐藏服务相互连接而不是通过IPv4地址连接

TLS 加密连接

自动打开 uPnP 端口

插件和多用户 (开放式代理) 支持

全平台兼容

原理

在你运行zeronet.py后你将可以通过http://127.0.0.1:43110/{zeronet_address} (比如. http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NH3PMwFP3qbRbTf3D)。访问 zeronet 中的站点。

在你浏览 zeronet 站点时,客户端会尝试通过 BitTorrent 网络来寻找可用的节点,从而下载需要的文件 (html, css, js...)

你将会储存每一个浏览过的站点

每个站点都包含一个名为 content.json ,它储存了其他所有文件的 sha512 hash 值 和一个通过站点私钥建立的签名

如果站点的所有者 (拥有私钥的那个人) 修改了站点, 并且他/她签名了新的 content.json 然后推送至其他节点, 那么所有节点将会在验证 content.json 的真实性 (使用签名)后, 下载修改后的文件并推送至其他节点。

如何加入 ?

下载 ZeroBundle 文件包:

Microsoft Windows

Apple macOS

Linux 64bit

Linux 32bit

解压缩

运行
ZeroNet.exe
(win),
ZeroNet(.app)
(osx),
ZeroNet.sh
(linux)

如何创建一个 ZeroNet 站点?

如果 zeronet 在运行,把它关掉 执行:

$ zeronet.py siteCreate
...
- Site private key: 23DKQpzxhbVBrAtvLEc2uvk7DZweh4qL3fn3jpM3LgHDczMK2TtYUq
- Site address: 13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2
...
- Site created!
$ zeronet.py
...


你已经完成了! 现在任何人都可以通过
http://localhost:43110/13DNDkMUExRf9Xa9ogwPKqp7zyHFEqbhC2
来访问你的站点

下一步: ZeroNet 开发者文档


如何评价 ZeroNet?下面这些是来自知乎上的观点

原文链接


特性
无需备案:你不需要通知任何人,就能建立网站——注意,你需要把网址告诉别人。
无需审核:你的网站不会被干掉——注意,你可能被干掉;
无需服务器:你不用为了维持你的网站而长期维持服务器——注意,你需要维持用户对你的关注度;
无视防火墙:你发布或获取信息时,某些组织更难阻止你——注意,他们可以阻止你上网。

前景:请发挥你的想象力。



1、是否是革命性的创新?
有。
2、其发展前景如何?
并不能替代WWW,而且也无需替代。共存即可。
3、与传统网站相比有何优缺点?
优点:无需备案(对于国内网站来说),不用关心服务器关闭或者被审查。
缺点:网站数量多了以后,普通用户本地的数据量注定会越来越大。而且涉及私钥地址等类似比特币相关的概念,备份相关的知识还是和普通WWW网站要求的一样(你网站私钥丢了你的网站就不属于你了,不过还是存在),以后也许会被大网站的服务端采用。客户端应该是向轻量级趋势发展,类似比特币一般用户可能不会装Bitcoin Core钱包。




ZeroNe是具有革命性的。它使得WWW的去中心化又前进了一步。

WWW使用统一资源定位符( URL)将分布在世界各地的资源汇聚在一起,同时单个服务器的当机又不影响整个WWW的使用,这是一个伟大的构想,目前来看十分成功。

虽然WWW在整体上是分布式的结构,但是在具体的服务上,WWW并没有提供分布式的功能。在1990年,世界上第一台WWW服务器诞生于欧洲原子核研究委员会,服务器上被贴了个标签:“不要关掉它,这是一台服务器”。

[img]https://pic4.zhimg.com/2fecdebe3c68e07d1a357149bc3c627a_r.j随着WWW规模的扩大,某些站点的压力也越来越大,单台服务器就变为了多台服务器。在早期大多数是通过dns轮询方式避免服务器的单点故障。再后来有了反向代理技术,当客户端访问时由代理服务器挑选一台服务器给客户端连接。
另一方面,服务器与客户端的物理距离有远有近,物理远的访问就慢距离近的访问速度就快,例如中国用户访问美国服务器就比较慢。两千零几年的中国更过分,同一个城市的电信网络用户访问联通网络的服务器就很慢! 这时候google、腾讯等一些大型的服务商,开始研究CDN(Content Delivery Network,即内容分发网络),将一些内容主动推送到离用户较近的服务器,用来提升用户的访问速度。这些也是WWW的使用者在WWW之外做的优化。

回头来看:
(1) 反向代理技术避免了单点故障事实上是采用去中心化的逻辑;
(2) CDN技术提升了用户访问速度也是采用去中心化的逻辑;
(3) 大型互联网提供商的“异地多活”方案也是去中心化的逻辑;

说到这,就不得不提的另外一个具有创新性的东西,就是 , 在BT网络,每台接入设备既是服务器又是客户端, 在BT的P2P协议中,资源的发布者一旦被其他人下载并且没有关机,其他人就可以从所有具有这个资源的节点下载文件。据说在google内部已经使用Bittorrent协议来跨机房更新内容了。

那么WEB服务的去中心化是不是已经呼之欲出了?

结合bitcoin的签名技术和BitTorrent文件分享技术的访问即存储的网络,就是ZeroNet。ZeroNet并不是孤立于互联网,而是具有吞噬互联网的架势。在ZeroNet的语境中,现在的WWW服务可以称为传统互联网,ZeroNet将是它的超集,仍然可以使用域名服务(不是Namecoin和ZeroNet的ZeroID,是传统的DNS服务),仍然可以使用vps 托管你的网站。但采用ZeroNet技术,你的网站将立刻具有异地多活功能、自带N个备份、自带CDN加速功能。

虽然现在ZeroNet尚未成熟,但它的颠覆能力不可小觑。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: