Synchronization of the nodes
Nodes of blockchain are synchronized and contains the same information except for a small amount of the latest data.
When planning your software architecture, estimate the number of transactions per minute. It affects the synchronization speed and consequently the internet speed and other performance characteristics of your system.
A smart contract is a program code for Ethereum and similar blockchains.
Smart contracts are used to describe your data and logic.
An example of logical condition: token transfer is prohibited within a month after the ICO termination.
After creation of a smart contract it has to be deployed in the blockchain. Being deployed the smart contract will have unique address and you can call it to initiate actions. E.g. to initiate token transfer.
Tokens contracts are the most popular application of smart contracts.
A token wallet program stores the address of the contract. After start it calls the blockchain smart contract with this address.
The wallet performs the request, “what is the token balance on this address?”
The smart contracts answers with the token balance and you will see the balance in your wallet.
Nobody can affect the actions performed by the smart contract, the developers of the smart contract either.
This is true under two conditions:
A) the contract contains no vulnerability enabling a hacker to execute unsolicited commands;
B) the contract contains no black door enabling the developer to control the contract.
You can order smart contracts audit in Softblocks to be sure there are no vulnerabilities and black doors.