Grow Open Source Bounties Hackathons Grants Codefund Quests Kudos
Back to Grants

InsureNET Blockchain Insurance Platform & Dashboard





0 contributors

Your contribution goes a long way!

1 DAI contribution

+ 0 DAI match

10 DAI contribution

+ 0 DAI match

100 DAI contribution

+ 0 DAI match

1,000 DAI contribution

+ 0 DAI match

Next update : 1Ā month, 2Ā weeks ago | Last updated : 1Ā month, 2Ā weeks ago




{"ops":[{"attributes":{"bold":true},"insert":"How will blockchain (InsureNET) make insurance work better?"},{"attributes":{"header":2},"insert":"\n"},{"insert":"\nReal-time decision making becomes a reality as error-free data moves quickly from risk to capital."},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Process fulfillment, enabled by smart contracts running on the Ethereum blockchain, is faster, more accurate, more consistent and much cheaper."},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"The ecosystem uses a consistent central data-set also on a decentralized network IPFS also providing super-fast access to losses quickly."},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Automation of invoicing initiates settlement between all contracting parties and their financial systems."},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"Participants can innovate new products and services without traditional cost challenges."},{"attributes":{"list":"bullet"},"insert":"\n"},{"insert":"\n"},{"attributes":{"bold":true},"insert":"Identity"},{"insert":", by design is a container that holds metadata explaining the individual. This container must be stored securely, shared upon request, and managed only by an individual. The implementation of where to keep such worthy information might vary, but theĀ "},{"attributes":{"italic":true},"insert":"Distributed Ledger (Blockchain)"},{"insert":"Ā looks the most prominent.\n\nThe simple implementation case would look like: several fields containing personal data are stored in Blockchain, and encrypted by the personā€™s private key (this is one of the pain points for a lot of people, they get overwhelmed by 'all the keys'), making it cryptographically tamper resistant or unable to be accessed from anywhere in any form without that key. \n\n*External parties can access only the data needed, andĀ only upon the key holderā€™s approval. This will incentivize people having correct data and enable people to incorporate their 'identity profile' wherever they like and get paid for it!\n\nHere's an example: if identity metadata knows enough to calculate theĀ "},{"attributes":{"italic":true},"insert":"personal risk profile"},{"insert":"Ā and is used for theĀ "},{"attributes":{"italic":true},"insert":"risk underwriting"},{"insert":", we come to the unique concept ofĀ "},{"attributes":{"bold":true},"insert":"self-sovereign risk"},{"insert":".\n\n"},{"attributes":{"underline":true,"bold":true},"insert":"Self-sovereign risk"},{"insert":" is a sub-category or self-sovereign identity; hence inheritance of its advantages: itā€™s kept guarded by an individual, can be mutually filled, and partially shared by its master.\n\n"},{"attributes":{"bold":true},"insert":"Mutualization of risk"},{"insert":": risk is supplied by multiple parties that are sanctioned by the risk profile owner. The party might be a legal authority, or some organization (the gym, doctor, your job), or an IoT device (health tracker, your car). The mutual result will have lower redundancy in the digital profile and complete in comparison to traditional methods.\n\n"},{"attributes":{"bold":true},"insert":"Transactional risk"},{"insert":": owners can share or transact a part of their own risk. Upon request, some data is shared with an interested party (insurer or a business partner) if/when the holder wants.\n\nThe two above result is somewhat new and crazy use cases. For instance, the risk profile might be used as a form of trust for a ā€˜voting power,ā€™ allowing the holder to take an acting role in the insurance claim resolution or other managing function. Or, letting a parent who carries high trust due to his driving behavior vouching for their kids and cutting down their monthly premium. Or, allowing a group of friends to add to a shared risk pool and build up a trusted community with the financial benefit of each participant. Or, you use your own"},{"attributes":{"bold":true},"insert":"Ā "},{"insert":"transactable risk as a form of collateral asset, which gets locked (and possibly even burned) in return for another digital asset.\n\nFinally, there might be a form ofĀ "},{"attributes":{"italic":true},"insert":"DeFi"},{"insert":"Ā (Decentralized Finance) instrument that generates a substantial profit as a return for the invested risk.\nAt the very least, the self-sovereign risk will lead to a better/cheaper custom-tailored pricing model for an individual. Additionally, fearless security with no dependence on FAANG or any other third-party datacenter.\n\n"},{"attributes":{"background":"#ffffff","color":"rgba(0, 0, 0, 0.84)"},"insert":"The risk carriers will have a live helicopter view on their customersā€™ base risk, allowing them to run the financial reports ad-hoc. In fact, customers donā€™t have to reveal much data for businesses to analyze risks ā€˜"},{"attributes":{"background":"#ffffff","color":"rgba(0, 0, 0, 0.84)","italic":true},"insert":"en masse.ā€™Ā "},{"attributes":{"background":"#ffffff","color":"rgba(0, 0, 0, 0.84)"},"insert":"Instead, Blockchain storage can have a zero-knowledge principle embedded, disclosing only ā€˜conditionalā€™ datasets and these datasets are only tied to an address with a key. All these might be rather a game-changer for the regulatory reporting and Solvency regulation."},{"insert":"\n\n"},{"attributes":{"italic":true},"insert":"Audibility and controls around contracts better support and enables the multinational law."},{"insert":"\n\n"},{"attributes":{"bold":true},"insert":"Example:"},{"attributes":{"header":2},"insert":"\n"},{"insert":"The "},{"attributes":{"italic":true},"insert":"TokenStake "},{"insert":"contract serves as an abstract interface. It provides four functions: two functions for staking and two functions for releasing:\n \ncontract "},{"attributes":{"italic":true},"insert":"TokenStake"},{"insert":" { "},{"attributes":{"header":3},"insert":"\n"},{"insert":"\tfunction stakeFor(address _staker, uint256 _value) public returns (bool) ; \n\tfunction stake(uint256 _value) internal returns (bool); \n\tfunction releaseFor(address _beneficiary, uint _value) internal returns (bool); \n\tfunction release(uint _value) internal returns (bool);\n}Ā \n\nThe staking functions are public, anyone can transfer tokens to the contract. To notify the contract about the incoming tokens, this has to be done in two steps: \n\n\t1.Ā Ā Ā Ā Ā The token owner approves the TokenStake contract over the sum of tokens to be staked. \n\t2.Ā Ā Ā Ā Ā The token owner calls stake or stakeFor. \n\nThe TokenStake contract then transfers the token to the TokenStake contract and records the tokens in an internal ledger. The release functions are internal, therefore the TokenStake contract itself has not much utility: If you transfer tokens to the original TokenStake contract, the tokens will be locked forever. \n\nThe TokenStake contract becomes useful if you extend it with some additional logic, which binds the release functions to some condition. This condition can be arbitrarily implemented. A typical use would be a time lock: the release function can be called after a certain block or time is reached. As a more complex example, we present another use case where the TokenStake contract is used to reward an oracle for providing the information in due time. First, we present the basic skeleton of a blockchain oracle.\n\nA contract using this oracle will extend this interface. It will then call query() with a string containing the actual request (e.g. a HTTP URL with an API call, or an SQL query). The actual oracle will watch the Query event, perform the query off-chain, and then call __callback with the result. The id parameter is used to discriminate parallel calls to the oracle. \n\ncontract "},{"attributes":{"italic":true},"insert":"usingOracle "},{"insert":"{"},{"attributes":{"header":3},"insert":"\n"},{"insert":"\tevent Query(string _request, bytes32 _id);\n\tuint256 count;\n\tfunction query(string _request) internal returns (uint256) {\\\n\t\tcount += 1;\n\t\tQuery(string _request, id);\n\t\treturn count;\n\t}\n\tfunction __callback(string _result, uint256 _id) public {\n\n\t}\n}\n\n\nWe can now extend this basic interface with a reward mechanism: the oracle receives 10 tokens for each __callback which is performed within 15 minutes of the respective query and we plan to come up with a better bonus schedule and work with some additional partners in this space:\n\ncontract usingIncentivizedOracle is usingOracle, TokenStake { \n\tmapping(uint256 => uint256) public deadlines; \n\tuint256 deadline constant = 30 minutes; \n\taddress constant contractor = 0x1234abcd1234abcd1234abcd1234abcd1234abcd; \n\tuint256 constant reward = 10; \n\t\n\tfunction query(string _request) internal returns (bytes32 _id) { \n\t\t_id = super.oraclize_query(_request); \n\t\tdeadlines[_id] = now + deadline; return _id;\n\t}\n\n\tfunction __callback(bytes32 id, string _result) public {\n\t\tif (now < deadlines[id]) {\n\t\t\treleaseFor(contractor, reward);\n\t\t}\n\t}\n}Ā \n\nFinally, we put everything together in a simple insurance contract. We assume that somebody has already approved the insurance for the transfer of a number of tokens. In case of a timely delivery of the request, the oracle (with address contractor) receives 10 tokens. The oracle - simplified - checks the ā€œforecastā€ data and yields ā€œOKā€ if the area can be insured.\n\ncontract Insurance is usingIncentivizedProxy { \n\n\tfunction Insurance (uint256 _stakedTokens) { \n\t\tstake(_stakedTokens); \n\t} \n\n\tfunction newPolicy(string _forecast) public { \n\t\tid = query(_forecast);\n\t\t// store policy, ā€¦ perform further checks ... \n\t}\n\n\tfunction __callback(uint256 _id, string _result) public { \n\t\tsuper.__callback(_id, _result); \n\t\tif (_result == ā€˜okā€™) { \n\t\t\tunderwrite(_id, _result);\n\t\t\t// notify customer that the policy has been accepted. \n\t\t} \n\t} \n}Ā \n\n\n\n"}]}

Activity Feed