一、Koala概述
我们很高兴地宣布NKN测试网 v0.5版本 Koala于2018年10月31日正式发布!这标志着NKN路线图上又一个重要里程碑的按期达成。 自两个月前v0.3版本 Lemur测试网发布以来,NKN开发团队取得了以下成就:
开发改进了NKN核心软件的稳定性和可扩展性:重新编写了整个网络层nnet,并将其作为新的顶层代码仓库进行发布(https://github.com/nknorg/nnet)。与此同时,Koala测试网也进一步增强了共识层的实现。
完成了阶段性的系统可扩展性优化和效率改进。 在社区的支持下,NKN项目将开放的测试网规模扩展到了全球超过4,000个节点。
进一步增强和优化了NKN客户端SDK和钱包SDK的功能。 这使得更多社区开发者可以在NKN协议之上构建各种去中心化应用程序(dApp)。
与此同时,NKN社区开发者更加积极参与到测试网开发当中来,并且扮演着越来越重要的角色。 他们创建了大量高质量的代码,包括NKN Dashboard,钱包,区块链资源管理器,去中心化应用程序,多种编程语言的客户端,技术文档和教程等。 这一切都推动整个NKN开发社区朝着明年第二季度向主网发布迈出了一大步。
二、Github代码仓库更新
首先,在过去得两个月时间里,从NKN Github代码仓库的代码请求和提交数量来看,主要集中在如下5个代码库:nkn,nnet,nkn-client-js,nkn-wallet-js和nkn-mining。同时,在这段时间里NKN测试网快速迭代了18个子版本。这展示了核心开发团队的高效工作和为实现最终目标付出的巨大努力。
提交请求数量
代码递交数量
测试网子版本数量
96
194
18
三、核心软件开发成果
在Koala测试网发布中,具体成果主要体现在:
对NKN网络层DDTN,即基于Chord的分布式哈希表网络层功能进行了强化。具体包括修复了为公链寻找分布式哈希表中后继者的出现的错误; 为分布式哈希表入口连接添加超时以避免端口泄漏;为更改分布式哈希表入口连接时添加锁定功能;修复分布式哈希表入口连接并发映射迭代和映射写入;修复潜在的死锁(Deadlock)问题;如果节点具有验证块的能力,则在同步模式下添加发送投票的功能;优化分布式哈希表连接句柄逻辑;修复可能将空节点分配到路由表的问题;更新前检查后继节点host和活动;如果所有后继节点都失联了,用最近的可以获得的路由表作为后继节点列表, 从而允许大规模节点掉线,以增强网络鲁棒性(Robustness)。
Koala版本侧重大规模节点部署下的共识优化和攻击防范,用于下一阶段测试网络的性能。测试网核心代码仓库不断更新优化,在两个月内快速迭代共发布了18个测试网版本,这有助于v0.5版本NKN测试网的稳定性得到进一步提高。例如,为了解决大规模新区块提议导致节点过载的问题,开发团队将区块生产者的标识符调整为钱包地址和节点ID,以确保区块生产者是唯一的,修复后不再有新的区块提议分叉;为了解决大多数节点同时重启时网络不稳定的问题,开发团队基于网络大小动态估计调整后继节点列表的长度。当列表中的后继节点全部无效时,以路由表(Finger Table)用作替代方案以确保网络拓扑的正确性和可恢复性。在解决相关问题之后, 社区成员的挖矿节点数量呈现大规模增长,曾占网络节点总数的94.5%。
在NKN区块链中实现了交易信息和区块信息的Gossip算法的优化。用Chord可以使用比较高效的Gossip广播算法,这对于带宽和传输延时都是优化过的,每个节点只收到一次或若干消息。
MOCA共识已经完成核心功能开发,并且在Koala版本中完善MOCA共识过程中区块生产者的合法性验证的功能,并且进一步优化了基于邻居投票的区块同步功能。为了解决节点加入时同步到错误的状态的问题,开发团队优化代码保证节点使用其大多数邻居来确定正确的最新状态,并确保它获得正确的区块历史记录。
NKN客户端和钱包的 SDK 中加入了若干关键功能,例如消息多播,离线客户端的消息缓存,域名服务的注册和解析等。
四、nnet代码仓库发布
我们在Koala版本中发布一个新的代码仓库nnet。它是一个快速,可扩展且易用的点对点(P2P)网络层。 nnet是NKN的四个核心组件之一,我们在Koala版本中将其模块化并作为一个单独的顶层代码仓库发布。 nnet代码由Go语言编写,它将使开发者能够使用下一代去中心化网络基础架构构建基于全新的P2P网络和连接的应用程序。 有关详细信息,请参阅
nnet Github:https://github.com/nknorg/nnet
如果您喜欢,可以通过在Github上点“Star”来对nnet表达支持!
五、前端产品发布
为了促进社区参与测试网并进行实验挖矿,NKN前端开发团队开发并发布了基于图形界面(GUI)的矿机,并相应地发布了详细的实验网挖矿指南。这将有助于更多社区成员参与NKN测试网实验挖矿,并进一步帮助核心开发团队发现大规模测试网络中所暴露的问题。您可以通过如下链接获得Mac OS和Linux的一键式GUI挖矿软件:
https://github.com/nknorg/nkn-mining/releases
此外,前端开发团队还实现了一个NKN开放测试网状态监控的Dashboard,可以显示当前全球范围内所有NKN测试网矿机的数量和地理位置。您可以通过缩放定位它们具体在那个城市,由此可以看出NKN社区的广泛和积极的参与程度:http://testnet.nkn.org/network
六、社区贡献的成果
挖矿Dashboard,网络钱包和区块链资源管理器
NKNX区块链资源管理器:
https://nknx.org
NKN测试网挖矿Dashboard:
https://github.com/thesheepman/nkn-dashboard
NKN网络钱包:
https://newkindofwallet.com
应用程序
Space cats,3D实时多人对战的去中心化游戏:
https://github.com/PlaySpaceCats/space-cats
NKN域名服务:
https://github.com/nknorg/nkn/pull/272
NKN客户端
Java语言的NKN客户端:
https://github.com/RealJohnSmith/nkn-java-client
C#语言的NKN客户端:
https://github.com/trueinsider/nkn-client-csharp
Exlir语言的NKN客户端:
https://github.com/termoose/nkn_client
技术文档和教程
用Raspberry pi制作你的NKM(New Kind of Miner):
https://medium.com/nknetwork/make-your-own-nkm-new-kind-of-miner-out-of-a-raspberry-pi-dbeeed6d8130
在5分钟内建立NKN矿机并使用DigitalOcean免费运行2个月:
https://medium.com/nknetwork/setting-up-a-nkn-miner-in-5-minutes-and-run-it-free-for-2-months-with-digitalocean-76bafcd82ae8
如何在Windows 10上设置NKN矿机并将其设置为全自动运行:
https://medium.com/nknetwork/how-to-set-up-a-nkn-miner-on-windows-10-and-run-it-as-a-automatic-service-63e5b7a6b792
将Raspberry Pi设置为即插即用NKN矿机的脚本:https://github.com/rxper/nkm-pi
七、展望Meerkat
NKN测试网的v0.5版本Koala的发布也同时启动了到2019年1月31日将发布的v0.7版本 Meerkat的进程。Meerkat将是最终全功能的NKN测试网。它的主要目的是在切换到NKN主网之前实现完整的工程实施和性能开发以及验证。我们展望Meerkat的里程碑,技术重点是引入功能齐全的NKN测试网络,包括容错,数据传输和路由,中继认证以及全功能的共识算法。 Meerkat中的共识算法能够在大规模网络中快速收敛。 此外,Meerkat还将发布NKN SDK 1.0版本,以加速NKN生态之上的应用程序开发。
八、诚聘开发者
我们邀请以下特长的开发者加入我们在Discord和GitHub上蓬勃发展的技术社区:
应用程序开发者:使用来自NKN客户端SDK的几行Javascript代码开发点对点的去中心化应用程序。
后端开发者:帮助我们构建新功能,发现并解决我们的核心软件中的错误。
前端开发者:帮助我们为NKN用户构建更好的Dashboard,区块链资源管理器,钱包以及其他工具包。
九、社区AMA
在社区参与和互动方面,我们会在11月初举行一次在线的AMA交流活动,并发布NKN测试网实验挖矿奖励政策的指导文件,请大家关注我们的官方新闻渠道,了解最新消息!
十、注意事项
NKN测试网v0.5版本Koala并不能兼容之前v0.3版本Lemur。NKN要求您在加入NKN测试网前将软件更新到v0.5版本。另外,软件版本不兼容并不会影响之前的挖矿记录,请在更新软件时保存好之前的NKN测试网实验挖矿记录文件。
关于NKN
NKN是一个完全去中心化, 基于网络传输量工作证明,可支持千万级规模节点共识的公链系统。同时由NKN所构建的这样一个区块链驱动、社区共建共享的新型点对点网络,可为终端用户带来全新的网络传输体验和为开发者提供便捷、高效的数据传输开发平台。继以太坊区块链化计算能力, Filecoin/IPFS区块链化存储,NKN对信息基础设施的第三大支柱-网络传输-进行区块链化,创建新型区块链网络生态系统。
Home: https://nkn.org/
Telegram: https://t.me/nknorg
Twitter: https://twitter.com/NKN_ORG
Medium: https://medium.com/nknetwork
Linkedin: https://www.linkedin.com/company/nknetwork/
Github: https://github.com/nknorg
Reddit:https://www.reddit.com/r/nknblockchain
Discord: https://discord.gg/c7mTynX
领取专属 10元无门槛券
私享最新 技术干货