# Blockchain-Driven Generalization of Policy Management for Multiproduct Insurance Companies
## 4 Solution Approach
### Anchoring Protocol: Merkle Trees
Merkle trees, however, allow you to detect exactly which data point has been altered. * Computational Cost: While data insertion with Merkle trees is somewhat more complex due to the necessity to calculate multiple hashes, the search operation, which is more frequent, has a significantly lower computational cost compared to smart contracts. * Ease of Maintenance: This structure simplifies the maintenance and management of data, as changes are directly reflected through the verification of tree nodes. This facilitates the tracking and management of policy changes over time. It is important to emphasize the ability to detect exactly where a change has occurred in a policy in an absolute and unambiguous manner. This allows us to identify the specific data point that has changed. When a piece of data in the policy is modified, its hash changes, which then propagates upwards, altering the root hash as well. To determine that the policy has changed, it is sufficient to compare the hashes; additionally, we can identify where the change occurred without needing to review all the data. In contrast,when storing all data directly in the smart contract, change verification becomes more complex and less efficient, as it requires comparing all stored data. Furthermore, using a smart contract for data modeling always necessitates a static and comprehensive model capable of representing any type of policy. With Merkle trees, we obtain a dynamic model that represents only the necessary data for each created policy, making it more suitable for the proposed standard policy solution. This approach provides a flexible and efficient representation, avoiding system overload with unnecessary data. This proposal offers an effective solution in the scenario of multiproduct policies that we have presented, as it helps to abstract the solution by enabling an efficient and scalable data structure. Each policy is represented by a unique Merkle tree before being inserted into the network. This allows network participants to quickly verify whether the stored data are authentic and has not been altered. It also ensures greater confidence in the accuracy of the information associated with each insurance policy, thereby reducing the risk of disputes and conflicts. Additionally, the use of Merkle trees as an anchoring mechanism to the network allows us to improve the scalability of the proposed architecture compared to traditional models. Let's consider an example where our insurance company manages two policies: one for life insurance and another for automobile insurance. In a traditional system, each of these policies is managed independently, using, for instance, traditional databases, independent data models, and different processing systems. This means that when adding a new type of policy, such as health insurance, significant changes must be made across every system involved. These changes would impact everything from the service core to the front-end applications and third-party systems. It would also be necessary to incorporate new business rules to handle different coverages, as well as to add new data import flows and verification processes. This approach results in data redundancy and high operational costs due to the technical complexity of updating multiple systems without compromising data integrity. With our blockchain-based model, utilizing Merkle trees as the anchoring mechanism based on the standardized policy model, the addition of a new policy, such as health insurance, does not require reconfiguring the existing infrastructure. Instead, each multiproduct policy is represented by a Merkle tree, allowing new policies to be managed with the same data structure. The remaining trees, and consequently the stored information, remain intact. The information for each policy is stored using a Merkle tree, which allows the verification of that information without needing access to the full data content while also identifying the exact change.