Blockchain technology and applications