SpringEmail春邮:如何设计一个可支付的区块链安全邮箱?

区块链资讯 发布在 区块链 2 4590

Businessman drawing E-mails concept on blurred abstract background

 

1 春邮和BiSMTP协议简介

 

关于春邮:春邮希望通过Blockchain的协议和现有互联网邮箱协议(SMTP)的融合,来极大的提升加密货币的易用性和扩大加密货币的使用用户群体和使用场景,来实现量子链Qtum关于价值传输协议的设想,并且实现互联网上面的一种无缝的支付体验。在Qtum的白皮书中,Qtum创新性的提出了价值传输协议的概念(VTP协议:Value Transfer Protocol),通过智能合约内嵌到协议层,以及结合万维网的现有标准,来实现一种融合现有TCP/IP协议栈的区块链支付协议,并且该支付协议将带来更多的智能和更多的商业可能性,实现一种无缝的互联网支付体验。

Snip20161223_6

关于BiSMTP协议: (Blockchain integrated Simple Mail Transfer Protocol),基于区块链的简单邮件传输协议,是Qtum团队提出的一种融合区块链技术和现有邮件协议的一种融合性协议。通过该协议,用户可以使用邮箱发送和接受小额数字货币,该协议会拓展现有SMTP的协议栈,通过一种标记语言,来发送和接受加密货币,并且拓展mail server的功能,使mail sever 可以处理这种标记语言,从而实现通过邮件来收发小额的数字货币,并且可以广泛应用互联网上面的支付场景。

使用数字货币时,用户通常都需要下载钱包客户端,或者使用线上托管钱包。下载钱包客户端意味着用户需要同时下载整个区块链数据才能正常管理自己的财产。托管钱包可以为用户提供更多便利,包括避免用户下载日益曾长的区块链数据,以及更多的线上扩展功能。

我们在这里为用户和社区提供另外一种可能,同样在不需要用户下载完整的区块链的情况下完成数字支付功能。我们为用户提供基于传统电子邮件体验的数字钱包,以及为社区提供基于Qtum网络的电子邮件方案。

SMTP是互联网的经典电子邮局协议,我们的目标是在分布式的Qtum网络中实现经典电子邮局的功能,并将经典的电子邮箱进一步抽象,扩展为BiSMTP协议。

 

2 重新定义邮箱

 

传统电子邮箱地址,例如spring@coco.info,由两部分组成:
 邮箱ID(帐号):spring
 邮箱服务器名:coco.info
其中邮箱ID仅限于域coco.info有效。我们将继承这种标准地址格式,但其含义将被重新定义,同时保证兼容传统电子邮箱,兼容传统的电子邮件客户端。

在Qtum网络中,电子邮箱地址与上面传统格式相同,但每部分所代表的意义有所变化。例如地址1PkyncFDsXmcg6pnPUvNJWougztWejAdVe@node.example.com 由以下两部分组成:
·链地址: 1PkyncFDsXmcg6pnPUvNJWougztWejAdVe
·接入域名: node.example.com
假设有以下两个链地址:

①1KvwTxFqJSSjztyEN3LLmLDWr4xVZtGk96
②1PkyncFDsXmcg6pnPUvNJWougztWejAdVe

王君拥有链地址 ①,李君拥有链地址②。在没有下载任何Qtum钱包客户端的情况下,王君要给李君发送信息(资产),我们可以在网络中创建
以下邮件
From: 1KvwTxFqJSSjztyEN3LLmLDWr4xVZtGk96@node.example.com
To: 1PkyncFDsXmcg6pnPUvNJWougztWejAdVe@node.example.com
Subject: Great Money for Li

其中@node.example.com表示为Qtum网络中一可达节点或Broker。
新地址与传统电子邮箱地址的一个关键差别在于跨域标识特性。

定义:跨域标识 Cross Domain Identification
定义:分布式邮件服务 Distributed Mail Server

p1

图1:Network Identification

2.1链地址

链地址即为我们所说的钱包地址。链地址代表Qtum网络中的实际消息接收者。任何人只要拥有一个地址,就可以用它接收邮件。用户获得一个地址的所有权,意味着拥有与之对应的私钥。

链地址在Qtum网络中具有唯一性,而且这个特性不受域而改变。只要是通过Qtum网络发送的邮件,都可以通过链地址送达,且不论是从哪个域接入。与经典电子邮箱相比,这是一个巨大的差别,但是对于经典系统来说这是透明的。

