Seed - Development - Base Project & Cryptographic Portion
Seed is a research project with the end goal of supporting a high-throughput, low-latency blockchain. There are a few modifications to blockchain technology that Seed would like to explore in it's attempt to support this end goal.
Seed Literature
Seed - Background Knowledge on the Bitcoin Scaling Debate
Seed - Problems & Hypothesized Solutions
Seed Summarized
The first major philosophy change is switching away from competitive mining, and moving towards cooperative validation. We believe that the traditional competitive approach to proof-of-work causes a misalignment of users, as well as acts as a major bottleneck in the system. Seed aims at having transactions validate each other, offering work up-front as their 'fee' for being used in the network. Our blockchain will organize its transactions in a directed acyclic graph (DAG), rather than in internal lists. This is done in order to give us the short-term benefits of DAG while still storing the DAG into blocks for long-term storage.
The next thing we aim to do with modules, the decentralized apps of the Seed system, to be able to interact directly with other modules. Every client should be able to validate and run any transaction for any module, asynchronously of course. This allows for interprocess communications to be created between modules and them to build on each other.
We also aim to allow modules to describe the networking requirements of each function. In Ethereum, the amount of wei per gas offered by the user dictates that transactions requirements on the network. We envision that this should be taken away from the users control, and instead modules themselves should describe the requirements of its functions.
Last but not least, we also aim to achieve real-time speeds by allowing modules to host their own relay nodes which have direct control over the routing of transactions. For example, should a dApp be created which requires very low latency between users with similar x/y coordinates to one-other, that dApp developer should be able to host a relay node which routes users who need instant validation from each other to one-other, in order to minimize propagation time for time critical software.
What is completed so far?
Seed is still very early into development. The client is a shell Electron client currently which is connected to the Seed API. Within the Seed API, the portion that is complete is the cryptographic section, such as generating private keys, signing transactions, generating public addresses and SHA256 hashing.
In development on the virtualMachine branch is some early prototyping of hashing/transacting hashable functions for modules. This branch is still in very early development.
What is mostly completed is the background research, two literature reviews, two blockchain research proposals and the project proposal for Seed. It is currently transitioning from design into code.
Running The Client:
When you first pull the project from git, change the directory to the /clientSrc folder. From there, you can launch the client with the following command
npm start
The unit tests are currently being run right away and printing to the developers console. Through the electron wallet, you can view the developers console by opening up Developers Mode, which is accessible as a menu item in the top menu, or via Control-D (CMD-D on Mac).
What is the technology stack?
The first implementation of Seed is being created in JavaScript using Node.js. Outside that, we aim to have as few dependencies as possible for the Seed API. The Seed API should be able to run on anything which supports Node.js.
The client is being created using Electron. This client is allowed to have more dependencies, however all networking requirements and protocol requirements still must be done in vanilla JS or Node.js
What is the road map?
The schedule for this project is currently as follows:
This schedule is under the assumption that the two contributors are myself and @jaegar. There is a separate project that the two of us will also be developing alongside Seed, which will be the first released module for Seed to prove its use case.
How to contribute?
If you would like to work with us and help contribute, you can get in contact with me through the comment section here or via my direct contact information that can be found on my Github.
Thanks for your time. I'm developing Seed following Agile Scrum with my partner @jaegar. We plan on posting a pull request to #utioian-io once every two-week sprint. Between posts, however, I will be blogging the experience on Steemit. So the literature reviews, development discussions, research and design discussions are all on Steemit, with the code updates being posted to #utopian-io, both under @carsonroscoe for now.
Posted on Utopian.io - Rewarding Open Source Contributors
Will be there an ico?
We haven't planned out the specifics of the launch yet. An ICO is possible and might happen in the future, but me and my partner in this project have debated this before and have not come to a firm conclusion.
ICOs are great if the developers need funding. If this research ends up being a success and we take it to the next level, then we would do an ICO in order to afford to hire staff members, other developers, and take it to market.
For now though, it's a research project being developed by two people, trying to prove that a cooperative approach to proof-of-work could remove a huge bottleneck in cryptocurrencies. If we succeed in proving this, we will probably go the ICO route and take this to the next level.
Thank you for the contribution. It has been approved.
Please provide instructions on how to start and test the shell Electron client since this is the first working part.
Good pull request details.
You can contact us on Discord.
[utopian-moderator]
Thank you :) I believe that was written in the README.md however I forgot it in the post. I'll edit it in, thanks
Hey @carsonroscoe I am @utopian-io. I have just upvoted you!
Achievements
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x
vielen Dank )