{"id":20741366,"url":"https://github.com/project-undefined/nextonion","last_synced_at":"2026-04-18T23:05:26.576Z","repository":{"id":108622784,"uuid":"608602355","full_name":"project-undefined/NextOnion","owner":"project-undefined","description":"Implementation of the NextOnion protocol, a new innovation by Project Undefined using the IOTA network.","archived":false,"fork":false,"pushed_at":"2024-01-25T11:50:35.000Z","size":134,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-18T02:14:08.373Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/project-undefined.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-03-02T11:07:12.000Z","updated_at":"2024-01-25T11:51:06.000Z","dependencies_parsed_at":"2023-04-17T14:18:15.489Z","dependency_job_id":null,"html_url":"https://github.com/project-undefined/NextOnion","commit_stats":null,"previous_names":["project-undefined/daodtp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-undefined%2FNextOnion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-undefined%2FNextOnion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-undefined%2FNextOnion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/project-undefined%2FNextOnion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/project-undefined","download_url":"https://codeload.github.com/project-undefined/NextOnion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243030816,"owners_count":20224666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T06:40:44.879Z","updated_at":"2025-12-24T23:03:16.991Z","avatar_url":"https://github.com/project-undefined.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NextOnion\nStatus: inactive\n\nImplementation of the NextOnion protocol.\n(the name is just a placeholder for now)\n\n# Note on the name change\nYeah, the previous one was kinda dumb and misleading.\n\n# Status\nRight now, have just implemented the simple MQTT example from the iota.rs library provided by IOTA.\nOther than that, the protocol has not been developed program-wise. \nIt's a pretty simple protocol, so it shouldn't take an obsessivly long time to make (probably ;)).\n\n# DISCLAIMER\nThere is no guarentee that this protocol will acctually work, it is a relitively new idea. \n\n# LICENSING NOTICE\nThis project is licensed under the Apache-2.0-NoHarm License, found in License.md\n\n# HOW IT WORKS\nNote: flowchart is in development, this just illustrates the GENERAL idea\n![flowchart-outline](flowchart-outline.png)\n\nIn short:\n\nThe client machine handles two-three processes, each a separate connection to the IOTA network (connected to separate nodes).\n\nOne process is what I call the observer, and the other is the sender. \n\nThe observer connects via MQTT to an iota node, and its IP address can be seen.\n\nOn the other hand, the other process, the sender, can only send messages, but cannot receive anything. \n\nThe sender creates a spoofed packet and sends that message to a dedicated node (OVERFLOW) on the iota network.\n\nWell, since the node has no idea what the real IP is, it cannot communicate with the user. \n\nTherefore, the node does not know who actually sent the message, while the sender does not know if the node even received or accepted the message.\n \nThat's where the observer comes in.\n\nIf the node accepts the sent data by the sender, the message will be sent by the node to the entire network. \n\nIn this case, the observer monitors all of the events on the network. \n\nSo, if the data was successfully sent, the observer will receive it. \n\nAnd if the server receives it within the next 1-2 milestones on the network, then it will confirm with the sender.  (might be changed as I learn more about how IOTA works)\n\nIf it does not, then it will tell the sender to again repeat this until the data is successfully sent. \n\nThe result is, no node knows who actually sent the original message. \n\nThe only possible metadata that can be collected is when and how long the observer connects to the network and how long. \n\nThe node the observer is connected to does not know which data the observer is using, so it is unidentifiable. \n\nThe observer is also in charge of reading incoming messages from other users. \n\n(NOTE: protocol will be explained in more depth later on, but for now, this is just the general framework. )\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject-undefined%2Fnextonion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproject-undefined%2Fnextonion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproject-undefined%2Fnextonion/lists"}