A simple BFS algorithm for graphs

We are all quite familiar with the term “Breadth-First Search”. As wikipedia defines it, Breadth-first search is an algorithm for traversing or searching tree or graph data structures. In trees, it…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Akropolis MVU v1.0

A demonstration of the core customer user journey is now available on Ethereum testnet.

Dear Akropolis Community,

We are excited to share our MVU. Akropolis is building the next-generation financial infrastructure to leverage blockchain to address the 3 main individual consumer pain-points of the US$43 trillion pensions sector:

Importantly, the overarching lack of transparency leads to moral hazard and poor economic outcomes to individuals.

This is why at Akropolis, we are designing an alternative financial infrastructure to address some of the common failings of the existing system in a future-proof manner. Our protocol is structured to enable the following functionality:

With this in mind, the MVU v1.0 presented below is a simple demonstration of Akropolis basic functionality by virtue of a snapshot of an individual user’s journey.

This proof-of-concept enables an individual to create their own digital pension portfolio, invest in an appropriate fund, set up a regular savings commitment.

Many important aspects of the Akropolis Platform that are currently under development are out of scope or only partially represented in this MVU, including:

All contributions made to a fund are stored immutably on-chain, ensuring that individuals can prove their ownership of assets at any time by asserting their self-sovereign identity. For the purposes of the MVU this simply means that you must be in possession of the private key associated with your Ethereum account that owns shares, i.e. ERC-20 compatible tokens, in the fund.

No personally identifiable data is currently required to use the demo. In future, all personal data will be encrypted and stored securely off-chain.

In this section we’ll go through the demo providing screenshots and explaining what is happening on each of them.

The journey starts by making a plan for your retirement. We keep this as simple as possible for individuals who are not financially savvy by making assumptions for inflation rate and average return on investments. In future, these figures will be driven by localised data from oracles and real historical fund performance from Akropolis platform itself.

** numbers represented in this image are for illustrative purposes only.

To make it simple, we give the user a choice of three funds. In future, individuals will be able to choose from a broad universe of funds that will be filtered and prioritised based on properties such as age, appetite for risk, and eligibility — the user will have to pass through a KYC process first that will classify them as either a retail or sophisticated investor to ensure funds are not mis-sold.

The canonical fund registry is kept on-chain and each fund is a separate contract that issues shares to the individual in the form of ERC-20 tokens. A reporting module will aggregate and process both on and off chain data in order to provide real-time signals on the fund’s risk rating and the fund manager’s historical performance.

At this point in the journey you will need to have an Etheruem-enabled browser that’s switched to Ropsten testnet and has some test ether. We provide instructions for each of these steps along with a test ether faucet.

The user is asked to make a commitment of saving a regular amount. This could be as little as 0.01 ETH, or as much as the user currently has in their wallet, and it can be over a weekly, monthly or quarterly interval. The commitment must be made for a period of time between 1 to 5 years.

** numbers represented in this image are for illustrative purposes only.

Step 4— Confirmation and transactions

At this point you will be asked to confirm that you want to go ahead, choosing “Confirm” will initiate one or two transactions that you’ll have to sign from your wallet.

The next transaction will create the individual’s digital pension portfolio and make the first contribution. ‘Create New User Portfolio’ function is called out in the ‘PortfolioFunctional’ contract, this is a payable function that will require payment for the initial contribution amount, passing this through to the chosen fund contract’s ‘invest’ function. The fund contract will in turn issue ERC-20 tokens back to the individual representing their share of ownership of the fund’s assets.

** numbers represented in this image are for illustrative purposes only.

For the purposes of this proof of concept, only the bare minimum contract functionality required to demonstrate the concept has been included. Many important modules that will comprise the Akropolis protocol are currently in development and are either mocked or excluded from this POC.

The smart contract architecture has been designed with upgradability in mind; data storage and business logic are kept in separate contracts.

Let’s take a quick look at the contracts behind the POC:

The portfolio is provided by three contracts:

This pattern for upgradable contracts, separating out business logic and data, along with the naming convention of *Data.sol and *Functional.sol is used throughout. This allows for the deployment of new versions of the *Functional.sol contract that will continue to include the original *Data.sol contract.

This function is called when the user completes step 5 and it deals with a number tasks in order to minimise the number of transactions that the user is required to make at this point.

You’ll note that the function supports investment in more than one fund, yet in the UI we have restricted the user to investing in only one fund at the moment for simplicity. First we perform some checks related to the support for investment in multiple funds, ensuring that arrays of funds and amounts are aligned. Then in the case that the user has chosen to deposit AKT tokens, we ensure that this contract has been granted sufficient allowance to transfer those tokens from the user’s wallet, and if so, the transfer can be made.

Transfer.

Next, the system is calling out the function in a smart contract for each fund that the user is investing to, and then calling out the the fund’s ‘invest’ function depositing a specific amount of ETH to the fund.

The fund allocation and commitment data is then stored in the PortfolioData.sol contract using the NewUserAllocation and NewUserCommitment functions.

In future any personal data that is collected will be kept encrypted off-chain. Portfolios will have multiple possible governance structures to deal with personal pensions, employer-matched pensions, and other group investing structures. Oracles will be used to provide important signals such as a change of employment, or a death, triggering changes in access to the portfolio.

Fund functionality is provided by four contracts:

To understand the relationship between these contracts, let’s take a look at an extract from the Truffle migration script that we use when deploying the example funds for the demo:

First we deploy the FundFactory, then the FundRegistry, then we ask the FundFactory to create three new Funds. For each of these three funds, FundFactory will deploy a new FundFunctional and FundData contract, it will then call the FundRegistry to register the address of these new fund contracts.

When the funds are initialised, we pass in arguments for the fund name, description and other data that will appear in the UI such as expected annual return, fund manager rating and risk rating. Of course in future these values will be provided by an oracle and the Akropolis Reporting module that will use a range of both on and off-chain data such as price feeds from exchanges in order to calculate these ratings.

The fund contracts included in this POC only provide the most basic functionality as required to power the UI. Funds are at the centre of Akropolis’s asset management module and we are currently working on developing full digital pension funds in partnership with Melonport, building on their already powerful asset management platform. Some of the pension-specific features we’re adding to Melon funds include time locks and distribution rules, risk management systems, governance systems, taxation rules and personalisation / compliance modules to eliminate mis-selling.

Disclaimer: All images and numbers represented in this document are for illustration purpose only. Actual product may vary due to produce enhancement and ongoing development.

Add a comment

Related posts:

Cara Meningkatkan DL Throughput LTE

Pada intinya untuk menaikkan atau meningkatkan throughput LTE adalah dengan meningkatkan RSRP level dan SINR. Throughput LTE sangat erat kaitannya dengan MCS yang bisa didapatkan (QPSK, 16QAM…

Two Required College Classes Meet at the Same Time! What Would You Do?

Last quarter before graduation. My solution changed my entire approach to life. What I learned applies to every situation, even today.