稻粒云出品的Web3.0“域名即公钥”服务是什么?与传统DNS域名服务有什么不同?又与知名的以太坊区块链早在几年前就推出的ENS域名服务有什么不同?
我们对一些 “经常问到的问题” 编撰了以下交互问答,希望能有助于解答你的疑问。
问1:稻粒云Web3.0 “域名即公钥”(DomainName-as-PublicKey,DN-PK),及服务,都是什么?
答1:你可以为你的联网设备(智能手机、平板、笔记本、桌面电脑,…,云主机VPS,或数据中心服务器,等)注册互联网域名,又叫域名即公钥。你的稻粒云Web3.0域名即公钥就是你自己选取的一串中间不带空格的字符串,可以是任意文字、数字或二者任意搭配,例如:“不管三七二一”, “whocare3721”, “寻求真理哪怕远在中国”, 或 “البحثعنالحقيقةحتىفيأماكنبعيدةمثلالصين” 等, 都是有效的稻粒云Web3.0域名即公钥。
稻粒云Web3.0域名即公钥服务旨在向万物互联(Internet of Things,IoT)时代开放互联网中各种联网设备提供方便、安全的互联互访。稻粒云Web3.0域名即公钥服务提供了如下两种有用服务:
- 路由解析服务:你注册了域名即公钥(如 “不管3721”)的设备可从互联网用域名即公钥(如 “不管3721” )访问;
- 安全访问服务:你可通过简单操作管理控制你的设备,令它仅接受你允许的安全访问(操作方法极其简单,见问答4介绍)。
稻粒云Web3.0域名即公钥服务定位的主要服务对象为个人拥有的联网设备。
问2:域名不是Web网站才要用的吗?我的个人设备又不是网站,我为什么要用域名呢?
答2:的确传统DNS域名服务的主要用途就是访问互联网网站。相比较于IP地址,域名因简短易于人脑识别和记忆,用域名绑定网站的IP地址后,不仅方便人们访问网站,一个好的域名还有助于网站的品牌建设与推广。
然而大多数接入互联网的设备都不是Web网站,而是个人客户端设备,IoT设备,工业用IoT设备也正在互联网中占比越来越大。这些占互联网大部份额(份额还正在快速增大)的非网站节点大多数都没有DNS域名,一个无域名的互联网设备不能充分得益于公钥密码学工具可对互联网安全实施的强力保护作用。对于进入了万物互联时代的网络基础设施互联网,此现状已构成互联网安全方面一个不可忽略的短板。在接下来的几个问答中我们将对公钥密码学未能充分性地作用于保驾护航互联网安全这一现状,从审视互联网发展的视角做出讨论。
稻粒云因此将服务目标定位为个人拥有的设备,客户端设备,及IoT设备提供新的域名服务。这一定位并不是要让这些设备变成互联网网站,由于这种新域名还是密码学公钥,稻粒云Web3.0域名服务应被更准确称为“域名即公钥”服务,可让大量个人设备,客户端级设备,IoT设备注册域名即公钥,充分使用公钥密码学工具提供的安全服务,在互联网上既方便,又安全地互联互通。
问3:上面说道:大量个人设备,客户端设备,IoT设备 “不能充分得益于公钥密码学工具可对互联网安全实施的强力保护作用”,这是什么意思?
答3:公钥密码学工具可提供以下两种十分有用的安全服务:
- 基于加密的数据私密性;
- 基于数字签名的身份认证。
安全服务2 “基于数字签名的身份认证” 对于联网设备安全互联互通,互联网金融,数字支付,电子商务等需求,不可或缺。兼得此二种服务可视为充分得益于公钥密码学工具提供的安全服务。互联网安全现状:大多数客户端设备不能充分得益于公钥密码学提供的安全服务,实为安全服务2缺失。大多数客户端设备之所以不使用公钥密码学工具基于数字签名的身份认证服务,主要原因是这些设备没有互联网域名(不使用DNS域名服务),故很难对一个通信对象做出明确有意义的身份认证。在下面几个问答中我们将对迄今大多数对客户端设备不使用DNS域名服务的原因予以讨论。
问4:让我的个人设备在互联网上被公开访问?不要玩笑哦!那样我还有安全吗?
答4:你问了一个绝好的问题,个人设备在开放互联网可用域名访问,安全当然是头等重要的大事!
你给自己设备取名的Web3.0域名(以下简称W3-DN)不止可从互联网访问这一用途,还有一个更重要的用途叫做 “域名即公钥”(DomainName-as-PublicKey, W3-DN-PK):域名还是一个密码学公钥,时刻以公钥密码学安全的强度保护着你的设备,将任何未经域名主人允许的外来访问排斥在设备之外。这是因为当你在注册W3-DN域名时,稻粒云域名服务系统会要求你提交一个数字签名给系统验证。由于只有你本人唯一拥有与W3-DN域名即公钥配对的私钥(PrivateKey,在你的W3-DN设备上),仅你是唯一有效的签名者,有效是指你提交给系统的数字签名能让系统用W3-DN作为公钥验证,做出接受决策。所以也只有你本人才可授权稻粒云域名服务系统,对你注册的W3-DN域名与你设备的公钥,做出关联绑定,于是你为设备注册的W3-DN域名就同等于你(设备)的公钥,可让你方便地管理控制你的设备在互联网上的访问安全。
问5:我明白了,我给设备注册的稻粒云W3域名就是我的密码学公钥,我的设备里还有一个和这个域名即公钥配对的私钥。这种域名即公钥服务是怎样让我方便地管控我的设备,确保把未经我允许的外来访问排斥在外的呢?
答5:稻粒云W3域名即公钥服务用简单易懂的白名单原理、让你简便地操作你的设备,令它仅可被你允许的(白名单所列)访问者安全访问。举例你有设备1,你为它注册的域名即公钥叫做 “我的桌面电脑” ,你还有设备2,你为它注册的域名即公钥叫做 “我的智能手机”。如果你允许 “我的桌面电脑” 设备仅被 “我的智能手机” 访问,那你就可在 “我的桌面电脑” 设备的访问者白名单中仅放置一个域名即公钥条目,条目内容就是 “我的智能手机”。当 “我的智能手机” 请求访问 “我的桌面电脑” 时,“我的桌面电脑” 会查白名单,让自称是 “我的智能手机” 的访问请求方签发一个密码学数字签名,仅当 “我的桌面电脑” 用 “我的智能手机” 作为公钥,验证通过了请求方提交的数字签名后,访问才被接受。反过来你也可以让 “我的智能手机” 仅接受来自 “我的桌面电脑” 的访问。
域名即公钥还可用来加密网络通信,稻粒云系统的底层工作通信链路都是被链的参加节点的 “域名即公钥” 用TLS(Transport Layer Security)协议加密的。域名即公钥还可以对用户存储的数据实施加密,以保护个人数据的私密性。
问6:个人设备,客户端设备一般都不配置有固定公网IP地址。没有固定公网IP地址的设备也可以用互联网域名访问,这是怎么做到的呢?
答6:是的,个人设备,客户端类设备,甚至是IoT智能灰尘类设备,一般都不配置固定公网IP地址(dedicated IP address),一般个人是不会花钱为这种经济级设备购买或租用固定公网IP地址的。
稻粒云域名服务系统工作的网络是一个对等网络(peer-to-peer network),连接到稻粒云对等网络的设备在通信功能上都是被一视同仁对待的,稻粒云软件系统不区分一个接入稻粒云网络的设备究竟是用固定IP地址接入的,还是用临时IP地址接入的。当某个设备的IP地址发生变化时,会触发稻粒云软件系统自动操作:1. 对该设备的名称,也就是用户为设备选取的域名即公钥,2. 对该设备上变化后的新IP地址,做出二者之间绑定关系的更新。对于一个用固定IP地址联网参加的设备,其域名即公钥与其固定IP地址的绑定,从来就不会触发系统对业已存在的绑定做更新操作,而对于一个用临时IP地址联网参加的设备,这种绑定的更新操作会时常被触发,而且触发时会即刻完成,设备上的应用不能察觉系统操作了绑定更新。从逻辑上看稻粒云对等网络的通信功能,所有参加稻粒云W3域名即公钥服务网络的设备都是用域名即公钥进行通信的,IP地址的物理属性一点儿都不会影响联网设备在对等网络里的通信功能、状态与质量。
作为对比,传统DNS域名服务系统的网络不是对等网络。据我们所知,传统DNS域名服务是不能向不配置固定公网IP地址的设备(如大量客户端设备)提供的。就算对配置了固定公网IP地址的设备,传统DNS域名服务还要求域名用户(身怀不俗的网络技术技能)操作细节繁琐的网络配置,才可把一个DNS域名绑定到域名用户(购买或租用)的固定公网IP地址。
问7:等今后IPv6技术普及了,IPv6地址就不再稀缺了,个人用户的联网设备也都会有固定公网IPv6地址了吧,还需要稻粒云域名技术在互联网范围连通个人设备吗?
答7:今后IPv6技术变得普及了,很可能个人用户会有专属个人的固定公网IPv6地址,这是因为IPv6地址作为长度为128比特二进制数串,地址的数量将超过已知宇宙中夸克子的数量,足够让个人用户有多个自己专有的IPv6地址。由于IPv6地址的随机程度远大于IPv4仅为32比特二进制数串的,既然连IPv4地址都需要用易于人脑识别记忆的域名配套使用,IPv6地址就更需要绑定到域名了。所以IPv6技术的普及对互联网域名行业一定是一个巨大利好。
问8:用户在注册稻粒云W3域名即公钥时,一般会选取一个易于人脑识别记忆的,远比公钥简短的字符串作为域名即公钥吧,那么稻粒云提供的域名即公钥服务不就把密码学公钥也变成易于人脑识别记忆的字符串了吗?
答8:是的,为安全起见,密码学公钥通常都是很长的一串随机数串(稻粒云系统使用的公钥算法叫做BN256,该算法的公钥长度为4096比特二进制数),不适人脑识别,更别说记住它了。稻粒云域名即公钥服务在用户注册域名时会把用户自选的域名绑定到用户的公钥。用户注册域名时一般会选取便于识别,容易记忆的,尤其要选简短的(如“不管3721”)字符串作为域名即公钥,以方便使用。
类似问答6介绍的稻粒云Web3域名服务的用户无需为自己的设备购买或租用固定公网IP地址,使用稻粒云W3域名即公钥服务的用户也无需为自己的域名即公钥购买传统公钥所需的CA权威证书(Certification Authority PublicKey Certificate)。让我们重温问答4举例的两个域名即公钥情况,“我的智能手机”,“我的桌面电脑”,都是你自己选取的域名即公钥,你在注册这两个域名即公钥时,出于理性应该会选取容易识别、记忆、简短的名字(问答4举例的这两个域名即公钥恰是这样)。于是你完全没有必要让一个所谓 “可信” 权威CA第三方为你自己取名的,简短易于识别记忆的域名即公钥颁发什么CA权威证书。(更别提花钱购买!)
问9:问答8中提到的CA权威,CA权威证书,这些都是什么?
答9:由于公钥是一个很长的随机字符串(稻粒云系统使用的公钥长度为512比特),完全不适宜于人脑识别、更别提记住。公钥密码学出现后不久就出现了一个CA公钥证书颁发(服务)行业,规定CA(Certification Authority)是一类让全体公钥用户 “无条件信任” 的权威,CA用数字签名方法向公钥用户颁发CA证书,将用户的随机公钥绑定到用户的可识别名字,也就是公钥用户的DNS域名。由于CA权威数量的很少,识别CA的公钥被假定是可操作的,于是通过逐级自顶向下验证数字签名手段(自顶从验证CA签名起始),基于数字签名身份认证就可逐级操作到每一个(购买了CA公钥证书服务的,还购买了DNS域名服务的)公钥用户。
这种 “无条件信任” 自Web1.0时代伊始至今一直存在着争议,更说不清道不白的是让这种信任向第三方传递。其实一个可信任的组织首先要有可识别的品牌,更重要的是该组织要对自身品牌持续作出维护。简单靠一个 “可信权威第三方” 对一个组织(DNS域名)收费颁发一个CA证书,向其他第三方传递对该组织信任,是一种十分粗糙的手法。或许也因此缘由,传统CA证书行业很难有希望打开天量存在的个人用户市场,个人用户的设备连一个固定IP地址都没有,更没有互联网域名,怎么会去购买CA证书把一个公钥绑定到不存在的域名呢!(域名投机炒作者除外。)
问10:是不是可以对稻粒云域名即公钥服务作出如下理解:把一个客户端设备升级成一个受安全https协议保护的网站服务器了?
答10:如果仅看联网设备受安全保护的力度,稻粒云域名即公钥服务,https安全协议,这两种技术都向联网设备提供基于公钥密码学强度的安全保护。然而用安全https协议比拟稻粒云域名即公钥服务则是不准确的。稻粒云域名即公钥服务试图满足的用户需求是https协议所不能及的。
首先这两种技术在设备适用对象的定位上很不同。安全https协议适用的设备:在客户端主要是网页浏览器,在服务端则是网站服务器。而大量个人设备,IoT设备需要联网,在客户端(连接请求端)若用浏览器就太笨重了,更别提在服务端(服务应答端)采用网站服务器这么沉重无比的东西了!网页、网站要考虑的东西,如高清晰度像素,动态快速反应等处理,都不是个人设备,IoT设备联网所看重的。简单讲,大量个人设备,IoT设备都不会以网页浏览器方式出现在客户端,更不会以网站服务器方式出现在服务端。所谓网站,其实只是互联网全部节点的一个很小子集,互联网上大量联网设备(格外个人设备)都不是网站,这些不是网站的设备都需要方便安全地在互联网范围互联互通。
稻粒云W3域名即公钥服务定位的服务对象就是大量不以网页网站用途联网的个人设备,让它们不仅可用域名方便地联网,还可用域名即公钥得到安全保护,时刻排斥未经允许的外来访问。为此,稻粒云软件专门设计为极其轻量级。问答27我们将给出一个详尽分析,对稻粒云软件消耗设备资源的最重头部分(也就是区块链部分)说明其使用设备资源的轻量程度。
问11:传统DNS域名是有规定格式的,稻粒云出品的这种新域名是没有格式的,这是为什么?
答11:传统DNS域名如 hostname.example.tld 要求域名有层级格式(格式的最右边 tld = top-level-dn,顶级域名,com就是最著名的顶级域名),而稻粒云Web3域名(即公钥)是无格式无构造的,当然我们也可以把这种无格式无构造的域名理解为有着传统DNS域名层级构造最底层 hostname “设备名” 的单层构造。传统DNS域名必须遵从层级格式构造,是为了满足DNS域名服务系统的如下设计需求:DNS设计将系统的解析服务提供设施部署为一个树状层级构造,可令DNS解析算法利用树形自顶向下递归执行而提高执行效率。然而这种对服务设施作树状层级部署,决定了传统DNS解析必须依赖一些关键或特别服务点提供服务。众所周知DNS域名服务有一种 “让你从互联网消失” 说法的域名攻击,还有所谓 “缓存污染攻击”,皆指攻击者将DNS域名服务系统中提供关键解析步骤的一些特别服务设施瞄准为攻击目标,令其失效的一类域名攻击。这种令传统DNS关键、特别服务设施失效的攻击是经常发生的,有时攻击者居然还就在服务提供方内部,攻击范围甚至大到国家规模(tld = country code,国家域名)也是真实发生过的。
对于无构造的稻粒云域名,路由解析算法是在对等(peer-to-peer)网络里工作的,这种解析服务具有物理上广泛分布的,冗余度极高的对等网络服务提供,对等网络中不存在任何关键或特别服务点,故消除了传统DNS域名服务因存在关键特别服务点失效而带有的不可靠性(特别是可攻击性)。
问12:既然稻粒云W3域名可看作为传统DNS域名如 hostname.example.com 最底层 hostname 的单层构造域名,那么如果我注册了 “不管三七二一” 这个单层稻粒云域名后,不管三七二一.dns 不也就变成一个传统DNS域名了吗?
答12:你对传统DNS域名服务是怎么工作的,理解非常准确,当dns是一个传统DNS域名,w3dn是一个稻粒云W3-DN新域名时,则 w3dn.dns 就是一个传统DNS域名,现有浏览器、操作系统里的DNS服务软件是直接支持对这个DNS域名做解析的。所以当你用带有传统DNS域名的联网设备来参加稻粒云网络时,你就可以为许多稻粒云W3-DN域名即公钥兼容提供DNS解析服务了。
不过这种兼容传统DNS域名服务的用法,不是稻粒云出品W3域名即公钥新网络服务的志向。传统域名服务的主要应用场景是用域名访问互联网网站。显然“互联网网站”只是互联网全部节点的一个很小子集,互联网里远比网站更多的大量节点(格外含个人联网设备)都不是网站,这种大量不作网站用途的节点也需要方便安全地用域名互联互通,才是稻粒云W3域名即公钥服务定位的目标服务对象。
问13:知名区块链以太坊(Ethereum)早在几年前就推出了ENS(Ethereum Name Service)的新种类域名服务,业界有人认为ENS是一种具有Web3.0意义的域名服务。稻粒云Web3.0域名服务与ENS域名服务,又有什么不同?
答13:这个问题其实提问了两个子问题:子问题1:什么是Web3.0?子问题2:稻粒云Web3.0域名即公钥服务,与具有Web3.0意义的以太坊ENS域名服务,有什么两样?由于子问题1具有一定的开放性,让我们在接下来的几个问答中先对Web3.0,Web3.0域名及服务,这些新名词做出名词解释及我们的解读。我们还要将子问题2的主要回答部分推延到问答25给出。在这里我们仅对子问题2比较易于分辨的部分做出讨论回答。子问题2比较易于分辨的部分为:稻粒云Web3.0域名即公钥服务的服务对象及服务价值理念,与ENS域名服务的服务对象及服务价值理念,有什么不同。
稻粒云W3域名即公钥服务对服务对象的定位主要为个人设备,客户端设备,IoT设备。迄今为止此类设备通常不使用域名表达在互联网上的存在,也不使用基于CA证书的公钥管理、控制设备的安全访问(实为一律拒绝任何外来访问请求)。稻粒云W3域名即公钥服务的价值理念:旨在让大量个人设备有互联网域名,方便它们用域名联网互通,让个人用户使用域名即公钥管理控制自己设备的安全访问策略。
ENS域名服务的对象(以我们的理解)主要为以太坊区块链的钱包。最易懂的服务价值理念应该是:在以太坊钱包之间操作以太币转账,若使用钱包的域名,将远比直接使用钱包的密码学地址(一串很长的随机字符串)要来的方便且不易出错。依我们所能分辨,ENS域名服务提供的这种用户价值,和传统DNS域名服务提供的价值,似乎没有什么两样。
我们注意到ENS服务允许一个 “钱包.eth” 域名和一个互联网网站形成绑定,绑定后的网站可用 “钱包.eth” 域名访问。还是依我们所能分辨,这种用 “钱包.eth” 域名绑定网站(考虑绑定是服务),与传统DNS域名服务的主要服务价值与功能:绑定DNS域名和网站,也似乎并没有什么两样。当然由于 “钱包.eth” 域名的注册是基于区块链技术的,而区块链存储具有高冗余分布,这种域名不容易消失。我们需要指出:以太坊区块链本身并不提供互联网网站的冗余、可靠、抗制裁属性的托管服务。在后面问答中我们将会讨论,迄今知名的区块链公链(含以太坊区块链)因运行、使用成本很高,完全不适用于网站的托管服务。据我们所知,至今尚不存在普通用户用得起的,基于区块链公链技术的,用户通用数据抗制裁、防灭失服务。如果你不是一个特权人士(超级富有?),你用“钱包.eth”域名绑定的网站还是可能会消失的。在普通用户看来,ENS域名服务并未摆脱Web2.0时代的属性。
在问答25我们将对ENS域名服务的其它性质予以进一步讨论。
问14:Web3.0究竟是什么?和我有什么关系?
答14:万物互联(Internet of Things,IoT)时代已经来临,个人、家庭、组织会越来越多地拥有各种各样的联网设备,涵盖从手持、可穿戴、居家智能用品,等智能 “灰尘”,到车载、智能办公、物联网、公用服务,智慧城市,…,乃至元宇宙,等无所不在的联网设施。你一定会需要,并会越来越多拥有,万物互联设备。因此你也将会有越来越强的需求为你的万物互联设备取名,让它们可以通过你给它们取的名字互联互访,让你方便有效地管控它们可被访问的安全策略。域名就是联网设备的网络身份,当你拥有越来越多的联网设备时,你的设备需要的网络身份即域名当然也就是你需要的域名。那么我们为什么要给你需要的域名冠上Web3.0之名呢?
当今已存在多种,可称之为Web2.0时代的,网络服务提供商,已经在他们各自提供服务种类的范围内让你 “拥有” 各种不同的Web2.0网络身份。此处我们对你 “拥有” 各种Web2.0网络身份打上了引号,是因为这种“拥有”可包含至少三层非褒义的意思或解读,第一层 “拥有” 的非褒义解读还算是比较温和的:你的Web2.0网络身份是碎片化的,一个身份仅在一个Web2.0网络服务商的服务范围之内起作用,这种碎片化的网络身份,因把互联网割裂成了互不相通的碎片,缺乏用户友好性。第二层 “拥有” 的意思就带有不太受欢迎的含义了。你的IoT联网设备,与迄今为止的互联网主要用途:网站,十分不同。网站的通常用途为品牌、社交影响力的建设、滋养与推广。而对个人拥有的IoT设备而言,隐私,匿名属性的安全则是至关重要的,对于个人IoT设备(设想可穿戴私密设备),极少有人会上Web2.0网络服务商给自己的私密设备取名字,让服务商提供网络连通服务的。第三层“拥有”的解读就是对 “拥有” 作出简单证伪:你的Web2.0网络身份实际上真实是被Web2.0网络服务商拥有的,属于其可为己牟利的重要资产;你的这些Web2.0网络身份还可能因某种不良原因(如被服务商制裁,又如服务商灭失)而消失。
而基于区块链公链技术的网络身份之所以可冠名以Web3域名,盖因你拥有的这种新型网络身份,不仅可在整个开放互联网的范围解析路由至你的设备,而且还是完全彻底由你自己真正拥有的、可用于掌控、管理你的联网设备的安全访问的。你的Web3.0域名是真正属于你自己的数字资产,在使用范围上不受碎片化服务提供商所阻挡,也绝不会因你之外的原因而消失。在问答16我们将对稻粒云Web3.0域名可让你的任意多个客户端或IoT设备互联通信的 “傻瓜” 易用程度,做出一个简单明了的演示。
显然这样的Web3域名必须在整个开放互联网范围具有唯一性,否则不仅不能正确路由至唯一的域名注册设备,利用域名即公钥管控你的设备被安全访问就更无从谈起了。为确保唯一性,Web3域名的注册遵从先来先服务的原则。一个好的域名还应该是简短的,易于人脑记忆因而便于使用的。在取名、命名时,许多人会选取带有个性化喜好,易于品牌推广、有自认或公认美感、品味、新意的、有特殊纪念意义、有鲜明专属特点,等属性的名字。所以,注册稻粒云Web3域名,注册好的域名,你要赶早!先注册,先拥有!
问15:为什么很少见到个人使用互联网域名?
答15:个人联网设备如智能手机,桌面或笔记本电脑等客户端设备,用域名在互联网上表达存在的情形的确不常见。让我们来看看,为了在互联网上有一个路由可及的DNS域名,你都需要做些什么。1. 你当然先要购买域名;2. 为了使用域名,你还要为你的(可能是多个)联网设备租用固定的公网IP地址(Dedicated IP Address),为此你很可能还需要租用云主机;3. 你还须具备颇为复杂的网络专业知识,甚至身怀不俗的网络技术技能,将域名和你的云主机固定公网IP地址做绑定,配置路由路径,让网络包在你的云主机与你的设备之间得到转发。如果说条件1,2只不过是花一点钱就能搞定的事,而条件3就超出了绝大多数个人用户的能力所及。对绝大多数个人用户而言,能在互联网上有一个可见的名字,盖因使用了网络服务商提供的服务。网络提供商的服务是碎片化的,当万物互联网络覆盖规模变大时,碎片化的商业网络服务提供方因各自为阵各守一方,很难在整个开放互联网范围向个人用户提供跨服务商质量的域名服务。在万物互联的互联网时代,广大个人用户需要在整个开放互联网范围使用优质域名服务,正是这一需求带来了Web3域名这一新生事物的出现。
问16:Web3域名的出现会改变个人设备不用域名这一现状吗?
答16:我们相信一种十分方便注册与使用的域名会吸引许多个人用户注册并使用。让我们来看看注册、使用稻粒云Web3域名是一件多么简单的事。你不需要购买域名、不需要租用固定公网IP地址,也不需要做任何复杂的配置工作。你所要做的就是下载稻粒云软件到你的设备上跑起来,你就可以为你的设备注册稻粒云Web3域名了。让我们举例说明稻粒云Web3域名的易用性:当你注册了一个Web3域名,让我们还是管它叫 “不管三七二一” 吧,以下简单方法可验证你的 “不管三七二一” 设备在整个互联网范围的可访问性(假定你设备上跑稻粒云软件的目录名为 $PWD/,当前工作目录),你可在该目录下编辑文件 $PWD/.web3,文件内容为你愿意对外公布的任何文字,比如:你好世界!Hello World! 于是你或你的朋友,就可以从互联网上看到你 “不管三七二一” 设备上,$PWD/.web3 文件的内容了,就这么简单!
稻粒云W3域名服务的目标服务对象为个人客户端设备,IoT设备,乃至智能灰尘,故稻粒云软件系统专门精心设计仅需消耗微不足道的设备资源便可正常运行稻粒云软件。在轻量级客户端设备上跑稻粒云软件,用户不会察觉到有什么正在消耗设备资源的动静。我们相信,稻粒云Web3域名对于个人客户端设备、IoT设备、智能灰尘的有用性,以及W3-DN域名服务的易用性,会让广大个人设备的用户看到价值,会吸引越来越多的个人设备使用Web3.0域名。
问17:当我注册了一个我喜爱的Web3域名后,别人还能再注册我的Web3域名吗?
答17:你成功注册的Web3域名是你独自拥有的,任何别人都不可能再注册你已成功注册的Web3域名。这是因为Web3域名是一个W3-DN-PK域名即公钥,你的域名即公钥配对了一个你独自拥有的私钥。当你注册W3-DN-PK域名时,稻粒云系统会要求验证你(实为你的设备用你的私钥)对该域名签发的数字签名。因为只有你才拥有你的域名即公钥所配对的私钥,显然任何别人都无法签发能满足系统验证的数字签名(系统用你的域名即公钥验证),他(她)当然也就不能再注册已被你成功注册的Web3域名了。
问18:注册和使用稻粒云W3-DN需要付费吗?
答18:稻粒云W3-DN的注册是免费的。W3-DN的使用条件基于一个具有十分简单规则的智能合约管理。 稻粒云关于W3-DN使用的智能合约有以下两个简单规则:
- 免费规则:你保持使用你的W3-DN域名。“使用” 是指:任何人(当然可以是你自己)从互联网上用你的W3-DN域名路由到你的域名注册设备,比如看一眼你设备上的 $PWD/.web3 文件内容。“保持使用” 是指在一个固定时间期间内至少使用一次。当前智能合约规定 “保持使用” 的时间期间为7天。
- 付费规则:你长期持有域名但不按规则1保持使用:智能合约规则细节将于今后商业服务版发布。
由于稻粒云Web3.0软件的运行成本非常低廉(问答19-22专门详细解答说明区块链公链的运行成本问题),我们相信稻粒云域名即公钥服务的免费使用将是可持续提供的。付费规则是为了防止所谓的“域名蹲坑”,即注册域名并不是为了万物互联用途,而是为了抢注、投资、转卖域名获利。故今后付费规则很可能会遵循市场竞价,出价高者得的原则。当然基于此原则的智能合约必将会是公开透明的。
问19:为什么不简单利用目前已有知名的公共区块链,如以太坊?
答19:已知公共区块链(Public Blockchain,以下简称公链)不幸皆存在使用费用日趋昂贵的问题。现有公链在区块链的出块层(也称区块链第一层,Blockchain Layer-1)皆采用基于竞争模型的出块算法。最知名的两个公链,比特币、以太坊,皆如此。比特币用工作量证明(Proof-of-Work,PoW)算法出块,竞争形式为PoW矿工在算力上进行拼比。以太坊2.0版本计划用的权益证明(Proof-of-Stake,PoS)算法出块,竞争形式为PoS权益拥有者(亦为风险承担者)对量化的权益拥有(对应风险承担)进行叫价。所谓 “公链” 是指参加出块竞争是开放不受任何约束的。由于不受约束的开放竞争必然愈来愈烈,所谓无需许可参加出块实际上受到了你有多少金钱的许可。已知公链的确无一例外皆遇到了日趋高昂的出块成本,当然这些公链的出块成本最终全由用户承担,如以太坊用户须支付日趋昂贵的Gas费,以补偿PoW(以太坊1)、PoS(以太坊2)有钱而能够参加竞争的出块者已付出的高昂成本开销,外加须赚取的利润。
迄今公链的出块算法在知识与实践上已多年停留于开放竞争模型。业界已形成普遍认识:开放竞争的公链出块模型因出块成本日趋增高,从长远看是不可持续的。公链的高成本现状也造成其在应用方面建树有限,使用成本的居高不下要求公链用户须对使用价格不敏感。已知成功公链也确实发现了几种价格不敏感用例,不幸皆呈现易于炒作(甚至导致公链对这些用例收取的服务费也经常发生剧烈波动)等不良属性(如炒币,炒NFT等)。
问20:关于公链的使用成本居高不下这个老大难问题,稻粒云是怎么解决的?
答20:让普通个人用价格低廉的个人设备,如桌面或笔记本电脑,智能手机,IoT万物互联设备,参加区块链的出块,是稻粒云区块链降低链运行成本的关键要领。稻粒云是一个真正无需许可(truly permissionless)参加、公平(fair)参加的公链。真正无需许可参加是指:区块链不存在一个账户管理系统用于管理参加者的身份。比如你参加稻粒云链时,你不需要事先注册一个账户,你离开稻粒云时也无需让稻粒云系统知道。而知名PoS公链,如以太坊2.0版,Solana,Algorand,Cardano,等链,皆非真正无需许可参加的区块链,参加这些链的出块皆须事先取得(门槛相当高的)准入资格。公平参加是指:你可以用任何种类的设备参加稻粒云,可以用价格十分低廉的客户端设备,如桌面或笔记本电脑,智能手机,IoT万物互联设备参加,也可以用服务器设备,如云数据中心服务器、云虚拟机参加。用什么(廉价或昂贵)等级的设备参加稻粒云,参加设备在出块层的工作都是同等的,不会因为参加设备的功能强弱而有什么区别。我们要专门指出稻粒云的一个特别设计:不在出块层奖励参加节点的出块服务。不奖励出块这一稻粒云特性,可有效避免机构参加者以牟取投资回报为动机,却常陷入一些易于炒作的应用为结局,前来参加稻粒云链的出块。此举可让稻粒云链避免遭受易于炒作应用的困扰。
问21:为什么说一个公链可公平参加,这一性质很重要?
答21:让我们先从公链的安全性与可靠性来讲这个问题。一个可公平参加的公链由于参加门槛很低(稻粒云的参加门槛低至实际上没有门槛),可接受大量参加者,故可被称作为真正无需许可参加的区块链。参加稻粒云并在出块层工作,既无需算力也无关金钱,你可以使用价格低廉的电脑参加稻粒云,你的低成本参加节点和其他参加节点(不管其它参加节点多么高大上,多么孔武有力)具有完全同等的出块能力。这种真正无需许可参加的区块链允许接纳大量参加者连接,可将链出块共识算法分散到一个很大的物理网络地域范围,可大为提高链的分布式安全性和冗余可靠性。
同等重要地,我们还要强调一个公链须对广大用户提供有用的应用。我们认为,用Web3域名命名,路由至,安全管控,用户的万物互联设备,是一种非常广泛有用的需求,甚至可称之为刚需。显然一个提供这种刚需服务的公链,必须要能以很低的成本运行,才能长期维持这种刚需服务,才可被广大用户接受和使用。
问22: 稻粒云作为一个非许可参加的公链,是怎么降低运行成本的?
答22:稻粒云的出块算法得益于一种我们称之为 “GoUncle” 的技术:作为一个无需许可参加、可公平参加的公链,稻粒云的参加者数量很容易变得非常庞大,其中还很可能混入不少叫做女巫(Sybil)的假冒参加者,但稻粒云的全部参加者总是能在每一个区块高度,为一个十分简单的事项,达成全局的模糊共识(fuzzy consensus):全体参加者选出一组数量有限,因而可有序工作,身份随机的 “uncles”,由他们有序地为该区块高度出块。GoUncle共识选取随机uncles的原理基于一个哈希表(hash table)算法,稻粒云技术介绍网页 https://daolicloud.com 提供了 “GoUncle” 技术原理介绍以及详细说明。
问23:当一个公链的出块不再有一个基于竞争的激励机制,谁还愿意参加区块链出块?
答23:一个公链,如果出块算法的开销很低,低至参加出块设备上的其它应用不能察觉该设备正在参加公链的出块,则大可不必在出块层(Layer-1)收取费用。举例稻粒云:参加出块只不过就是在电脑上跑稻粒云软件,等候机会被随机选中为uncle之一。一个中选的uncle,在出块上要做的事,只不过就是对一个区块做数字签名,或验签区块的数字签名。这种形式的出块并不会产生什么不得了的开销支出。链在出块层不收取出块费用,参加者(参加节点)仍然可以是众多的,而且还可以是持续众多的。这是因为当一个公链支持真正无需许可低成本参加时,你的链参加与顺便出块行为将会出于 “给予与接受”(give-and-take)的主动意愿:在顺便提供出块服务的同时,你还是该公链Web3服务的享用者,而作为链服务的享用者,你当然须让自己的设备保持处于连接着链的状态。当然一个真正无需许可低成本参加的公链,还须提供能吸引用户的应用。是有价值的应用才能让参加者出于主动意愿让自己的设备持久连接该公链以享受应用。在下面问答26中,我们将介绍稻粒云的一个简单且有用的应用:个人云。
使用云数据中心服务器参加稻粒云的参加者则应该额外还能在链的应用层提供增值服务,收取服务费用,如提供Web3路由服务、数据存储服务等。由于广大使用经济设备参加稻粒云的用户既需要Web3域名解析服务,也会需要云存储服务,使用云数据中心服务器参加稻粒云的参加者应该会有诸多机会发现各种有效的,收取服务费的商业模式。
问24:价格低廉的电脑一般都不配置有固定的公网IP地址吧?为什么没有固定公网IP地址的设备也能像数据中心云主机那样可被互联网用户访问,可向区块链及其用户提供服务呢?
答24:价格低廉的电脑,如个人台式、笔记本电脑、或智能手机等移动设备,一般是不配置有固定公网IP地址的,个人设备的拥有者一般不会花钱为客户端设备租用固定公网IP地址,也不具专业技术能力对网络连接做出正确的配置。
当你的(低成本客户端)设备连接上了稻粒云后,你就可以为你的设备注册一个稻粒云W3-DN域名了。有了W3-DN域名,你的客户端设备就变得像云主机一样,可在互联网上被安全可靠地访问到了。访问的路由是稻粒云Web3域名解析服务提供的,链系统会把你注册的Web3域名实时绑定至你设备上的临时公网IP地址(Ephemeral IP Address)。稻粒云还会实时动态感知到你的客户端设备上的临时公网IP地址可能会发生的变化,当系统感知到一个注册了Web3域名的设备,其临时IP地址发生变化时,会即刻将该Web3域名更新绑定到设备的新临时公网IP地址,用户不能察觉到偶尔会发生的Web3域名-IP地址的绑定更新。总之在网络功能上,你的客户端设备,只要注册了Web3域名,就变得与数据中心云主机完全一样,可被互联网上的用户安全可靠地访问到了。所以,稻粒云的Web3域名解析服务,是一种很有价值的网络服务,让你的经济级别的参加设备升级成为一个万物互联意义上的互联网节点。比如你可为在互联网上分布的若干机器分别注册Web3域名,用这些Web3域名为这些分布的机器构造一个虚拟私有网络。
问25:以太坊也有一个域名服务系统 Ethereum Name Service ENS,稻粒云Web3域名服务与以太坊ENS域名服务有什么不同?
答25:以太坊ENS域名服务实际上并未真正摆脱传统域名的自顶向下层级结构路由解析算法的本质,该服务并不具有Web3.0的真正意义。让我们从以下四个方面对我们的此番声称做出讨论。
- 先看ENS域名构造。ENS域名服务系统有一个顶级域名后缀 “.eth”,这个顶级域名,与传统域名一样,是一个中心定义的关键服务点。ENS域名的解析服务也与传统域名的递归解析构造一样,从根域名、顶级域名开始,逐级向下递归解析,至以太坊区块链的一个钱包。
- 再看ENS域名注册的方式。以太坊无论PoW版或PoS版,事实上都属于设有相当高准入门槛许可参加的链。链的服务提供方(出块者)有着很强烈的需求向以太坊用户收取服务费用以补偿在高门槛准入方面做出的先期投入。ENS有一个用户账户管理系统,需要注册ENS域名的用户须先在该管理系统上创建一个账户,也就是须先将自己的身份信息输入至用户管理系统,充值付费后方可成功注册一个ENS域名。ENS域名注册的用户大多会使用刷银行卡方式付费。很不幸这种付费方式简单地破坏了个人用户的匿名安全。
- 我们再分析ENS域名解析服务的真实用途。我们注意到了以太坊ENS提供了某种手段让ENS域名(如“钱包.eth”)绑定一个网站,绑定了“钱包.eth”域名的网站当然可用“钱包.eth”域名访问。由于以太坊钱包多为个人所有,绑定了“钱包.eth”域名的网站也自然多属于个人网站。互联网上开网站,自Web1.0伊始迄今,就是以建设、滋养、推广品牌 与/或 社交影响力为主要动机和功能的。个人网站应该坦然享用已经形成规模,人气旺盛的Web2.0网络提供商的服务,而非孤零零地用“钱包.eth”域名在互联网上表达存在感。所以ENS“钱包.eth”域名的真实有意义用途还是(如我们在问答13分析的)传统DNS域名的典型用途:以太坊网络内部钱包用户转账以太币时,用“钱包.eth”域名比直接用钱包地址方便。而用“钱包.eth”绑定一个以太坊网络外部的个人网站,很难说不是一种伪需求。
- 最后让我们讨论ENS域名价值方面的事。以太坊昂贵的Gas服务费决定了以太坊ENS服务很难在开放互联网形成有规模的提供。对于广大普通用户来说,就连注册一个ENS账户的费用,都属于用不起,或不被认为物有所值的一笔花费。当然与传统DNS域名一样,ENS域名也有所谓 “域名抢注蹲坑“(Domain Name Squarting)的投资用途,此类域名的注册者应该会认为ENS收取的Gas费是物有所值的。此类用户在注册ENS域名时,当然应该选取宜于品牌建设推广的域名,而匿名性,隐私性,皆非考虑选项。然而我们前面讨论过ENS“钱包.eth”域名的真实有意义用途是为在以太坊网络内部方便转账(仍然是传统域名的典型用途),于是“钱包.eth”域名的匿名性就十分重要了,ENS域名抢注蹲坑者在抢注域名时,要选取既简短又带有匿名性的“钱包.eth”域名抢注,不然等到今后卖出域名时,不匿名的“钱包.eth”域名谁要呢?
作为一个真正的无许可参加的,可公平参加的公链,稻粒云Web3域名服务系统也是无需许可注册的。稻粒云不存在一个中心账户管理系统,也不存在任何方式,可让用户通知稻粒云,比如:“报告系统我是谁人,我要注册Web3域名,为此我有这样那样的付费方式“。稻粒云绝无,也绝不需要,这等破坏用户身份匿名的事情。一个用户在注册稻粒云Web3域名时所要做的全部事情就是匿名下载稻粒云软件到自己的设备上跑起来,就可为设备注册Web3域名了。注册稻粒云Web3域名时,用户仅会受到的唯一限制就是:选取的字符串必须是尚未(被其他用户,或该用户自己)注册过的,一个已经注册过的Web3域名,重复注册将会返回注册失败消息。
因为稻粒云不存在一个管理用户账户或身份的中心系统,故稻粒云也不存在一个收费系统用于管理用户的付费账户。注册一个稻粒云Web3域名是不需要付费的(详见问答18智能合约规则1,免费规则,优先适用)。然而用户若要长期拥有一个Web3域名,并使用稻粒云Web3域名解析服务,今后稻粒云会以智能合约的方式(规则2,付费规则)向用户收取维护费以及解析服务费。由于稻粒云的运行成本非常低,故收取的服务费也会将维持在一个大众用户都能用得起的价格。
稻粒云Web3域名与ENS域名的另外一个显著不同之处在于:稻粒云Web3域名还是域名注册设备的公钥,可对设备上存储的数字资产实施公钥密码学强度的保护,如加密数据,验签数字签名,等。公钥加密与数字签名功能,可让Web3域名网站得到非常强的安全保障,而且当提供安全保障的公钥与易于人脑记忆的Web3域名一致时,则一个注册了Web3域名的,可从互联网路由访问的设备就同时具备既安全又易用的性质了。
问26:个人云是一种什么样的云?
答26:至此我们已经看到稻粒云Web3域名即公钥服务可以:1. 让你管控访问你个人设备的安全访问策略:如,访问请求方必须出具一个数字签名,能通过你用访问方的Web3域名即公钥进行的验证;2. 让你对存储在你设备上的数据用Web3域名即公钥进行加密保护;3. 你可从互联网用你注册的W3-DN域名安全访问你的个人设备。你的个人联网设备,比如你放置于家中的一台个人桌面电脑,在这三种属性的服务下实际上具有数据中心云主机或云虚拟机的完备功能。所以有了稻粒云W3域名即公钥服务,你的个人桌面电脑实际上就是一个云服务器,故可称之为个人云。与商业云服务不同,你的个人云是一台在物理上隶属于你的硬件设备,你对这样的个人云有着完全彻底的信任。于是稻粒云Web3就有如下新用例:你在旅行中用手机拍摄、录制的大量照片,视频,制作的文件等,皆可实时,方便,安全,可靠地存放到你家里的个人云上(稻粒云的数据通信传输链路是被TLS协议加密的)。从手机上传数据到你放置于家中的个人云,安全访问控制就是我们在问答5中举例说明的白名单策略:你的个人云仅接受你的手机W3-DN-PK域名即公钥的接入请求与上传数据操作。你的个人云在安全上除了受到稻粒云Web3域名即公钥服务的保护,还在物理硬件上让你完全放心,因为个人云就放置在你的家中。与商业云存储服务不同,你个人云在物理上隔绝了(不可信的)商业云内部人员的接触,商业云内部人员具备技术能力与手段,可能(违规)接触你在商业云上存储的数据。
问27:用一个廉价设备参加稻粒云贡献出块服务,该设备须配置多大的存储空间用于分布式存储不断增加的全部区块?
答27:稻粒云设计为约每5分钟出一个区块。一个区块的基本构造为:出块节点的公钥值,数字签名值,哈希值,这些值皆为256字节大小,故每个块为存储出块节点自身数据的空间需求在千字节(Kilo-Byte)范围内。区块的载荷项(Payload)数据仅记录Web3域名注册请求,每个Web3域名注册请求的构造也为:注册方的域名值,公钥值,签名值,哈希值,故每个块为记录每个Web3域名注册请求所需的总共存储空间大小也在千字节范围。以每块记录约10个Web3域名注册请求计算,每个块的总计数据存储空间需求在11千字节大小范围。于是运行区块链一百年,节点为存储全部区块而须准备的存储空间总量可计算如下:100(年) x 365(天) x 24(小时) x 12(5分钟) x 11(KB) = 115,632,000 KB,约为116千兆字节(116 GB,Giga-Byte)。当今较低端的笔记本电脑,甚至智能手机,的存储配置,当然可绰绰有余满足此存储空间需求。