您现在的位置是:首页 > 项目集市 > 潜力项目网站首页潜力项目

C42 | NKN项目介绍

  • Genesis
  • 潜力项目
  • 2019-04-17
简介NKN是一个完全去中心化,基于网络传输量工作证明,可支持千万级规模节点共识的区块链系统。由NKN所构建的这样一个有经济模型所驱动,社区共建共享的新型点对点网络,为开发者提供了一个开放、便捷、高效和安全的网络连接传输平台。基于NKN开发的各种应用将给终端用户带来各种全新的网络体验。

项目简介

 
NKN是一个完全去中心化,基于网络传输量工作证明,可支持千万级规模节点共识的区块链系统。由NKN所构建的这样一个有经济模型所驱动,社区共建共享的新型点对点网络,为开发者提供了一个开放、便捷、高效和安全的网络连接传输平台。基于NKN开发的各种应用将给终端用户带来各种全新的网络体验。
 

技术核心

 

去中心化数据传输网络(DDTN)


DDTN作为数据传输网络,可以包含数百万或更多的节点。因为每个节点可以随时加入或离开网络,网络是动态变化的。在这样的规模下,每个节点维护网络中所有节点的最新列表是不现实的。因此,NKN引入元胞自动机方法论,定义网络中的每个节点只连接并了解网络中称为邻居的有限几个节点。DDTN网络拓扑结构由邻居的选择决定。为了同时实现可扩展和安全性,NKN根据一下规则选择适当的拓扑:
(1)网络保证连接性并且具有比较小的直径;
(2)仅使用关于邻居的信息保证任何节点之间存在有效的路由算法;
(3)在给定均匀分布的源和目的的随机流量的情况下保证节点之间负载是平衡的;
(4)邻居的选择应该是不可预测的,但可以验证以防止攻击。
NKN使用改进的Chord分布式哈希表(DHT)的拓扑结构以保证可扩展性。每个节点在Chord环上都有一个m位随机地址。节点连接到一组具有特定距离的其他O(logN)节点,以便可以验证邻居的选择。任何节点对之间的路由平均为O(logN),最多为m,并且在给定拓扑的情况下具有确定性和可验证性。
 

