官术网_书友最值得收藏!

Introducing the state machine

The state machine is a mechanism that keeps track of the state changes that occur on the blockchain. For instance, a normal day has two simple states, either day or night. A state machine would record the situation of each day at every moment so that when the sun goes down, the state of the day changes to night. It is the same thing with the days of the week. Each day can be one out of seven different states, such as Monday or Friday. Whenever it changes at 12 am, the state that keeps track of the day of the week gets updated in the state machine.

The state machine enforces consensus rules to make sure that users are processing valid transactions in a Byzantine resistant system:

  • A P2P network: It connects the participants and propagates the transactions and blocks of verified transactions. This is the network used by the nodes of the blockchain to propagate information between them to achieve consensus.
  • An incentivization scheme: In the case of Ethereum, that scheme is PoW for creating an economically secure state machine. Ethereum developers plan to move to a PoS system where the users will process transactions using a passive system of transaction verification based on the number of ETH that the miner locks at that moment.
  • An open source client: This client is the one used by the nodes to interact with the blockchain. In Ethereum, we have Geth, Parity, and many others that allow you to connect to the blockchain for mining and processing transactions and all sorts of tasks after downloading the blockchain.
You can download a light version of the blockchain by downloading the client Geth and running geth --fast, which only keeps track of the reference numbers of each block to limit the download size of the blockchain, since it can reach several hundreds of gigabytes. The purpose of the light client is to make the Ethereum blockchain available for low-spec computers with limited storage and computing power.
主站蜘蛛池模板: 辽阳县| 广丰县| 襄汾县| 梁河县| 昭苏县| 久治县| 吴川市| 县级市| 昌乐县| 巨鹿县| 得荣县| 南和县| 曲阜市| 城固县| 繁峙县| 二连浩特市| 朝阳县| 理塘县| 耿马| 汾西县| 邢台县| 额尔古纳市| 乐清市| 寿阳县| 巢湖市| 中方县| 本溪| 全南县| 静安区| 桐庐县| 宁南县| 仪征市| 巴里| 浠水县| 唐海县| 德阳市| 县级市| 马公市| 汾西县| 竹北市| 娄烦县|