因为经典电子邮箱通常是绑定到一个邮件服务器域中,比如gmail.com。但是在Qtum网络中,域更多地只是一个入口—接入域

2.2接入域

当用户发起邮件请求的时候,应用到的是经典的SMTP协议。用户通常使用邮件客户端发起SMTP请求,这些请求必须通过转义之后进入Qtum网络或直接转发给接收方电子邮局(根据邮件的类别属性 Mail Classes Definition

Qtum网络中的节点可以负责接入邮件 (但节点并非必须如此) ,或者由专门负责处理SMTP请求的Broker转义处理,然后投入Qtum网络中。
能够处理SMTP请求,并将消息转义为预定格式(Inter-Message Format Definition)在Qtum网络传输(按特定协议Protocol Definition)的主机,我们称之为接入域。因此接入域在经典概念中是一个邮件服务器,服务于传统邮件客户端。

 

3网络接入(Interconnection)

 

前面提到Qtum网络中的节点可以负责接入邮件,但是考虑节点的处理能力,节点直接处理SMTP请求不能作为其主要功能。节点通常是分散、不确定的。而邮件服务必须由可靠且有能力的主机负责。

我们将负责接入SMTP请求的组件称为Broker,因此运行这样一个Broker的主机即可称为接入域。Broker可以可靠服务的形式存在,为众多客户提供邮件服务,并转义邮件请求,接入Qtum网络中.

服务运营方可以为Broker服务注册专有域名,如broker.example.com,方便用户配置邮件客户端。我们可以设想有许多个接入域同时存在,服务于不同的用户群。但是只要他们接入Qtum网络,他们其实是对等的。

假设有两个域broker1.example.net和broker2.example.net,

如果将邮件发送至以下两个地址:

1KvwTxFqJSSjztyEN3LLmLDWr4xVZtGk96@broker1.example.net
1KvwTxFqJSSjztyEN3LLmLDWr4xVZtGk96@broker2.example.net

得到的结果是一样的,最终接收到邮件的都是拥有地址1KvwTxFqJSSjztyEN3LLmLDWr4xVZtGk96的人。

p2

图2:Broker Topology 代理的拓扑结构

在Spring Email中Broker是至关重要的一个组件,我们将设计以下几种运行方式但不限于:

3.1 Broker Node Proxy

Proxy Node是一个轻量的节点,它并不下载完整的区块链,而是承担网络承接和信息转发的任务。在Node Proxy中实现Broker可以是一个很好的选择。

对用户来说Proxy Node是非常好的选择,因为它不需要下载庞大的区块链,因此更加可用,但不能得到完整的功能。值得注意的是,Node Proxy不是一个Full Node,如果网络中Proxy的数量过多,会导致网络集中化,不利于网络去中心化。

3.2 Broker Node

Broker Node是在一个Full Node中实现的Broker功能。对用户来说,这像是在Wallet Client中打开Broker选项,而区域网络内的其他用户便可使用常规的邮件客户端,将该主机设为邮件发送服务器。

3.3 Broker Mail Server

Broker Mail Server是为了服务于更多的邮件客户端,提供可靠和个性化的的邮件
服务。

3.4 拓展服务

 

1.钱包托管
Broker可以扩展为一个可靠的服务,并未用户托管钱包,如此让用户更加便捷地收发币,甚至是数字资产。
2.邮件服务
提供高可用性的传统邮件服务。
3.特殊业务
更具自己的业务提供特色服务,并以此盈利。
4. MX服务
企业级邮箱服务的接入方案。企业级邮箱服务需要大量的资源投入。也可以为现有的企业邮箱服务提供商提供接入方案。

 

4.邮件发送 (Delivery)

 

4.1 经典模式

我们在兼顾经典电子邮局协议的同时,将其延伸至Qtum区块链网络。从而增强邮件发送功能,并 扩展邮箱的概念和应用域,使之变得更加实用和易达。总结这种增强 扩展,至少有以下几个易见的改变:

  1. • 邮箱不再局限于某个邮件服务器
  2. • 邮件的传送路径变得动态且有多种可能性
  3. • 邮件将被加密和签名,只有接收者可以阅读

用户通常使用兼容的邮件客户端撰写邮件,客户端通过SMTP与邮件服务器发起网络会话,通过服务器将邮件送达接收者邮箱所在的服务器,并由该服务器确定接收者帐号,将邮件分发至其邮箱。这就是经典SMTP电子邮局的邮件发送过程(经典邮件发送示意图)。

p3

图3: Classic Email Delivery Path 经典的邮件发送路径

经典的邮件发送模式,有些显而易见的短处:
• 邮箱集中化,其可用性完全由邮件服务器决定经典电子邮箱都是限于其所在的域有效,通常如果服务提供商不提供多域支持,用户是不能在不同的域里使用同一个邮箱坉坄的。当然用户可以选择在不同的域使用同一个坉坄注册多个邮箱(如此便不是我们所关心的讨论了)。

• 邮件通常是不加密的,签名需要特殊工具(如GPG、PGP)通常这也需要邮件客户端的特殊支持。

• 邮箱服务具有区域性以Gmail为例,虽然有强大的服务器支持,实际上并不是地球上每个能使用互联网人都可以使用Gmail

• 邮箱服务器之间可能不可达,在某些情况下,邮件服务器之间并不能很好的互联,这导致两个邮件服务器之间的邮箱难以互通,使用户无法发送邮件 给某些邮箱。

4.2 分布式

分布式邮件发送对经典邮件系统是重要的改变,但这种变化对邮件客户端是透明的。 分布式邮件发送改变的是邮件送达收件人的路径。
假设Alice和Bob,分别拥有以下链地址:
1: 1PkyncFDsXmcg6pnPUvNJWougztWejAdVe
2: 1KvwTxFqJSSjztyEN3LLmLDWr4xVZtGk96

Alice 能够访问Broker 1,而Bob能访问Broker 3,因此他们分别能够使用以下邮箱地址来发送邮件:

3:1PkyncFDsXmcg6pnPUvNJWougztWejAdVe@broker1.example.com
4:1KvwTxFqJSSjztyEN3LLmLDWr4xVZtGk96@broker3.example@com

Alice 通过地址3接入Broker 1向Bob发送邮件。而Broker 1并不知道如何能够抵达Bob,它将向Qtum网络询问Bob链地址2的网络信息(如Broker 3的网络地址)。找到网络信息之后,Broker 1将与Broker 3发起对话,传送邮件。Broker 3进一步将邮件通知给Bob接收。(分布式邮件发送图)

p4

图四:Distributed Email Delivery Path 分布式的邮件发送路径

5.邮件存储 (Storage)

电子邮件并非即时通信,要保证邮寄不丢失,我们必须存储用户邮件

5.1 链内存储

将邮件保存至区块链,必需谨慎考虑以下问题:
邮件的费用
链内存储邮件必须要支付较高的费用,以免被滥用。

邮件的大小
总邮件字节数必须是有严格限制的。

5.2 外部存储

由Broker决定如何存储邮件,甚至Broker可以以此向用户收费。

由Broker或用户自己决定如何存储邮件。可能会有以下几种情况:

Broker托管邮件

类似经典Mail Server,Broker为用户分配存储空间,且可以根据自己的业务来向用户收取服务
费用。

用户自己存储邮件

用户也可以选择自己运行Broker,然后配置自己的存储方式。对普通用户来说,这并不是一件容易的事情,因为必须要保持Broker一直在线,才不会丢失邮件。

 

6向后兼容(Backward Compatibility)

 

6.1邮件客户端

·传统邮件客户端

- 传统邮件收发

- 可用辅助工具支持币传输

·Broker托管邮件客户端(WebMail)
- 可很好地集成所有高级功能
·专用邮件客户端(开发)
- 可集成所有高级功能和Wallet

6.2与传统邮件服务器交互

 

7 安全(Security Concerns)

 

  1. · DDoS
  2. · 验证
  3. ·垃圾邮件防范
  4. ·政策影响(邮件经由分布式网络传播会破防火墙)

官方透露: 为了解决基于区块链技术的价值传输协议,Qtum团队稍后还会公布第二个社区项目:微夏 Qloha, 希望Qloha会给大家带来不一样的感觉!

p5

对第一个社区项目感兴趣的开发者和用户,也可以发邮件到foundation@qtum.org 了解更多的信息,Qtum Foundation也会推出一系列激励措施,鼓励大家的参与。

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。
发文时比特币标准价格 买价:¥6362.00 卖价:¥6356.00

评论:2

您需要登录后才可以回复 登录|注册
    Author Image
    byref 358 天前

    说到用邮件发送货币,有更牛逼的方案,直接用域名发送货币, 可以参看门罗币的分支项目 openalias

    +1
    +1
    我要点评
    Author Image
    byref 358 天前

    没有啥用。
    以后的邮箱一定是由一些列独立的技术方案组成的。没有任何一个公司可以做一揽子方案。
    看看这个blockstack.org

    +1
    +1
    我要点评