光谱链白皮书
平行互联网价值传输协议及去中心化应用平台
版权: SmartMesh Foundation Pte.Ltd
版本:V0.9.7
更新时间:2018.11.20
团队保留对白皮书描述内容进行迭代的权利
目录
摘要
光谱链设计理念和原则
2.1 从黎曼、爱因斯坦到人类下一个节点:光谱高维区块链
2.2兼容性设计原则
2.3适配物联网设备
2.4高安全性兼高TPS
2.5 光谱链应用
- 光谱链共识机制
3.1 节点分类
3.2 出块节点竞选规则
3.3 区块难度权重
3.4 节点能力计算
3.5 出块节点联盟
3.6 节点联盟的更新频率
3.7 节点联盟出块规则
3.8 出块时间规则
3.9 Proof of Capability 实施步骤
3.10 节点联盟错误场景
3.11 节点列表的轮换
3.12 恶意攻击分析
- 光谱链生态
4.1 去中心化网络(Mesh network)
4.2 链下快速支付方案(Photon network)
4.3 侧链扩容方案(SmartPlasma)
4.4 Token动态转移技术(Atmosphere)
4.5 分布式存储(IGFS)
- 路线图
5.1 Photon状态通道结构提升TPS
5.2 光谱链健壮性完善
6,参考
1. 摘要
光谱链(即Spectrum)是基于SmartMesh基础协议致力于以去中心化的Mesh网络的形式实现万物互联的区块链底层公链。
光谱链的共识机制是一种创新性的能力证明机制POC(Proof Of Capability)。为系统贡献资源越多的节点可以获得越高的能力权重,这使得他们有更多的机会竞争出块。并且更加清洁节能,可以轻松的支持移动设备运行光谱链轻节点。
SmartMesh Token是Spectrum主网的映射后的基础Token,简称SMT。所有的SMT都是预挖的,记账节点新出块时不会再得到新的SMT奖励,但会从区块的每个交易中获得gas费奖励。虽然许多区块链基于富人越来越富有,但光谱链允许没有Token的人仍然可以有机会参与出块竞争,良好的行为(产生一个好的区块)会获得更高的能力权重。
MESH是Spectrum的生态项目Meshbox的Token。MeshBox是由MeshBox Foundation基于Mesh网络路由协议开发的一款硬件产品,它是Mesh网络及光谱链的载体。MeshBox内可以很轻松地运行光谱链。运行光谱链的MeshBox成为光谱链的一个节点,在MeshBox节点上出块时,MeshBox节点会获得另外一种Mesh Token代币的奖励。目前,MeshBox Foundation已开发出一系列室内(MeshBox)和室外(MeshBox ++)WiFi路由器设备。当MeshBox(++)的所有者贡献网络带宽和或硬盘存储空间时,相关节点的能力度量也会增加,将会获取更多的机会参与出块的竞争。
光谱链由强大的Mesh Networking硬件生态系统提供支持,与区块链、加密货币、分布式应用程序、Cyberphysical系统合作,共同构成了一个自我可持续的价值基础设施互联网(SSIoVI)。光谱链是SSIoVI的有效模块,它上面的Layer2架构也非常强大、非常灵活,它可以部署在最恶劣和最偏远的环境中,包括:
有或者没有互联网
有或者没有区块链(使用光子Photon状态通道Layer2架构)
有或者没有电网(使用可再生电池和太阳能技术)
SmartMesh,MeshBox和相关合作伙伴处于独特的地位,能够协同优化跨越式基础设施为数十亿无法访问互联网,银行和电力的人群提供服务。
2.光谱链设计理念和原则
牛顿曾经说:“如果说我比别人看得更远些,那是因为我站在了巨人的肩上”。按照牛顿的这种说法,黎曼毫无疑问正是支撑起爱因斯坦的那个巨人。多数世人并不知晓,对于黎曼来说“黎曼猜想”只是他在1859年“闲暇之余”随手丢下的一个猜想,而“几何”才一直是黎曼的主业,1854年6月10,黎曼撰写出震惊世界的《论几何基础中的假说》,他打破了统治欧洲两千多年的欧几里得几何学说,提出了“高维空间”的数学理论,古典世界的学术边界被打破了,人类从此进入了新纪元。他创造了一种新的看待世界的方式——“高维概念”,爱因斯坦的相对论就是在黎曼几何的基础上发展出来的,而高维视角正是人类第一次以宇宙视角看到我们这个世界最合理的方式。
引入高维概念后,所有的自然规律不单没有矛盾,非常自洽之余,表述还简单了。由此,黎曼推断,电力、磁力和引力,都是由我们三维看不见的皱褶所引起的,“力”本身并不存在,它只是由几何畸变引起的明显结果,他于是着手研究表述这种思想的数学语言。
可惜,1866年体弱多病的黎曼就英年早逝了,年仅39岁。
这个先锋大胆的物理概念,要到半个世纪以后,另一位天才——爱因斯坦的出现,才完成了精确的理论模型和计算,它就是至今仍然统领我们的宏观世界一切物理规律的“广义相对论”。
2.1 从黎曼、爱因斯坦到人类下一个节点:光谱高维区块链
提起爱因斯坦,我们都会想到著名的公式“E=mc²”。爱因斯坦的侠义相对论,统一了“时-空”,也统一了“质-能”。完成狭义相对论之后的爱因斯坦,进一步思考“时空”与“质能”之间的关系,也就是狭义相对论所忽略的加速度,还有重力。
爱因斯坦重新思考关于光速的问题:光速会受重力影响吗?答案是肯定的,重力场会扭曲光线的行进路线。
但是,根据费玛最短时间原理,光线会采取两点之间的最短时间路径,爱因斯坦再次得出一个令人震慑的结论:如果我们可以观测到光线以曲线前进,那就意味着空间本身是弯曲的!(光以曲线前进这一预测,已经被后人的无数次实验反复证明。)
伟大的爱因斯坦进一步得出结论:质能的存在造成周围时空的弯曲。
我们前面讲过,数学家黎曼早在1854年就提出了作用力与空间弯曲的关系,并提出了重力场论。爱因斯坦利用黎曼的研究成果,用数学形式表达了他自己的物理学新发现,这就是广义相对论(General Relativity)。
在狭义和广义相对论之后,爱因斯坦终其一生研究统一场论(Unified Field Theory ),简单说,就是试图寻找一个公式,能够同时描述光与重力。可惜,他最终没有成功。此后诞生的“M理论”被认为是最新的大一统理论模型,M理论认为:历史上五种不同的弦论在本质上被证明是等价的,它们可以从十一维时空的M理论导出。
为何要将所有自然力统一起来?一旦人类将所有的作用力整合成一个超作用力,这时会有什么突破。关于这一点,物理学家保罗戴维斯写到:“我们能够改变时空的结构,了解宇宙万物的来龙去脉,让物质变得井然有序。控制超作用力后,我们便能任意地组合与改变粒子,制造出前所未有的物质形态。我们甚至能左右空间的维度数,制造出具有不可思议属性的人工世界。我们将成为宇宙的主宰。”
如果一个区块链项目想在这样尺度的时空里继续承载人类的文明,至少必须要可以同时工作在地球,月亮和火星这些天体之间和每个星球之上。
面向星辰大海,显然以比特币为代表的区块链1.0、以太坊为代表的区块链2.0和可编程社会的区块链3.0都无法满足未来的要求。往来时延达42分钟的信号传输分分钟让区块链3.0以下所有区块链公链节点直接报错。迄今为止这些区块链都是基于中心化的地球互联网设计的,没有互联网连接时立刻报错已经成了常识。
正如黎曼几何对欧几里得几何的突破,人类需要可以自组网络维度突破地球互联网局限的高维区块链。
光谱Spectrum就是这世界上第一条高维区块链。在此之前的区块链1.0、2.0、3.0(可编程社会)都是局限在国际互联网之内才能启动并运行的,而SmartMesh在区块链的点到点传输层MeshBox Layer 0大胆创新突破,赋予TCP/IP以Token,让连接突破了现有互联网的制约,让区块链4.0 光谱可以独立运行在互联网之外并兼容现有互联网。每个岛屿、星系、文明都可以有自己的Spectrum并可以通过大气层Atmosphere项目跨链、跨文明交互。区块链4.0是智能可编程宇宙,是天地一体化组网和增强型人类向外太空发展必备的连接与共识。
一个可以承载整个人类文明的公链必须具备三层架构:Layer 0带Perception认知发现的点到点自组网络和发现层;Layer 1全局共识层;Layer 2离链与离线交互层。SmartMesh目前是这世界上首个具备全部三层的区块链生态体系,这一生态无需互联网,可以在宇宙的任何一个位置开始其自生长的自生命体系,也称自生态。
许多公链动不动就谈百万级的TPS,先不说这是否会导致中心化,单说要主链用这么高的TPS处理与存储所有的合约与交易本身就不是长久之计。只有全人类的共识才有必要放在链上,而99%的内容实际上不应该放在主链上,而是应该在链下的Layer 2里进行局域的处理,这样的结构才可能会在宇宙尺度上天长地久。
同样,SmartMesh 光谱链为人类提供了自我可持续的价值基础设施互联网。光谱链具有同样强大,高度可靠且灵活的特点:
l 有或者没有互联网
l 有或者没有区块链(使用光子Photon状态通道Layer2架构)
l 有或者没有电网(使用可再生电池和太阳能技术)
光谱链是SSIoVI的最终构建模型,可以在最恶劣和最偏远的环境中部署,同时是跨越传统的基础设施。Meshbox基金会开发了户内(Meshbox)和户外(MeshBox++)WiFi路由器。与石墨烯材料的结构类似。MeshBox节点以六边形镶嵌排列(这也是蜂窝网络的常见设计),在这些节点之间具有三维链接。在Mesh网络中,每个MeshBox最多可连接6个其他MeshBox,同时使用分层几何分片方法,每个分片最多可包含49个节点。如下图所示:
MeshBox之间的最大跳数在图中为8,由于WiFi干扰问题导致每跳的吞吐量损失,这是可行性的极限。从每个启动器到每个目标有多条路径,这使得网络对任何节点中的故障都具有高度容错能力,以及应对任何链路的干扰。
光谱链也是轻量级的。共识机制使用节点能力证明POC(Proof Of Capability)算法,不需要浪费大量计算资源,只需要根据节点对光谱链贡献资源的能力来竞争出块记账权。它可以在智能手机和MeshBox上实现。而大多数区块链的共识算法都很重,并且浪费了大量资源如工作量证明共识算法POW等。
POC共识算法旨在鼓励节点对光谱链提供资源贡献能力来实现整个光谱链系统的稳定性、安全性和高效性。对光谱链有贡献的节点有更高的机会成为出块节点进行出块,而且贡献越大机会更多。工作量证明POW和权益证明POS的共识算法允许富人变得富裕,从而扩大了贫富差距。但能力证明共识算法衡量了节点所有者对光谱链的能力贡献程度,这种能力贡献不仅可以是权益,而且包括该节点做出正确事情的次数(产生正确的块),以及为该系统贡献的其它非权益资源等。因此,能力被定义为各种因素的加权和度量,包括:
l 节点是否在MeshBox设备上运行(并由此与系统共享多少通信带宽,数据存储,交互能量)
l Token投资(LockedDeposit或Photon Payment Channel)(抵押SMT)
l 节点已有的出块成功率(产生正确块的比例)
光谱链使用光子Layer2架构,通过可以叠加在Mesh-Networks之上运行的高度并行化的状态通道将吞吐量提高到数十万TPS。此外,交易可以通过Raiden和Photon非常快速地从发起者传递到目标。
光谱链非常安全,不受DDOS和双花等攻击的影响。 通过SmartMesh / MeshBox创新和UCCO合作伙伴的技术,光谱链将实现:
Ø 签名者统计、选择和清除,使用人工智能和机器学习的未来版本。
Ø 通过量子技术生成真正随机数,提供牢不可破的加密(StealthGrid)。
Ø 具有AI / ML连续优化(Dcntral)的多层安全漏斗。
2.2兼容性设计原则
Ethereum第一次将智能合约的概念从理念变成实际,从而拓展了区块链技术的边界,其中Ethereum Virtual Machine(EVM)是目前唯一经过全球众多区块链智能合约开发者测试的智能合约虚拟机,因此光谱链保持和EVM的兼容性,可以对开发者很友好,降低学习成本。软件的向下兼容使旧版本的软件和智能合约,可以在新版本上持续的运行,而不用用户手动升级。智能合约一旦部署,在区块链中被打包从而变得不可篡改。因为智能合约的更新升级及区块链软件的迭代和升级,如果出现EVM2.0和EVM1.0无法兼容的问题,这就需要区块链系统设计者慎重考虑。
2.3适配物联网设备
光谱链致力于以去中心化的Mesh网络的形式实现万物互联的区块链底层公链。物联网设备因其独特的特点,需要公链的设计适应小型设备的在功耗、速度、轻存储、去中心化之间有个综合的权衡。光谱链的共识机制,是一种针对移动设备的创新的、节能的共识机制,不是需要消耗硬件计算资源的POW模型。
2.4高安全性兼高TPS
在传统互联网中,假如向服务节点发送大量的数据(比如发送大量的小额交易请求),导致系统无法处理正常的交易。而Mesh网络因其天然的去中心化特点。因为光谱链的Mesh网络的节点是动态传播和调整的,遇到不通的节点可以换临近正常的新节点,交易即可完成。
光谱链的Layer2构架光子网络及侧链扩容方案,极大的扩展了光谱链的交易速度。在无互联网环境下的无网微支付,通过建立链下状态通道的形式完成。
2.5 光谱链应用
全球有很多地方还没有互联网,在没有互联网的小岛,光谱链的DApp将会有很大发展。理论上,Mesh网络只要手机用户的密度足够高,就能够构成一个覆盖地表的点对点网络,而且独立于互联网和电信基站。
众所周知,Mesh在全球已经有若干实施的实例。它在地震海啸后的救灾通信中得到了应用;还有在电信基站没有覆盖的地区,在瑞典和德国都有社区Mesh项目,通过桥接本地通讯而无需路由到遥远的服务器再转回来,以此降低每家每户的上网费用。
光谱链是Synergistic Open Garden Optimized(SOGO)系统的基本构建模块。SmartMesh / MeshBox在提供以下产品方面处于独特地位:
l 通信:使用MeshBox进行无线网状网络
l 移动应用程序:SmartPlasma,Photon和动态Token交换技术和TrustMesh离线金融系统。
l 区块链和加密货币Fintech。
这使SmartMesh / MeshBox处于独特的位置,可以协同优化所有这些组件,SmartMesh / MeshBox构成了UCCO,提供开放标准和接口到一个开放的空间。
3. 光谱链共识机制
光谱链共识算法基于能力证明机制POC,基于连接的共同愿景和共识。POC是公平的,它允许没有Token的节点仍然可以有机会参与出块竞争。节点共享的资源越多,具有的能力就越高,竞争成为出块节点的机会就会更大。良好的行为(产生一个好的区块)也会获得更多的能力权重。光谱链上发行的Token是SmartMesh Token,简称SMT。所有的SMT都是预挖的,记账节点新出块时不会再得到新的SMT奖励,但会从区块的每个交易中获得gas费奖励。有所区别的是,运行光谱链的MeshBox节点中出块是有出块奖励的,但奖励的是另外一种Mesh代币。
3.1 节点分类
光谱链节点分为四类:
l 正常节点(Normal)
l 出块节点(Singer,或称为签名节点)
l 志愿者节点(Volunteer,或称为候选节点)
l 行为不端的节点(或称为黑名单节点)
除Normal节点之外,每类节点都有一个与之对应的动态变化列表用来存储这类节点的相关信息。分别为:出块节点列表、志愿者节点列表和黑名单节点列表。
3.2 出块节点竞选规则
从出块节点列表中选择节点进行出块。
出块节点列表中的节点会与志愿者节点列表中的节点组成出块节点联盟,根据周期进行轮换。所有Volunteer节点都有机会(通过Round-Robin调度程序)被添加到出块节点列表中参与出块竞争。
所有Normal节点都有机会进入志愿者节点列表。一个Normal节点要想进入志愿者节点列表成为Volunteer,它需要与Signer节点建立通信连接。在连接到Singer的每个Normal节点中,选择具有最高能力的Normal节点将其加入到志愿者节点列表。
设置一个Epoch周期,在每个Epoch周期内,每个节点都有一个初始值为5的参数TurnsLeft,用来跟踪节点在一个Epoch中还有几次机会成为Singer节点进行出块。每个Singer节点出块后,TurnLeft减1,TurnsLeft等于0之后被加入到黑名单列表。
节点每成功出一个块,成功出块次数加1;每失败出块1次(未能出块或出的块不正确),出块成功次数减10(或其他设置的较大的数),直到清零;同时,该节点会被立即加入黑名单列表,在当前Epoch内不再被选入出块节点列表或志愿者节点列表。
Epoch周期结束后,将黑名单列表清空,进入下一个Epoch周期。
3.3 区块难度权重
为了加快共识的最终结果,每个块都有一个难度权重。 任何具有较高的难度权重(该分支中的所有区块)总和的区块将是胜出的区块。应该产生下一个块的第一个Signer将被赋予DifficultyWeight = 3这是最高级别。 如果第一个签名者失败,来自签名者列表的第二个节点将提交正确的块,接收DifficultyWeight = 2。如果第二个尝试失败,则基于分布式领导者- 选举协议选择第三个节点。 例如,前一个块的hash,与每个节点的公共地址进行异或,具有一定数量的比特的掩码,并且具有最低结果的节点将成为接受任务的赢家,接收DifficultyWeight = 1。
3.4 节点能力计算
节点能力被定义为节点与网络共享的资源的各种因素的加权和度量。节点能力的计算,将考虑以下这些计算因子:
l 节点是否在MeshBox设备上运行(与系统共享多少通信带宽,数据存储,交互能量)
l Token投资(LockedDeposit或Photon Payment Channel)(抵押SMT)
l 节点已有的出块成功率(产生正确块的比例)
更具体地,使用能力的向量表示,其中向量的元素包括以下资源度量:
- RunningOnMeshBox =节点是否在MeshBox [Boolean]上运行
o 在节点间的通信BW [每秒位数]存储空间(在MeshBox上)
o 在Meshbox上被用于ipfs[字节]的存储空间
o 存储空间磁盘的网络带宽(在MeshBox上)[每秒位数]
o 交互能量产生和共享[瓦时](使用太阳能)
- Token投资
o LockedDeposit =锁定存款[SMT令牌]中的SMT令牌数量。 要使节点成为志愿者,至少需要一个SMT的LockedDeposit。
o 存入光子状态通道的金额[SMT代币],提升系统交易的速度(加快交易),包括节点成功签名者的次数(正点),或产生坏块(负点)。
o 能力度量被定义为各种资源度量的加权和(具有资源R的权重常数WR)
由于几个资源度量随时间变化,因此可以使用诸如IEEE802.1 Qau滑动窗口平均的统计技术来确定上述等式中使用的值。
R(t+1) = [(B-1) * R(t)] + [B * R(t-1)]
其中0 <= B <= 1用于加权资源度量的先前值和当前值。因此,能力由下式给出:
Capability = (WMB* OnMeshBox) * [ (WCBWx CommBW)
(WSx Storage) + (WSBWx StorageBW) + (WEx Energy) ]
(WLD0* SMT LockedDeposit) + (WLD1* Token 1 LD) + … + (WLDN* Token N LD)
(WPD* Sum of all Photon Deposits associated with the node)
-
(WSSx SuccessfulSigning)
每次节点成功为一个块签名时,成功出块次数SuccessfulSigning会增加1.但是,如果该节点无法生成一个好块,则成功出块次数SuccessfulSigning会减少一个较大的数,例如10作为惩罚,直到清零后将会被加入到黑名单列表。
从上面可以看出, 即使节点的所有者没有财务资源(MeshBox或SMT存款),它仍然可以通过在有机会成为签名者时产生正确的块来增加其能力。
为了使数量保持可管理性,上述一些数量可以更改为其对数函数并且最大限度上限。上面的加权常数必须总和不超过1。
WMB + WLD0…LDn + WPD + WSS <= 1
并且MeshBox资源权重必须总和不超过1。
WCBW + WS + WSBW + WE <= 1
上面的权重调整以优化系统性能。
3.5 出块节点联盟
出块节点联盟包含两类节点:一类节点负责当前网络的记账,我们称这类节点为出块节点(即Singer节点),出块节点的数量是固定的,不会轻易被调整;一类节点不负责当前网络的记账,但是它们作为出块节点的候选节点,随时准备好变成出块节点,服务于网络记账,我们称这类节点为候选节点(即Volunteer节点)。
我们的区块链诞生的时候,需要有一个出块节点的列表,它随区块链的诞生而产生,负责形成最初的出块节点联盟(一个被初始化的出块节点列表,和一个空的候选节点列表)。
网络上的每一个普通全节点都有资格申请成为一个出块节点。但是,由于申请时的出块节点联盟的状态不同,导致节点被提名成出块节点的流程略有不同:
l 当出块节点总数小于极限值时:普通节点发出申请,可以被现有的出块节点提名,直接进入出块节点列表。
l 当出块节点总数等于极限值时:普通节点发出申请,可以被现有的出块节点提名,放入候选节点的列表,等待轮换参与出块。
3.6 节点联盟的更新频率
普通的节点在每个出块周期(14-22秒)内,都有机会被出块节点选入到联盟列表中。如果出块节点列表有空位,则新节点进入出块节点列表中,参与下一轮的出块轮选; 如果出块节点列表已经没有空位,则新节点进入候选节点列表中,等待节点列表轮换时被选入出块节点列表。 没有进入黑名单的候选节点将会有5次出块机会,然后会放到黑名单中休息一个 Epoch 。
3.7 节点联盟出块规则
出块节点必须保证连续正确的为网络出块,如果不能正常出块(不出块,出错块)就会被从出块节点中删除,然后会有一个候选节点来代替它出块。
一个节点不能正常出块,系统会将其判断成不合格节点,将其放入黑名单中。进入黑名单的节点,在当前Epoch之内不能再申请成为出块节点。
出块节点完成出块后,会根据以下不同情形进行节点联盟的轮换或标记操作:
出块节点列表未满
不进行轮换。但每个节点设置一个分值为3分,每错出或漏出一个块扣1分,0分时被放入黑名单,并在当前Epoch不再被选拔作为出块节点或候选节点。
出块节点列表已满,候选节点列表小于出块节点列表
不进行轮换。此时主要工作是选拔候选节点,直到将候选节点列表补满,并为每个被加入的候选节点设置当前Epoch可出块数量为5。选择候选节点的规则参照下面第6点,出块规则与“出块节点列表未满” 时的规则相同。
出块节点列表已满,候选节点列表大于出块节点列表
进行出块节点的轮换。这时上面“出块节点列表未满” 为节点设置的分数不再起作用,而是不管当时设置的分值现在剩多少,都要替换掉全部的出块节点,然后从候选节点列表中随机提拔一批新的出块节点到出块节点列表,将原出块节点列表移入候选节点列表,并将移出出块节点列表的节点的当前Epoch剩余可出块数量减1,当当前Epoch剩余可出块数量等于0时则移入黑名单,当前 Epoch 将不在被选拔。假设出块节点列表最大长度17 ,候选节点大于17时,就会触发这个出块节点轮换的规则。
3.8 出块时间规则
每个块的出块时间浮动在14-22 秒之间,其中首选节点14秒,替补节点18秒,其他节点22秒。例如: 用线性表[A-Q] 来表示17 个出块节点列表,假设现在要出的块的number等于12345,通过如下方式得到合法的出块时间字典,用来验证区块的timestamp。
//出块节点列表
signers = [A, B, C, D, E ... , Q]
//目标块
number = 12345
//首选节点: D
signer1 = signers[number % signers.length]
//替补节点: E
signer2 = signers[(number+1) % signers.length]
//其他节点
signers.remove(signer1)
signers.remove(signer2)
//出块时间字典
delayMap = {14:[signer1],18:[signer2],22:signers[:]}
通过上面的字典验证blockNumber = 12345 的规则是:如果miner = D, 则出块时间不能小于14 秒,如果miner = E 则不能小于18秒,否则不能小于22秒。||首选|替补|其他| -:|:-:|:-:|:-:| 时间|14秒|18秒|22秒| 节点|D|E|A-C,F-Q|。
3.9 Proof of Capability 实施步骤
第一阶段:
基于区块链构造,一些资源指标可以先确定,这些包括:
l RunningOnMeshBox(在区块链上有一个LockedDeposit)
l LockedDeposit到与节点关联的地址
l PhotonDeposit存入状态通道节点关联地址
只有RunningOnMeshBox的权重不为零,其他因素将在稍后考虑。 因此,最初只有**WMB **的权重才会为非零。
第二阶段:
其他资源指标要求安全地计算安全一致性算法。 这种算法基于使用多点传送的简化的点对点验证算法。 在实现这样的算法之后,以下权重可以是非零的:
l WLDfor LockedDeposit (at least 1 SMT is enough to be qualified as a Volunteer)
l WPDfor Photon Payment Channel Deposit associated with the node
l WCBWfor CommunicationBW
l WSfor StorageSpace
l WSBWfor StorageSpaceBW
l WSSfor SucessfulSigning
l WEfor Energy
l WP and node associated photon payment channel deposit.
3.10 节点联盟错误场景
错误场景一:负责出块的节点不能正常出块
如果在一个时间槽内,负责出块的节点不能正常出块,出块节点列表中的其他节点会按照自己所属的时间槽进行出块,来弥补这个时间槽的缺失。
错误场景二:节点接收到一个错误的块
如果节点收到一个新挖出的区块,但是parent与主分支上的不一致,节点将会保存该区块,但是并不切换主分支。
错误场景三:节点收到多个错误块,parent都是主分支上最新的一个区块。
如果多个区块中不包含预定节点的区块,则记录全部的区块,并将主链切换到时间最早的区块上,如果多个区块中包含预定节点的区块,则记录全部的区块,并将主链切换到预定节点的区块上。
3.11 节点列表的轮换
** 下面的图给出了光谱链共识算法中节点联盟的轮换示例:
Ø 节点轮换规则
**1) ****Normal****节点到Volunteer节点: **
如果Normal节点的LockedDeposit为正,并且该节点已连接到Signer节点,则该节点将被视为具备基于Capability指标,由Signer节点从其连接到的所有Normal节点中选择具有最高Capability指标的Normal节点,添加到Volunteer节点列表中。
2) ****Volunteer****节点到Signer节点:
Volunteer节点被选择为基于TurnsLeft编号的Signer,该编号初始化为5,每次竞选成为Signer节点后,出块TurnsLeft减1。当所有Signer节点都经过一轮SignerRound时,具有最高TurnsLeft数(例如5)的Volunteer节点被提升到Signer列表。
3) ****Signer****节点到Volunteer节点:
在每个出块时间(15秒)期间,从Signer节点列表中选择获胜Signer节点出一个新块添加到区块链的链头。每个Signer节点具有相同的概率被选中,并轮流成为获胜的签名者。一旦所有Signer节点完成一个完整的SignerRound,整个Signer节点列表的节点的TurnsLeft都减1并移动到Volunteer节点列表。
4) ****Signer****节点到行为不端节点
当Signer节点出现不良行为(未能创建块,或在计划为获胜签名者时创建坏块),它将会被移至黑名单列表,同时将其成功出块数量SucessfulSigning(能力指标的一部分)减少一个比较大的数值进行惩罚。
Ø 节点轮换示例
l 在一个出块轮换周期SignerRound结束时,Volunteer节点E,G,H,I,J,K(TurnsLeft = 5)被添加到Signer节点列表中。
l Signer节点C行为不端,因此在更新过程中被移至黑名单列表(Misbehaving List)。
当Singer节点赢得出下一个块的权利时,该块被传递给其他Signer节点,然后收到该新块的Singer节点开始检查该块:
如果此块正确,则将其添加到区块链中并将其Difficult-Weight权重设置为3。
否则,该Signer节点被加入到黑名单列表,此SignerRound中的下一个时间槽中的Signer节点将提交该区块。
如果成功,那么该区块将被添加到区块链中并将其Difficult-Weight权重设置为2。
否则,该Signer节点被加入到黑名单列表,继续由此Singer节点所属时间槽的下一个时间槽Singer节点将提交该块。
如果成功,那么该区块将被添加到区块链中并将其Difficult-Weight权重设置为1。
否则,该Signer节点被加入到黑名单列表,此块时间被认为是不成功的,并且对于同一块,在下一个Blocktime重复相同的过程。
还针对每个Epoch执行每个类别中的节点的统计更新。定义Epoch时间段,其可以是恒定的(例如24小时),或者可以随机变化(例如,正态分布,平均12小时,标准偏差8小时)。当这样的Epoch时间段过去时,进行统计更新过程以防止恶意节点接管系统。
l 第1步:所有Signer节点都被移到Volunteer节点列表(通常在每个SignerRound结束时完成)
l 第2步:多达一半的Volunteer节点被移动到Singer节点列表(基于最低的TurnsLeft指标
l 第3步:所有Volunteer节点的TurnsLeft指标数量保持不变。
l 第4步:最多NS = 17个Volunteer节点根据它们的TurnsLeft指标大小顺序被移动到Singer节点列表(通常在每个SignerRound的开始时完成)。
3.12 恶意攻击分析
1) ****双花攻击
双花攻击就是将一个加密货币进行多次花费,攻击者通过控制一定比例的、保障系统安全性的各种资源(如计算资源、加密货币资源等)从而实现在执行交易(如花费代币或执行智能合约)后将其回滚。
攻击步骤:首先向全网提交一个待回滚的交易,并在上一个区块的分叉上(不包含待回滚交易的分叉)继续进行挖矿,直到该交易得到n个区块确认信息。若分叉上的区块数多于n,则攻击者公布包含有待回滚交易的区块。这样,由于分叉链的长度大于原本的主链,则全网节点将分叉链视为主链。此时,交易得到回滚。
因为光谱链的共识的不是pow那种控制矿池算力资源就可以发动双花攻击,能力证明(proof of capability)可以有效避免双花,因为每个节点概率性的被选择为出块节点,即使控制了大部分光谱链节点发动双花,你仍然无法预测在特定时间具体哪几个节点出块造成分叉,所以双花的成本是十分巨大,除非控制了整个网络,每个节点你都可以控制。
2) ****女巫攻击
女巫攻击是在P2P网络中,因为节点随时加入退出等原因,为了维持网络稳定,同一份数据通常需要备份到多个分布式节点上,同一个恶意节点可以具有多重身份,原来需要备份到多个节点的数据被欺骗地备份到了同一个恶意节点。
光谱链的作恶成本是十分巨大的,被选为出块节点如果不能正常出块,就会被拉进黑名单,永远没有机会出块,除非等到下一个周期,所以系统不会为女巫攻击提供机会的。
3) ****分区攻击
分区攻击的攻击者通过控制一定比例的系统资源,在历史区块、甚至是创始区块上对区块链主链进行分叉,旨在获取更多的区块奖励和/或者达到回滚交易的目的。这种攻击更多的是针对基于权益证明共识机制的系统。即使攻击者可能在分叉出现时仅持有一小部分的代币,但他可以在分叉上自由地进行代币的交易,从而导致攻击者能够更加容易地进行造币并快速的形成一条更长的区块链。光谱链的的造成分叉的代价是十分巨大的,即使控制了大部分系统资源。
4) ****拒绝服务攻击
拒绝服务攻击通过向节点发送大量的数据(比如发送大量的小额交易请求并且将gas费调的很高从而导致系统无法处理正常的交易)导致节点无法处理正常的数据。光谱链中的节点其实也没法避免拒绝服务攻击,但是因为Mesh网络节点动态调整的特性,如果节点被攻击,将会自动选择临近的节点跳过。如果非要攻击整个网络,攻击成本将会是非常巨大的。
4.光谱链生态
地球、月球与火星之间信号传输的延迟可以视作离链与离线,跑在地球互联网上的光谱区块链可以与跑在月球和火星上的光子网络完美的协同工作。而月球与火星上的殖民也可以创建其自己的光谱,用他们各自的光子网络来连接地球。不同星球的光谱可以用Atmosphere跨链,还可以形成Universal Channel的统一支付通道。某种意义上来说Atmosphere就是规范场理论,Universal Channel就是可以连接不同区块链宇宙的虫洞。
光谱链是一条公链,它使用SmartMesh Token(SMT)作为token传输和数据通信等服务的费用。与Photon光子网络一起,构建了一个辅助架构,该架构实现了状态通道,以提高每秒事务数(TPS)。Photon已作为光谱链的光子状态通道架构,可以使用MeshBox硬件进行进一步优化,MeshBox硬件是Meshbox销售的网状Wifi路由器产品。下面介绍使用和不使用MeshBox硬件的方案。
4.1 去中心化网络(Mesh network)
MeshBox是基于MESH的协议开发的硬件的产品,是Mesh网络及Specetrum公链的载体。好处包括:
l 可以使用Internet快速部署价值基础设施(IoVI)。
l 通过统一的细分控制核心网络拓扑,从而简化和优化路由算法。
l 高存款支付渠道,允许大量token转移,低概率的失败找到调解转移的路线。
l 抵押SMT到Meshbox的Payment Channel里获得MESH激励和SMT通道激励费用,使用标准化架构为各种资源使用提供的SMT / MESH gas费。
MeshBox Wifi接入点产品包括室内和室外版本,具有以下规格:
MeshBox Indoor:
· 1W, 2.4 GHz and 5GHz Unlicensed bands.
· 100m Omni-Directional antennas.
· Up to 400 Mbps full-duplex.
MeshBox++ Outdoor:
· 1W, 2.4 GHz and 5GHz Unlicensed bands.
· 300m Omni-Directional and 1200 m Directional antennas.
· Up to 350 Mbps full-duplex
以下显示了室内MeshBox和Outdoor MeshBox ++的通信的数据速率和范围(半径)。
与大多数Wifi路由器相比,MeshBox和MeshBox ++提供更大的地理覆盖范围和更高的带宽。
除了上述好处之外,当部署MeshBox时,Photon Core-Nodes可以驻留在MeshBoxes中(无论是否有Internet连接)。当在MeshBox中实现Spectrum时,可以将MeshBoxes用作硬件基础结构,以优化Spectrum的性能。 无论是否有互联网,都可以实现以下好处。
l 即使没有Internet连接,也可以快速部署价值基础设施(IoVI)。
l 每个MeshBox都可以是一个分片,其中与分片关联的区块链由MeshBox维护。 与其他分片的交易通过与每个分片关联的智能合约进行管理,这些分片以对等方式与其他代理进行通信。
以下显示了SMT,MESH和未来的Transactive Energy token 如何奖励给每个MeshBox的所有者。
使用各种类型的资源,相应的费用(使用SMT)以及收费到帐户的Gas(也使用SMT),并由MeshBox所有者赚取。 该帐户可以属于交易的发起人,广告商或IoVI提供商的某种组合。 例如,广告客户可以支付80%,而发起人用户可以支付20%。
l 数据包通信需要通信费
l 令牌转移产生支付费和通信费(用于与令牌转移相关的控制消息)。
l IPFS使用会产生MESH存储费以及存储数据包的通信费。
l 跨能量转移产生能量费(SMT或新的能量令牌)以及交通能量拍卖所需的控制包的通信费。
4.2 链下快速支付方案(Photon network)
Photon network是Spectrum的链下扩展解决方案,能够实现即时、低费用和可扩展的支付。Photon当前支持ERC20和ERC223兼容token,可在Windows,Linux,Android,iOS和macOS等多平台下运行。当前版本的Photon除支持打开通道、向通道存款、链下转账、通道关闭和结算等常规功能外,还增加了一些特色功能,如:合作关闭通道、不关闭通道取现、更完善支持第三方服务、引入惩罚机制、不会因为交易失败导致通道关闭等,更好的节约了成本并提高了转账效率。
为了保证智能设备在Spectrum生态中安全可靠的运行,photon在移动适配方面做了特殊设计。 一是将photon 节点分为两种,移动节点和普通节点,其中移动节点不作为路由节点使用,不受路由节点需要长期在线的约束;二是尽量减少移动设备的数据存储以提高使用效率,存储的数据能够保证节点在意外场景下崩溃恢复后通道双方状态一致,不会丢失token以及通道仍可以继续使用,整体上保护交易安全;三是Photon为了提高移动设备的通信稳定性和更好的用户体验,使用Matrix消息框架作为传输层,Matrix在普通的硬件支持下可达每秒百万级别的吞吐量,可实时监控节点的状态并提供当前最优的路由及收费方案, 更有效的保证移动设备交易的成功率。
- 相对安全的无网支付方案
无网支付是Spectrum和MeshBox生态场景应用非常重要的补充。Spectrum可部署在恶劣和偏远的环境中,那里可能没有互联网连接,可能没有区块链相连,依然要将价值传递到需要它的人们手中。无网支付就是在不依赖互联网的条件下进行的链下转账交易。当前的Spectrum和Photon在Meshbox支持下,已经实现了两个节点间直接通道的相对安全无网支付。
为了扩展无网支付的范围,实现更实用的相对安全的无网支付,需要对支付条件进行限制,使state channel交易模型可以在条件概率情况下保证无网交易的安全。具体来说就是,在无网条件下为HTLC加入一定的约束,从而保证任意一个Photon节点在知道自身没有连接Spectrum公链,但是不知道其他节点有没有连接公链的情况下,安全的进行交易,包括自身发起交易,接受他人交易,作为中间路由节点转发交易等等,有效的保证无网环境下支付需求的满足。
- 通用通道互通方案(****Wormhole****)
Spectrum不仅要成为万物互联的区块链公链,更要成诸多区块链公链的纽带。借助Photon和smartraiden(以太坊上支付通道),Spectrum已经和以太坊完美衔接;借助Photon和闪电网络,Spectrum和比特币也能互通有无;然而,想跨越当前各公链的互通障碍,考虑到各种公链上状态通道技术并不通用,各个公链上功能实现、接口并不一致,单纯的支付通道显然无法满足需求,为此,Spectrum在Photon功能上进行了扩展,称之为Wormhole。
Wormhole是Spectrum与其他公链之间的通用通道,目前具体方案正在设计中。Wormhole将具备在不同区块链之间的token互换功能,并且具备多token存款、多token取款、多token链下转账、多token原子互换等并行处理能力,wormhole将成为链与链相连不可或缺的血脉,并将助力Spectrum生态圈融入价值的星辰大海。
4.3 侧链扩容方案(SmartPlasma)
SmartPlasma是锚定在光谱(Spectrum)网络上的第二层解决方案,区别在于,SmartPlasma允许构建依附于光谱链上的子链,其本身可以衍生出新的子链,如此一直延续下去。理论上子链的数量没有限制,所以SmartPlasma能实现几乎无限的扩展能力,显著的提升tps。SmartPlasma是一种Plasma Cash实现,具有检查点机制和Plasma Cash交易结构中的附加“随机数”字段。 使用检查点的想法来自Plasma XT,但实施方式不同。
SmartPlasma是交易节点在主链外有另行通道,在另行通道完成的交易不用每笔都需经过链上网路全节点共识,而是批次性的上传写入主链帐本中,因此可达到高并发。SmartPlasma是完美适配SmartMesh生态的plasma解决方案,解决Plasma cash的安全性问题,并且完美适配移动设备。
SmartPlasma通过智能合约与Spectrum主链相连,SMT可以在主链与侧链之间流动。SmartPlasma共识机制,如Plasma Cash基于单个操作员验证(POA)。 在一组验证者(POS)的基础上实施共识机制也是可以的。用户可以通过在Mediator智能合约上放置资产来开始使用SmartPlasma侧链。 在将token转移到Mediator之前,用户必须调用“IncreaseApproval”功能或在合约中批准他/她的token以确保安全性。但当有SMT想要从侧链返回主链时,必须发出一个声明并附带赏金。当主链判定交易有诈欺嫌疑时,随时有权力将交易退回并惩罚区块的创建者。一旦有反对证据证明该账户有不当行为,赏金就会被触发。
与Plasma Cash相比,Smart Plasma的交易发生了一些变化。在交易结构中,我们包含了一个额外的字段- nonce。Nonce是每个单独存款的计数。它表示存款花费的次数(更改了所有者)。当用户在SmartPlasma和根链字段中存入时(存款- >子链中的当前块编号)。
在接下来的步骤中:
1)用户必须创建一个nonce = 0的“零交易”,其中新的所有者是他自己。
2)签名交易并将其转移给Operator。
存款ID是Operator在存款时确定子链中的块号。例如:
我们将此区块指向S并检查从块S到当前子链块的所有子链块,我们称之为L.
如果在区块S ... L中发现至少一个交易,则Operator认为他们想要欺骗并拒绝这样的交易。
其余的交易用nonce> 0,Operator检查用另一种方法。Operator查看上次存款所用的子链编号。此区块找到您要查找的交易。如果nonce当前交易不等于先前交易的nonce + 1,则Operator认为当前交易无效且不接受它。
此外,Operator检查当前交易的其他字段,但这些检查与Plasma Cash中的检查没有区别。
4.4 Token动态转移技术(Atmosphere)
Atmosphere大气层跨链技术,是光谱公链生态与其它公链生态系统下token动态转移的技术。跨链本质上是一套链和链之间的清算机制,而清算的本质就是精确记账,分布式的方式提供链和链之间转账的清算机制会遇到两个难题,如何通过分布式的方式验证原链上的交易状态?原链上的交易信息对于另一条链来说是一个外部信息(Oracle),如何保证这个外部信息进入另一条链时是正确的就是整个跨链机制的重要环节;还有就是如何确保处理跨链的节点不作恶?节点作恶就会导致链之间信息验证的错误,进而产生双重支付而给跨链用户造成损失,这与在单一账本中记账的节点作恶面临的情况类似,但是当这个问题放在两条互不识别的链上时,问题的复杂性就变高了。
Atmosphere是应对光谱链在无互联网环境中token在不同主链进行token兑换的跨链协议。Atmosphere定义了面向未来的跨链的协议,以光谱链为分布式交易所。
4.5 分布式存储(IPFS)
存储有两个方面:空时缓冲区分配和内存带宽使用,这两者都会产生SMT费用。
l 空时缓冲区分配。
跟踪每个应用程序分配的(相对)大缓冲区(大约几MBytes或GBytes)。例如:对于特定的IPFS应用程序,分配一定量的SSD空间并考虑这种缓冲区的空时使用,并相应地支付MESH Token。
l 内存带宽
每当数据包(例如视频或数据)被写入SSD或从SSD读取时,MESH就会被收费。
5.路线图
光谱链和相关技术的路线图如下所述。
5.1 Photon状态通道结构提升TPS
下图说明了三个MeshBox(A,B和C)的网络,它们之间有通信链接。
在通信链路上叠加,高存款双向支付渠道由MeshBox设置。 为简单起见,该图仅显示了单向通道。SmartMesh可以使用初始数量的SMT Token分配此类存款,这些Token将用于创建高存款渠道。 或者,外部投资者可以存入部分或全部此类存款。可以通过光子网络建立各种通道,包括SMT支付通道,ERC-20支付通道和数据通信包,使用SMT作为激励费用来作为meshbox的节点路由。虽然可以支持属于不同token的多种类型的通道,但这不是最佳实践,因为由于跨多个通道的分段存款,性能将是低的。相反,由于统计多路复用,性能得到改善由于在大多数情况下使用SMT通道。 这是通过将各种状态通道组合成单个基于SMT的状态通道来实现的。 当转移ERC-20等token时,首先将这些token转换为SMT,并使用SMT通道进行支付。SMT作为通过网络路由服务的费用。
在这种体系结构中,Token交换缓冲区块将其他token转换为SMT,token将token保存在缓冲区中,并通过SMT支付通道发送等量的SMT。 其他需要将SMT转换为此类token的相反方向的传输可以使用缓冲区中保存的token。 为了平衡token,TEB可以通过用于这种token的特定支付通道彼此交换这样的token。
5.2 光谱链健壮性完善
1)在光谱网络里面的,目前有17个出块节点,1234个候选节点,其中创世节点为了防止恶意攻击是有特殊意义的,就是如果其他出块节点和候选节点挂掉,创世节点也能工作,保证整个网络不会挂掉。下一步需要进行硬分叉,将创世节点的移除,实现光谱链的完全社区自治化。
2)将创世节点移除以后,如何保障极端情况光谱网络正常运行?
· 如果17个出块节点,都不能正常出块,如果time1(比如10分钟)后,将在候选节点选拔出块节点,比如有1234个候选节点,将他们分成n组,每个组有m个节点,这些组将按照顺序优先级竞争选拔出一个节点到出块节点进行出块。
· 如果出块节点和候选节点,都不能正常出块,如果超过time2(比如30分钟),则全网有出块意愿的节点将通过pow竞争出一个节点,添加上上个epoch出块最多的16个出块节点,一共17个节点作为新的出块列表。
3)下图显示了私链如何与公链分开(并行)运行的健壮性分析。
在任何时候,即使当Islanded Spectrum没有与互联网连接(因此与公链无关),以下内容也是可能的。
l 公链中的节点可以访问与公链关联的地址以及链接合同的公共部分中的地址。
l Islanded Spectrum中的节点可以访问与Islanded Spectrum相关的地址以及链接合同的Islanded部分中的地址。
但是,当Islanded Spectrum连接到Internet时,Islanded chain和Public chain部分中的地址之间转移交易。
以下显示了多个Islanded Spectrum链,每个链都带有SMT token。 岛(1)使用SMT(1),岛(2)使用SMT(2),依此类推。 每个岛的不同token是必需的,因为一个岛上的SMT值可能漂移并与其他岛上的SMT不同步,以及公链的SMT代币(称为SMT(0))。
6,参考
1. [Graphene] Advantages of Graphene. http://www.rfwireless-world.com/Terminology/Advantages-and-Disadvantages-of-Graphene.html
2. [Bulletproof] https://spectrum.ieee.org/nanoclast/semiconductors/materials/graphene-proves-to-be-superman-of-bullet-proof-materials
3. [nanotech] http://www.dummies.com/education/science/nanotechnology/graphene-sheets-of-carbon-based-nanoparticles/
4. [GlobalWealth] Credit Suisse Global Wealth Report, 2017
5. [Grameen] Mohammad Yunus, A World of Three Zeros: The New Economics of Zero Poverty, Zero Unemployment, and Zero Net Carbon Emissions, September 2017.