Depending on the project type, I'm not sure whether smart contracts are really sufficient.
A time smart contract could easily be cheated on hours tracked, but then again that's a risk you have with traditional hourly pay as well.
A scope smart contract seems like a case of trying to solve a human problem with a technical solution. Performance, unit and integration testing are hardly sufficient metrics on whether a project has been successfully developed or not. Sure, it can work if both client and freelancer are already know each other pretty well and have a proper workflow worked out. It can also work for smaller projects ( < 5 working days). But for anything beyond that it's already difficult to properly define requirements in writing, let alone in quantifiable code.
At least from my experience getting the requirements right is often harder than writing the code itself. This means two things:
1) Think about how to allow for iteration loops, every step along the process, including the adjustment, redefinition and extension of requirements -- which will require both sides to come to an agreement.
2) You mentioned arbitration in your other post. Be prepared for lots of it. Depending on the kind of projects and people this market place attracts, you'll either have a huge quantity of minor disputes, or a handful of really complex cases. Probably a mix of both. And it's not even about people trying to scam each other. Everyday miscommunication is absolutely sufficient for that.
Hi! Thanks for your input.
re: Time smart contract: For sure it's not an ultra final solution of the current freelance marketplaces problems. But while it has no more problems than regular time contracts based on a 3rd party, they have more benefits because of a blockchain. So it seems to be a
step forward anyway.
re: Scope contracts: I agree that it'd be complicated to setup the tests in the way to be sure that if they are passed, requirements were met. But if one will start with defining user stories (for future selenium-based tests), define performance metrics, that can work
automatically.
Thank you for a good point about iteration loops. I guess milestones or more Agile approach will make the things there and we'll think of how to integrate this.
re: Arbitration: I can't agree with your point there because its's kind of a self-regulatory thing. Freelancer risks with his reputation, which one of the most important actives there, so would try to avoid arbitrations. As well customer, as nobody will work with you if will see that you run into a lot of disputes. So first of all it will motivate them to solve the miscommunication by themselves. I'm telling so because had a lot of freelance experience before and that's how it worked for me.
Will wait to hear more from you.