input: Write a function to simulate the creation of a basic blockchain using only core Python modules. The function should return a Blockchain object with methods to create blocks and hash blocks.
  assert isinstance(create_blockchain(), Blockchain)
  assert callable(create_blockchain().create_block)
  assert callable(create_blockchain().hash_block)
output: class Blockchain:
      def __init__(self):
          self.chain = []
          self.create_block(data="Genesis Block")
  
      def create_block(self, data):
          block = {"index": len(self.chain), "data": data, "previous_hash": self.hash_block(self.chain[-1]) if self.chain else '0'}
          self.chain.append(block)
          return block
  
      def hash_block(self, block):
          import hashlib
          block_string = str(block).encode()
          return hashlib.sha256(block_string).hexdigest()
  
  def create_blockchain():
      return Blockchain()