Blockchain principle, design and application