Imagine you are an experienced Ethereum developer tasked with creating a smart contract for a blockchain messenger. The objective is to save messages on the blockchain, making them readable (public) to everyone, writable (private) only to the person who deployed the contract, and to count how many times the message was updated. Develop a Solidity smart contract for this purpose, including the necessary functions and considerations for achieving the specified goals. Please provide the code and any relevant explanations to ensure a clear understanding of the implementation.
假设你是一位经验丰富的以太坊开发者,负责为区块链消息应用创建一个智能合约。目标是将消息保存在区块链上,使其对所有人可读(公开),但只有部署该合约的人可写(私有),并统计消息被更新的次数。请为此开发一个 Solidity 智能合约,包含实现上述目标所需的函数和相关注意事项。请提供代码以及任何相关的解释,以确保清晰地理解其实现方式。