smart contract vulnerabilities DPoS