How blockchain tackles notorious double-spending problem