- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
夜幕(Darkness)
I am a flyfire drift in the dark ----flyfire
声明1:本文档中技术仅限于正义和合法用途,如若采用文中技术进行违法犯罪活动,本人概不负责。
声明2:本文档中区块链技术基于Bismuth加密货币区块链进行构建,详情:www.bismuth.top
信条(Creed)
自由(Freedom)
平等(Equality)
简洁即美(Simple is beautiful)
不违反法律法规
夜幕的结构
2.1 传统网络
P1: 传统网络
传统网络中数据借助路由机制在网络空间传输。
2.2 区块链网络
P2:区块链网络
区块链网络借助传统网络层构建,数据采用分布式存储,采用加密学算法进行数据核验,保证数据一致性和准确性。存在两个问题,一是分布式数据库一般只记录转账信息,且随着交易次数的增加数据库占用空间也会增加。二是网络同步时间问题,Alice在本地记录了一笔转账,同步到Bob的本地过程中数据的同步时间不确定,经过了多少层网络也不确定。
2.3 夜幕的网络
P3:基于区块链的暗网网络
Alice首先转账给Bob,转账信息中的openfield地段中设置”get ticket”字段(相当于买票),Bob收到转账后给Alice进行转账(给Alice进行找零),其中设置openfield地段设置为“ticket:IP_list”,IP地址可以是一个或者多个。然后Alice从找零信息中获取出主节点的信息,然后向主节点注册,然后发消息给主节点告知主节点,我有消息要给Bob。然后主节点存储消息,与此同时Bob向主节点注册并获取自己的消息,这样Bob就收到了Alice发送的消息。如果Alice的消息过大,可以进行消息拆分操作,然后通过不同的主节点进行发送。
通过上述机制,可以减少ledger.db的大小,同时Alice和Bob之间的网络层次减少了。结合了区块链技术和传统网络系统的优点,且端到端进行加密,消息不可以被窃取。
2.4 夜幕的延伸
P4:夜幕的延伸网络
当夜幕在一个加密货币中形成后,接下来就是下一步,夜幕的延伸,借助Adapter Node将加密货币间的通信进行转换,这样不同的区块链就可以链接成一个巨大的夜幕网络。Adapter节点承担了汇率转换和信息转换的作用。这个依赖于具体的加密货币的实现方式,以及信息的加密方式。因为夜幕是端到端的加密,所以Adapter节点的功能不复杂。Adpater节点的具体实现以夜幕的发展为前提,在此不进行深入分析。
交互流程
主节点:在区块链中存在至关重要作用的节点,必须是公网IP,且必须稳定,主节点可以按照服务量获得一定的报酬。
其他节点:在区块链中不定时开启的节点或者不稳定的节点,如个人的钱包或者个人节点,可以没有公网IP。
3.1 主节点的流程
启动监听,等待Alice或者Bob注册
Alice进行注册
主节点生成一个挑战码,可以是随机数
主节点查询Alice在ledger.db中的公钥,并用此公钥对挑战码进行加密,然后发送给Alice
主节点接收Alice返回的挑战码验证信息,采用自己的私钥解密加密的挑战码,如果与发送的挑战码一致,则认为Alice注册成功,然后把结果发送给Alice
如果Alice注册成功,则监听Alice的发送的其他消息,如果Alice注册失败,则发送失败结果并断开连接,流程结束
Alice如果发送过来的消息是‘sendmsg’则接受Alice的消息,消息中包含发送的地址、消息的sequence信息,消息的内容,其中消息的sequence和消息内容都是加密的。Sequence中格式如下:
消息分片的index/消息的总长度/消息的UUID
如果消息存储成功,则将成功结果发送给Alice,否则发送失败结果,然后断开连接,会话结束。
第6步中如果接收到的是‘getmsg’消息,则把Alice的所有本地存储的消息都发送给Alice,然后接收响应,如果成功则断开连接,关闭会话。
其他命令功能暂时还未添加,后续优化和补充。主要包含“查询Bob主节点信息”,“查询主节点状态的信息”等
3.2 非主节点的流程
Alice侧的流程:
Alice启动后,首先查询Bob转给自己的转账记录,如果存在ticket,则可以直接连接主节点,进行与Bob的消息交互,如果不存在ticket,则需要向Bob进行转账购买ticket。其中买票的记录中openfield字段为“get_ticket”,Bob返回的转账(找零)信息中携带“ticket:IP_list”。此处的IP_list可以是一个,也可以是多个,建议为多个,可靠性考虑。
Alice获取到Bob使用的主节点信息后,连接主节点,发送“register”请求,按照主节点中描述的流程进行注册
文档评论(0)