26

Holochain创始人总结:胜利、失误以及后续

 4 years ago
source link: https://www.tuicool.com/articles/QZbE7n2
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

前言:本文是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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK