{"action":"created","issue":{"url":"https://api.github.com/repos/LiskHQ/lisk/issues/353","repository_url":"https://api.github.com/repos/LiskHQ/lisk","labels_url":"https://api.github.com/repos/LiskHQ/lisk/issues/353/labels{/name}","comments_url":"https://api.github.com/repos/LiskHQ/lisk/issues/353/comments","events_url":"https://api.github.com/repos/LiskHQ/lisk/issues/353/events","html_url":"https://github.com/LiskHQ/lisk/issues/353","id":194849927,"number":353,"title":"Solutions to improve Lisk DPoS","user":{"login":"karek314","id":9548618,"avatar_url":"https://avatars1.githubusercontent.com/u/9548618?v=4","gravatar_id":"","url":"https://api.github.com/users/karek314","html_url":"https://github.com/karek314","followers_url":"https://api.github.com/users/karek314/followers","following_url":"https://api.github.com/users/karek314/following{/other_user}","gists_url":"https://api.github.com/users/karek314/gists{/gist_id}","starred_url":"https://api.github.com/users/karek314/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karek314/subscriptions","organizations_url":"https://api.github.com/users/karek314/orgs","repos_url":"https://api.github.com/users/karek314/repos","events_url":"https://api.github.com/users/karek314/events{/privacy}","received_events_url":"https://api.github.com/users/karek314/received_events","type":"User","site_admin":false},"labels":[{"id":628984266,"url":"https://api.github.com/repos/LiskHQ/lisk/labels/discussion","name":"discussion","color":"000000","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":62,"created_at":"2016-12-11T19:16:33Z","updated_at":"2018-05-02T15:32:32Z","closed_at":null,"author_association":"NONE","body":"I think current Lisk DPoS is way to centralised and vulnerable to many attacks. One person with big wallet can possibly up vote all his 101 delegates to top 101 forging with current implementation. There is also risk that delegates will stop forging and network will stuck so new ones will be impossible to pick, it seems it was problem in Crypti. When price is falling incentive to run node is getting smaller and smaller.\r\n\r\nPossible solutions:\r\n\r\n- Making Lisk DPoS more decentralised by lifting up forging delegates up to 202 (to avoid issues with accounts which did make 101 votes already, it will also require halving reward) and keep possible votes to make at 101, so each account will be possible to chose only 50% delegates, this way single person with big wallet won't be able to take over network. This will actually reduce vulnerability to this type fo attack and make network more decentralised, this will also prevent/reduce buddy-2-buddy / vote-4-vote scheme which discourage new people to become part of Lisk ecosystem.\r\n\r\n- Implement mechanism which will pick closest standby delegate as forging one when any of Top forging ones failed X times to create block, along with function which will check if previous delegate recovered itself so forging power will be granted back. More or less, should be discussed.\r\n\r\nEven after implementing those ideas, there still will be few things to improve, but this will be big step forward. Will post few more possible improvements in upcoming time."},"comment":{"url":"https://api.github.com/repos/LiskHQ/lisk/issues/comments/386020043","html_url":"https://github.com/LiskHQ/lisk/issues/353#issuecomment-386020043","issue_url":"https://api.github.com/repos/LiskHQ/lisk/issues/353","id":386020043,"user":{"login":"Joo5t","id":20902562,"avatar_url":"https://avatars2.githubusercontent.com/u/20902562?v=4","gravatar_id":"","url":"https://api.github.com/users/Joo5t","html_url":"https://github.com/Joo5t","followers_url":"https://api.github.com/users/Joo5t/followers","following_url":"https://api.github.com/users/Joo5t/following{/other_user}","gists_url":"https://api.github.com/users/Joo5t/gists{/gist_id}","starred_url":"https://api.github.com/users/Joo5t/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Joo5t/subscriptions","organizations_url":"https://api.github.com/users/Joo5t/orgs","repos_url":"https://api.github.com/users/Joo5t/repos","events_url":"https://api.github.com/users/Joo5t/events{/privacy}","received_events_url":"https://api.github.com/users/Joo5t/received_events","type":"User","site_admin":false},"created_at":"2018-05-02T15:32:32Z","updated_at":"2018-05-02T15:32:32Z","author_association":"NONE","body":"My experience in leading a software development company is that you and your team are able to make a far better decision at the time you are ready to cross the bridge when you get there. The whole team will have more knowledge how things will end up working and what is possible after releasing a stable core version 2.x and the SDK. It will be pure luck if you think of a solution now that will work in 6 to 12 months. "}}
{"actor":{"display_login":"Joo5t"}}