基于元胞自动机的MVCA共识算法

 
NKN网络达成共识有点类似于我们选举一样,由大家来投票表决,得票最多的数据传输交易,就会被认定为一个合法的交易。
值得一提的是NKN这种投票共识机制并不是像拜占庭协议那样需要全局性的投票,而是创新性的采用了基于元胞自动机的伊辛(Ising)模型投票机制或者称之为 ”多数投票元胞自动机”(MVCA)算法。这种共识算法可以实现高度可扩展。MVCA共识算法在NKN的白皮书里有详尽的描述和数学证明(https://www.nkn.org/doc/NKN_Whitepaper.pdf)。简言之,MVCA在共识时间和消息数量方面都很有效,因为只需要几个邻居之间的通信迭代就可以达成全网共识。通过Gossip协议,共识所需的信息在共识开始时发送给所有参与节点,这个协议花费O(logN)时间 (N为全网节点数量,k为邻居数量),这是共识过程的主要时间成本。
 

中继证明 (PoR)

 
NKN中的一个关键问题是要证明一个节点中继了多少数据,也就是中继证明(Proof of Relay, PoR)。 PoR对于NKN至关重要,因为被中继的数据量与NKN系统通证奖励直接相关。理想的证明应该满足以下条件:
(1)可验证的:任何参与数据传输的人都能够仅使用公共信息正确验证证明;
(2)不可伪造性:除非控制所有涉及的节点,否则没有一方能够伪造有效证明;
(3)不可篡改性:除非控制所有涉及的节点,否则没有一方能够修改有效的证明。
与比特币和以太坊挖矿不同,PoR是一个有用的工作证明:挖掘正在传递数据。PoR通过特殊的签名链进行实现。为了提高效率,PoR使用哈希签名链以不可控但可验证的方式随机选择样本。此外,PoR的特征还在于即使恶意攻击者控制了网络中大多数节点PoR也很难伪造。
简单来说,PoR签名链是中继节点在中继数据包时依次签署的哈希链。签名链的原理就是在一个活跃的通信信道内的参与各方按照时间戳的顺序组成一条签名链,而这条签名链的哈希值包含了多个0,活跃的信道在进行数据传输时以一种类似于穷举的办法来找到这个符合要求的哈希值(哈希值小于某个阈值)。如果NKN系统要求的签名链哈希值中,随着0的数目增多,PoR工作量则呈现指数级增长。一旦矿工节点找到了这个符合条件的签名链,也就确定了一个数据块,根据数据块的哈希进行一定的运算就可以在参与签名链的节点中选出记账人。因此,这个可验证的数据块具有确定性。除非对数据块进行一定的工作量运算,否则,数据块是无法更改的。由于哈希算法是一种穷举法,如果NKN网络上的诚实节点数量超过约2/3 ,基本上攻击者想伪造一个交易成功,它成功几率很低。
从结构上来说NKN的签名链由元素串联而成,而每个元素由下面字段组成:
(1) 中继节点的NKN地址和公钥
(2) 下一个中继节点的公钥
(3) 使用中继节点私钥签署的签名
NKN使用移除有效载荷字段的NKN数据包作为路由中所有中继节点的中继工作证明。它满足可验证的,不可伪造的和不可篡改的要求,使得每个节点都能够验证签名链的有效性,而没有人可以伪造或修改有效的签名链,因而无需控制路由中的所有节点。
另外,签名链不会出现分叉,因为每个元素都包含下一个节点的NKN地址和公钥。如果路由上的节点是恶意的,并且在生成签名时删除或修改链上某些先前的元素,则该链不再有效。
NKN在PoR的设计也考虑到了效率的问题。每个NKN数据包都有一个证明,可用作验签从源节点到中继节点间交易的收据。但是,为NKN中传输的每个数据包创建一个交易是低效的。因此,PoR规定只有签名链上最后一个签名小于阈值的数据包才有资格进行交易。这样设计是因为签名链上的最后一个签名对每个人都是可验证的,但仍然是不可预测和不可控制的,除非包括源和目的地在内的所有沿途节点由同一方控制。考虑到有效载荷和完整路径,最后的签名本质上是确定性的,但如果没有沿路径的所有私钥,就不能提前计算。
由此可以看出在PoR算法中,记账人候选投票并不是一个人/IP地址一票,而是一个签名链(活跃的信道)一票。那么,如果一个人想控制NKN,他必须有足够多的活跃信道,那么当NKN的规模越庞大,控制就越难。就好比一个人也许可以很容易的控制有限数量的选票,而当选票规模越大,控制就越难。
另外,在一个对等网络中在做这种投票工作,假设工作量很小的话,那么确认交易仅需要少量的数据传输能力就可以完成了,这会导致伪造这种交易。所以,NKN引入了PoR机制对一个交易进行证明。这个过程需要耗费一定的数据传输能力和时间,一旦数据传输成功,那么就确定了一笔交易。而反过来,对于其它节点来说,只要进行一个很简单的运算,就可以知道这个交易是真实的,还是假冒的。这种PoR机制,就好比在现实生活中,国家花费大量精力对钞票进行防伪设计,而普通的民众,只需要对钞票进行简单的辨认,就可以识别真假。
传统的比特币的工作量证明因为并不是出每个块之前都会达成共识,所以即使无恶意节点也会天然产生分叉。与此不同的是,NKN中的每个区块都会共识,所以NKN天然不会分叉,只有在一个节点被恶意节点包围了的情况下才会分叉,而且这个分叉是局部的,只有被包围的节点那里才可能有。然而,这种分叉产生以后,比特币的工作量会选择较长的链;NKN由于天然不会产生分叉,(局部)出现分叉则说明被攻击了,被攻击的节点需要重新加入网络以摆脱恶意邻居的影响来获取正确的区块链数据。
最后,比特币由于天然会分叉,所以才需要等待一段时间来确认交易,NKN不会天然分叉,所以不会有这个问题。在NKN的系统里只要出块了,并且从网络中随机抽样选取一些节点确认后(来避免某个节点被攻击),直接即可确认交易,无需额外的延迟,这是NKN的优势。
 

中继路径验证(RPV)

 
尽管签名链中的签名可以保证它是由所声明的中继节点签署的,但它们并不保证中继路径的正确性,如果路径是NKN的去中心化数据传输网络(DDTN)的指定路径,则路径被定义为正确。能够验证路径的正确性对于签名链的安全性至关重要,否则攻击者可以通过选择特定节点作为下一跳来打破每一跳通向随机节点的假设,并且恶意方可以完全构建签名链通过仅将数据包中继到受控节点来进行控制,以实现共谋攻击。由一方完全控制的签名链不再由该方不可预知,并且可由该方计算而不实际传送任何数据。然后,恶意攻击者可以通过生成更多的签名链来获得不公平的经济优势,从而增加获得挖矿奖励的机会。
任何中继路径的有效性应该是所有节点之间的共识,因为它是为每个区块选择全局唯一的挖掘节点的先决条件。NKN有两种方法可以达成共识:
(1) 节点使用已经达成共识的全局信息;
(2) 节点使用自己的本地信息,并在稍后达成共识。
RPV选择第一种方法,因为它不需要节点之间的额外通信,而且效率更高。这种方法的缺点是全球信息有时间延迟,因此拓扑结构可能与过去达成共识的时间不同。只要有效路径是唯一的或几乎唯一的,我们认为这是可以接受的,并且有效路径仍然存在,并将在验证时由真实节点选择。RPV算法保证每一跳都是有效的。因为只有每一跳都有效,则路径才是有效的。由于验证仅利用签名链中的信息和先前块中的数据,因此接收签名链并具有先前块信息的网络中的每个节点都将产生相同的输出,从而确保验证的一致性。
 

嵌入公钥的NKN地址方案

 
节点的NKN地址需要保持随机性有两个原因。
首先,恶意节点很难选择特定的NKN地址。恶意节点一旦能够选择NKN地址则使其更容易以邻居的方式攻击系统,因为NKN的路由是基于NKN地址的。
其次,随机性保证给定NKN地址的节点之间的负载更加平衡,有效地使网络更加分散。
为了保证NKN地址的随机性并防止恶意节点选择特定的NKN地址,当节点加入NKN网络时,使用唯一的,不可预知的,不可控的但仍可验证的功能来生成NKN地址。 NKN在节点加入时选择公共IP地址和最新区块的哈希值的哈希值。
节点NKN地址=哈希(节点公共IP地址,最新块的哈希值)
Node NKN address = hash(Node public IP address, latest
block hash)
这样可以保证由其他节点可验证,但事先不可预知。
另外,客户端从节点有不同的NKN地址方案,并满足以下性质:
(1) 客户端NKN地址是永久性的,因此客户端可以在不同的物理网络中从同一个NKN地址接入。
(2) 客户端NKN地址与其公钥相关联,以避免NKN地址冲突,使其他客户端无法接收发送给它的数据包
NKN选择这样的方案,使得客户端NKN地址是由类似url的NKN地址字符串计算的,该字符串由客户端选择的任意字符串及其公钥
客户端NKN地址=哈希(“任意字符串.客户端公钥”)
Client NKN address =
hash("arbitrary-string.client-public-key")
在NKN地址字符串中,由点分隔的最后一个子字符串表示客户端的唯一身份(客户端公钥),类似于url中的根域; 其余的由客户端选择,类似于url中的子域名。这样的方案满足上述两个属性。另外,用户(密钥对持有者)可以生成尽可能多的NKN地址,因为他希望共享相同的帐户(密钥对)。
客户不直接分发他们的NKN地址。相反,客户端将其NKN地址字符串分发给节点或其他客户端,并且它们在本地计算客户端的NKN地址,以便他们同时知道客户端的NKN地址和公钥。使用这样的方案,任何客户端之间的端到端加密很容易实现。
 

团队介绍

 
李彦博,NKN创始人、Onchain联合创始人
 
李彦博是 Onchain的联合创始人,具有丰富的项目开发和管理经验。他是onchain区块链平台DNA (distribute network architecture)核心设计和开发者之一。他在斯坦福大学学习并在密码学方面拥有出色的背景。在诺基亚拥有超过10年的研发经验,专门从事分布式网络系统的软件架构设计和Mesh网络协议的实现。
 
Bruce Z. Li,联合创始人,负责战略和创新
 
具有创新远见和商业头脑的技术专家。诺基亚和谷歌的连续创业者:在移动无线和软件领域创立并领导数百万美元的初创项目; 在美国,欧盟和中国管理大型研发团队。上海交通大学和澳大利亚国立大学硕士学位。发表了4项专利,2篇论文和1本书。
 
Justin Wang,联合创始人,核心研究者
 
杰出的技术专家,多产的发明人和行业影响者,在无线通信,物联网,云计算和区块链领域拥有45项国际专利(已发布和正在申请中)。诺基亚,微软和爱立信拥有10年以上的技术创新和开发经验。区块链技术的信徒。
 
Yilun Zhang,联合创始人,核心研究者和开发人员
 
在加州大学圣地亚哥分校物理系获得博士学位。对细胞自动机有深入的理解和广泛的研究,使用物理学中的Ising模型,计算机科学中的Hopfield网络和神经科学中的递归神经网络作为数学工具,研究计算神经科学。
 
顾问
 
Whitfield Diffie:公钥密码学发明人(Diffie-Hellman),2015年图灵奖得主。
 
公钥密码术不仅彻底改变了密码学,而且还促进了整个互联网商业,区块链和加密货币的发展。 他加入Sun Microsystems担任杰出工程师,并担任Sun公司首席安全官,直到2009年春季。目前他是斯坦福大学国际安全与合作中心的咨询学者。
 

代币信息

 
最大供应量: 1,000,000,000NKN
总供应量: 700,000,000NKN
流通量:350,000,000 NKN
ICO日期:2018-05-28
融资上限:24,100 ETH
发行价格:0.0001852 ETH(¥0.8946)
 

相关链接

 
官网:https://www.nkn.org/
测试网:https://testnet.nkn.org/
Github:https://github.com/nknorg
区块浏览器:
https://etherscan.io/token/0x5cf04716ba20127f1e2297addcf4b5035000c9eb#tokenInfo
Medium:https://medium.com/nknetwork
Twitter:https://twitter.com/NKN_ORG
Reddit:https://www.reddit.com/r/nknblockchain
Discord:https://discordapp.com/invite/hrZvrVa



免责声明:文章版权归原作者所有,内容为作者个人独立观点,并不代表链随赞同其观点和对其真实性负责。如其他媒体、网站或个人从本网转载使用,必须保留本网注明的“稿件来源”,并自负版权等法律责任。如对稿件内容有疑议,请及时与我们联系。
 
 

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

Top