The recently emerged blockchain (in particular smart contract) technology offers an enticing opportunity for decentralized sharing economy. Machine learning can be one important subroutine in such a decentralized ecosystem. Unfortunately, machine learning programs are usually computational intensive as well as randomized, which fall into the inherent limitations of open blockchain where complex and randomized programs cannot be executed by the underlying nodes collectively. Given also the limitations of existing verifiable computing techniques, we propose a crowdsourcing idea from the game theoretic perspective to resolve the tension. We design a simple incentive mechanism so that the execution of a wide range of complex programs can be crowdsourced via the blockchain, and any false computing result could be deterred. In particular, our protocol works in the scenarios that there is no trusted third-party involved; Moreover, our protocol not only works in the classical model of non-colluding service providers, but also can tolerate any potential coalition up to n-1, where n is the total number of service providers. We also showcase how to use our protocol to crowdsource two typical kinds of machine learning tasks via open blockchain. We envision that our solution is not only promising to launch decentralized applications involving a wide range of machine learning programs, but also a stepping stone towards a general way to empowering intensive and randomized computations atop the open blockchain.