原文标题:《科普 | 如何开发出好用的轻量级客户端,Part-1》 大约 5 年前,我们开始构建 Trinity —— 以太坊网络上的新型 「轻量级客户端」。那时候 Geth 刚刚发布了第一版 LES 协议,而我们曾心怀远大的梦想。 远大的梦想往往被现实所击倒。这些年来,我们得到了一些教训:
我们的目标是远大的,方法是有缺陷的。现在是该从头再来的时候了。 访问以太坊协议如果你想要与以太坊协议交互,摆在你面前的是两个选择:
上述两个选择可以满足大多数用例的要求,但是它们位于两个极端。以太坊客户端需要消耗大量磁盘空间,花费数小时乃至数天时间进行同步,而且对 CPU 和内存的占用通常很大。中心化提供商是一种简单可靠的方案,但是要以牺牲隐私性、安全性和去中心化原则为代价。 为什么我们不能有介于二者之间的第三种选择?互联网已经证明过很多次了,在困难模式和简单模式之间,人们往往会选择后者。
我想过采用隐私保护型解决方案。然而,我的所有交易都是通过 MyCrypto 或 Metamask 完成的。这两款钱包都来自中心化提供商。它们都支持用户使用自己的节点,但是就现有的客户端来说,我认为这么做成本太高。如果我们想与这些中心化解决方案争夺市场份额,我们需要为用户提供更好的选择。 我们对客户端的要求是:
从用户的角度来说,我希望让客户端时刻保持运行,而不会影响我的设备的性能。我希望在离线一段时间后,再上线时无需等待客户端同步。 这就是我心中的 「圣杯」,是我舍命也要攀登的高峰。 钱包我们这里讲的是如何为钱包构建一个完美的客户端。钱包无处不在,而且主要由中心化提供商支持。总的来说,钱包要满足以下需求: (责任编辑:admin) |