前言:本文是Holochain创始人Arthur Brock的总结,他回顾了过去近两年的历史,所取得的阶段性进展,以及一些失误。从这里我们可以看到在筹集资金之后,Holochain都做了哪些事情,它是基于什么考量的,它未来会走向什么方向。其中它最重大的决策之一就是用Rust重构Holochain,这耗费了其很大的资源,当然也是为了兼顾长远的利益。本文由“蓝狐笔记”社群的“SL”翻译。
从概念到落地
2016年的最后一天,Eric Harris-Braun和我开始构建Holochain。基本设计的一部分来自于Ceptr,它是我们多年来一直致力于开发的高级计算和货币平台。
两个月后,在2017年3月的第一周,我们在旧金山举办了第一场黑客马拉松活动,让人们在Holochain上构建App。
这次活动仅限于邀请一些了解我们 工具 的朋友,当时还不是很成熟。然而,即便在那时,人们在短短几天内就用JavaScript和Lisp构建完全P2P的dApp,且这些dApp能够运行。
当时参加黑客马拉松的开发者对Holochain的易用性表示惊讶,他们在以太坊上构建dApp和代币遇到一些困难。他们也觉得更加安全,因为他们知道他们早期可以先发布仅限邀请的应用,当通过实际测试之后,然后再扩展到更大范围,而不是从一开始就刻在“石头上”,写入永久的区块链上。
他们说:“这感觉就像是我们在飞行时建造飞机,但令人激动的是它确实能飞。” 并且,“哇,这是一个真正分布式的分布式应用平台。”
第一个周末的黑客马拉松产生了HoloChat(类似于Slack的多通道聊天工具)、TrustGraph(用于制作去中心化的证据审查以及声誉声明)、Clutter(两个版本的Twitter克隆,分别用JavaScript和Lisp编写,两者的UI一样)。
很多人依然认为Holochain的应用模型是未经得到验证,事实上,我们已经拥有可运行的app近两年了,其速度和规模都优于我见过的其他加密货币平台。
提 升Holochain的能量
对于Holochain开发应用方面的易用性我们很兴奋,但我们也知道还有很多事情要做,比如无须许可、安全、DHT分片等。
在接下来的6个月,我们致力于改进网络、增强测试、提高性能、以及学习构建以代理为中心的dApp的设计模式(dApp是构建在最终一致、分片和可验证的DHT之上)。
在一些官方Alpha版本发布后,我们还举行了更多的黑客马拉松:
西班牙,巴塞罗那
列支敦士登,瓦杜兹
拉脱维亚,里加
英国,布里斯托尔
葡萄牙,波尔图
加利福尼亚州,塞瓦斯托波尔
英国,伦敦
丹麦,哥本哈根
悉尼,澳大利亚
澳大利亚,墨尔本
英属哥伦比亚,温哥华
德克萨斯州,奥斯汀市
纽约市(两次)
科罗拉多州,丹佛市
巴西,圣保罗
荷兰,阿姆斯特丹
宾夕法尼亚州匹兹堡(卡内基梅隆大学)
可行的Holochain App
在这些黑客马拉松活动中,涌现了大概60个很有型的Holochain App,它们有各自不同的完成阶段。它们包括从后端功能的概念验证到具有完整UI的体验。值得注意的是:
DPKI:分布式公钥基础设施——加密密钥的管理
HoloDex:用于搜索分片DHT的索引覆盖应用
hApp Store:用于分发分布式应用的分布式目录
Fractal Wiki:嵌套卡片的结构化wiki(如Decko)
Transactor:基本的互信货币
Touchpoints:支持移动NFC的交互记录系统
Federated wiki:联盟wiki的P2P端口
Community Book Sharing Library:社区图书分享的图书馆
RaveMaker:派对公告和支持系统
Unter:由Arcade City制作的P2P Ridesharing 应用
Prediction market:预测市场,对现实世界的结果投注
Comet:P2P 的Reddit替代方案
Credit clearing network:来自Promis.co的P2P信用清算网络
Tracking system:医疗药品来源和供应链跟踪系统
Live-streaming:视频共享和直播应用
Holo-Health:个人医疗数据管理
Electric Smart Meter Management:物联网数据记录和共享
UnMute:类似于Medium.com的防篡改博客(后来演变为humm.earth)
HoloVault(又名Personas):个人数据和身份管理
New Craigslist:Craiglist克隆(也在OCaml中实现)
HoloChess:国际象棋app
Battleship:游戏
Cryptonomipong:大型多人乒乓球和加密乒乓
MinerSweeper:实时多人扫雷
Errand:类似于Trello一样的看板,可以完成任务
Omni:出版学术领域的同行评审文章
HoloREA:使用REA标准的供应链加密会计
To-Do List:共享待办事项列表
Junto:一个社交网络
呼!我确信还有一堆我不太记得了。
Holochain上的REA会计彻底改变了供应链的会计,并让任何单位成为加密货币成为可能。
请注意,这些dApp跟我们平日在网上做的事情有多相似?Holochain app开发不仅限于代币的投机和加密竞猜等,这些不是它的主要用例。存储数据很便宜,处理过程很高效,扩展很自然。
我经常听人们讲起dApp有用性还没有得到证实。但如果他们研究过运行在Holochain上的dApp,而不是运行在区块链上的dApp,那么,他们也许就不会这么说了,因为这些都是大家每天在网络上使用的数据驱动的网络应用。
更重要的是,扩展性不是这些应用的瓶颈。因为,它们与区块链不同,随着用户的增加,Holochain会变得更高效,因为工作量会被分成更多的计算机来承担。
Holochain的dApp架构是得到验证的
有些人依然在谈论Holochain,好像它还不存在。部分原因是因为期待“主网”发布和代币造成困惑。但是,Holochain并没有内置的代币来补贴低效率,每个Holochain应用产生自身的P2P网络,因此也就没有所谓的“主网”。
很多人显然没有意识到Holochain已经构建了不少东西,他们运转良好。这部分原因是因为我们没能够充分推广Holochain以及在它上面构建的应用。
更重要的是,因为Holochain可在无须全球共识的情况下管理数据的完整性,因此,它让很多解决方案变得更容易,而这在其他的去中心化平台上很难或者基本上不可能实现。例如:
区块链发展十多年,为什么没有可靠的去中心化公钥基础设施(DPKI)?你几乎找不到另外一个去中心化平台可以运行实时的游戏,例如MinerSweeper或Pong!且不说在区块链上运行视频直播,存储视频试试看?在Holochain上的REA 会计彻底改变了供应链会计,并让任何单位作为加密货币成为可能。
准备致力于让Holochain成为主流
我们设计的Holochain跟区块链进行直面的竞争,并在各个方面都超过了它,我们已经证明这一概念的基本原理。现在是时候把它带入主流人群了,并确保它可持续发展。我们看到大多的开源基础设施项目遭遇财务困境,并由此屈服于中心化的压力。我们不希望这种事情发生在Holochain上。
为此,我们采取两项主要的行动:
1.从web2.0走向3.0的桥梁
我们设计了Holo,把它作为首个主要的商业项目,旨在为Holochain创建财务可行性。Holo提供营利性托管框架,通过用户的网络浏览器将加密app和主流人群联系起来,就像他们访问任何数据驱动的网站一样。
既然Holochain没有内在的速度和扩展性瓶颈,Holo托管的应用理论上能够扩展到Facebook或Twitter的规模,这可以让Holo跟大型云托管服务的公司进行竞争,这是区块链项目永远无法抵达的。
2.基于社区的基金
为了确保下一代互联网的技术始终由社区拥有,而不是私有拥有或控制,我们在IndieGogo上售卖名为HoloPorts的Holo主机盒子,同时我们还在初始社区发行上预售在Holo主机网络的信用。
澄清:Holochain vs. Holo
Holochain是开源的数据完整性的引擎,它可以支持p2p应用的自托管,无须全球共识,可实现大规模扩展,同时用户控制身份和数据。Holochain并没有内置的代币,但很容易在holochain上以分布式会计应用的形式来构建货币。
Holo是一家托管公司,它为Holochain的应用提供托管基础架构,以便可用常规网络浏览器浏览。正如AirBnB不拥有任何一个酒店房间,但它比世界上最大的连锁酒店销售出更多的房间/夜一样,Holo也正在与世界上最大的云托管公司进行竞争,它无须建立数据中心,但它通过使用Holochain的效率可充分利用已有的算力。Holo有原生的代币,称为HoloFuel,它是基于其网络上可用的分布式托管功能,其货币始终由有形资产支持,并且是可兑换的。
事实证明,为下一代互联网构建真正的p2p的基础并不容易——特别是要同时确保合适的安全和隐私层。
Bulletproofing Holochain
我们在首次公开众筹中筹集了3万个ETH的资金,在当时大约相当于2000万美元,现在到我们兑现扩展承诺的时候了,因此我们重构Holochain以提高安全性,并且运行在浏览器和移动设备上。
我们做出的一个重要决定是用Rust重构Holochain——这跟它的原型不同,原型是用 Go 来构建的——这是为了利用Rust的安全性、稳定性以及并发的安全,同时,也是为了能够编译到Web Assembly(WASM),由此Holochain的应用可以在网络浏览器或移动设备上运行。
我们还需要配备开发人员、安全专家以及网络专家,以让Holochain足够安全。这意味着要投入大量的时间和资金,但重要的是用超高的安全措施来增加Holochain,由此任何人都对主流加密框架有正确的期望。
在2018年5月中旬,随着资金和更大规模的开发团队到位,我们准备重构Holochain原型。我们当时预计需要3个月,目标是8月15日首次发布Alpha版本,该版本拥有Go原型的全部功能。很多开发者对重构都感到兴奋。
不可避免的失误
现在差不多一年过去了。我们取得了很多进步,包括安全、测试、故障排除、底层基础架构方面的进展,同时还为Holo发布了一个封闭的Alpha TestNet。然而,我们依然还没有实现Holochain原型的所有功能。开发所花费的时间比我们预想的要长。
事实证明,为下一代互联网构建真正的P2P的基础并不容易——特别是涉及到要确保适当的安全和隐私层时。
我仍然认为,用Rust重构虽然拉长了时间,但从长远看,它会为我们省去很多麻烦。Rust非常严格,除非你处理了各种可能的漏洞(大多数其他有语言都会放任你离开),否则它不会让你编译。我们对用Rust重构Holochain所获得安全性和稳定性充满信心。
然而,它也带来另外一个挑战,值得我认真对待:Holochain变得越来越难以使用。
可用性挑战&补救措施
Holochian是否因为没有进行推广和支持其最初的原型版本而措施良机?
我们把Holo定位为web app的托管平台,但现在我们有一个Holochain的版本,只允许你用Rust构建应用。有多少web开发者会用Rust编程?不多。
另外一个目前的可用性挑战是我们还没有为Rust版本的Holochain重构快速应用程序开发工具(RAD)。这些类似于向导的提示会有利于促进Go原型中的开发和测试。
最后,尽管编译到WASM的能力是我们转向Rust的关键原因,但添加了编译步骤可能对某些人来说是一种阻碍,更不用说WASM在调试方面还不成熟。
盘点
回想起来,我们低估了重建的后果。主要是因为我们现在几乎没有上线的应用,没有繁荣的生态系统(我们依然期待)。同样重要的是,我们低估了原型的成熟程度,并鼓励那些准备在其上构建的开发者等待Rust版本。
结果是,很多人依然认为Holochain的应用模型还没有得到验证,事实上,我们已经拥有可运行的程序近两年了,其速度和规模优于我见过的其他加密平台。
我们是否应该调拨一部分工程师、培训人员以及市场营销人员来支持Go版本并获得一些超出概念证明阶段的应用?也许我们应该这么做。
我很感激少数的项目,例如Humm.Earth忽略了我们的建议,并且依然使用Holochain的Go 版本。但是,这样的项目还不够,需要有更多的项目让世界能够认真对待Holochain。
未来的路
利用Go版本为时已晚?可能吧。我们在9个月内未能对go版本的代码提供支持或更新。
而且,再次地,就安全性方面,用Rust重构依然有好消息。更多技术细节包括:强大的椭圆曲线加密、新的动态DHT架构、能通过NAT和防火墙配置的P2P网络、以及统一的安全模型。
但,我们如何让社区恢复过来,告诉他们等待下一个伟大的事情?有几种方式:
*创建Holochain实验室
为了响应需求和志愿服务,我们计划为基于Holochain的项目启动一个在线空间,以便于协作、共享代码、招聘、收集反馈并获得财务支持。
*启动Holo TestNets
我们目前发布不同阶段的封闭的Holo Alpha,尽管还没有大量的应用生态可以托管,但迄今为止,Holo开发团队研发的应用是一件大事。Open Alpha即将推出,我希望我们能够展示出接近于典型云托管速度的dApp性能。
*HoloPorts的发货
我知道很多人都对拥有HoloPorts很兴奋,有了HoloPorts可以开始测试并使用他们的Holo 托管设备。我们已经很接近了。这将会给我们带来数千台服务器的强大基础,有能力托管新的应用。
*提高开发者的可用性
1)我们正在使用Rust macros简化HDK,由此定义模块,且现在函数更简洁可用。2)我们正在使用GraphQL查询Holochain,这将让现有的网络app跟Holochain一起工作变得很容易:你需要做的只是编写一个Holochain app,你的后端替换你的数据库。3)我们会很快重建RAD工具,用于生成文件、目录、CRUD函数、基本测试,这样没有Rust编程经验的开发者也会更轻松。
尽管过去一年有一些失误,Holochain确实也有很多动能。我们的核心支持者基础很强大,一直在通过越来越多的文章和视频进行传播,并且对Holo 代币(HOT)的需求一直很高,相对于当初众筹时,其对比特币的回报约20倍,对ETH的回报约40倍。我们看到一些有影响力的地区,如中国和土耳其,这些地区的社区支持在增加,目前在澳大利亚也有很多有希望的项目。
是的。有些人(包括我自己)也已经厌倦了关于Holo和Holochain将会多么伟大的说法,现在只是想看它是怎么运行的。我很高兴,现在这一刻终于到来,Holo TestNets即将发布,很快人们就能够大规模运行响应式的dApp。
本文中,我强调了一些Holochain的优势和成功,同时也对我们没有解决的问题保持透明,回想起来,我们也有一些战略性的失误。我希望社区成员能够评论并进行反馈,你需要什么?我们如何更好地为你服务?
------
风险警示:蓝狐笔记所有文章都 不构成投资推荐 , 投资有风险 ,投资应该 考虑个人风险承受能力 ,建议对项目进行深入考察,慎重做好自己的投资决策。
通往区块链的新世界: 关注“蓝狐笔记”公众号: lanhubiji
加入 蓝狐笔记的知识星球 :https://t.zsxq.com/iaQNnIq
加入蓝狐笔记群微信:pacinoli
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python for Everyone
Cay S. Horstmann、Rance D. Necaise / John Wiley & Sons / 2013-4-26 / GBP 181.99
Cay Horstmann's" Python for Everyone "provides readers with step-by-step guidance, a feature that is immensely helpful for building confidence and providing an outline for the task at hand. "Problem S......一起来看看 《Python for Everyone》 这本书的介绍吧!