## 5 Discussion  
The data accumulation along the assembly process of each product is a gradual process. However, even before each product is produced, its static data are already available. The static data are derived from the product development and design, as well as the assembly production plans for each product. These are the standard data of the product structure, the related assembly activities, and their (the product structure, and assembly activities) specifications. The dynamic data are the data that come with the actual raw materials, assembly activities and the sub-assembly measured parameters. Thus, the verification processes only need to compare the static and dynamic data. In other words, if the data collection and the verifications and authorizations are automated, the whole control process can also be automated. We therefore suggest doing exactly this by using smart contracts. Smart contracts are open-source programs readable by humans and executed automatically, exactly as implemented. They are usually protected by both cryptography and wide distribution (much like blockchain practices), rendering them as immutable. This makes them immune to fraud, counterfeiting, or censorship [43]. These characteristics make smart contracts the technique of choice when traceability is needed. This section discusses the ways to apply the smart contracts in the proposed framework. One of the key issues is the verification of the raw materials and sub-assemblies for traceability purposes. We first focus on fundamental parts (and raw materials). These parts should have an attached identifier such as RFID tag [42], a microchip, or a small IoT-enabled sensor [44]. A much less attractive option would be a barcode. Some type of cryptographic rule should be incorporated into these identification tags to authenticate the part identity, and its embedded data. Some discrete data must be shared between the suppliers along the supply chain in order to facilitate the smart contract process. Once the parts are authenticated and verified, the sub-assembly containing them carries on the verification process, as described in the previous section. To enable traceability through the whole supply chain, the various links in the chain must be coordinated seamlessly to enable smooth operation of the smart contracts. This requires them to be part of the distributed ledger that the smart contracts use, to coordinate passwords for authentication, and to have communications channels to be able to communicate with each other. The proposed technique has the potential to automate large parts of the assembly process dedicated to verification and control. This is especially crucial in certain industries where regulations require a high level of traceability such as the food, pharmaceutical, spacecraft and aircraft industries [2]. The proposed framework has its own limitations. First, it requires a high-level computerized environment through the entire supply chain. Second, it requires close coordinationbetween the various links in the supply chain. Third, any deviation from the pre-planned smart contract is very difficult to handle as a new smart contract would be required (usually involving and requiring the consent of two or more organizations in the supply chain). Fourth, any change in the static data has to be made before the product is assembled. Finally, we did not delve into the scenarios where the verification or authentication fails, but in such cases the automated advantage of the proposed system fades. The proposed BOA data structure could be a main core of a digital twin database. At the end of the assembly line, the BOA is a full documentation of the AS-BUILT BOM, and many other parameters. This includes the sensors and sub-assemblies of the full product. This is, however, still far from being the actual digital twin that emulates the behavior of the product under different scenarios.