Many different implementations of Blockchain currently exist, each offering its own implementation of Bitcoin's original proposal. It is difficult to compare these separate implementations for design choices, performance benchmarks or application suitability without a common basic design framework. Using the concept of design spaces, and using common components across five well-known blockchain systems, we propose a new software design pattern called CHASM for Blockchains which extends the Context Object design pattern. We provide a J2EE reference implementation of this design pattern and execute three experiments comparing performances of alternate blockchain implementations on different single and multi-core hardware architectures. This pattern can be used as a basis for designing, developing and comparing different Consensus(C), Hashing(H), Transaction Assembly(A), Storage(S) and Mining(M) techniques, which can aid in the process of designing, developing, testing and benchmarking Blockchains.