The Trust attack. Similar to how Sybil, DoS, fungibility

Why i’m bullish on Zilliqa (long read)

Edit: TL;DR added in the comments
 
Hey all, I've been researching coins since 2017 and have gone through 100s of them in the last 3 years. I got introduced to blockchain via Bitcoin of course, analyzed Ethereum thereafter and from that moment I have a keen interest in smart contact platforms. I’m passionate about Ethereum but I find Zilliqa to have a better risk-reward ratio. Especially because Zilliqa has found an elegant balance between being secure, decentralized and scalable in my opinion.
 
Below I post my analysis of why from all the coins I went through I’m most bullish on Zilliqa (yes I went through Tezos, EOS, NEO, VeChain, Harmony, Algorand, Cardano etc.). Note that this is not investment advice and although it's a thorough analysis there is obviously some bias involved. Looking forward to what you all think!
 
Fun fact: the name Zilliqa is a play on ‘silica’ silicon dioxide which means “Silicon for the high-throughput consensus computer.”
 
This post is divided into (i) Technology, (ii) Business & Partnerships, and (iii) Marketing & Community. I’ve tried to make the technology part readable for a broad audience. If you’ve ever tried understanding the inner workings of Bitcoin and Ethereum you should be able to grasp most parts. Otherwise, just skim through and once you are zoning out head to the next part.
 
Technology and some more:
 
Introduction
 
The technology is one of the main reasons why I’m so bullish on Zilliqa. First thing you see on their website is: “Zilliqa is a high-performance, high-security blockchain platform for enterprises and next-generation applications.” These are some bold statements.
 
Before we deep dive into the technology let’s take a step back in time first as they have quite the history. The initial research paper from which Zilliqa originated dates back to August 2016: Elastico: A Secure Sharding Protocol For Open Blockchains where Loi Luu (Kyber Network) is one of the co-authors. Other ideas that led to the development of what Zilliqa has become today are: Bitcoin-NG, collective signing CoSi, ByzCoin and Omniledger.
 
The technical white paper was made public in August 2017 and since then they have achieved everything stated in the white paper and also created their own open source intermediate level smart contract language called Scilla (functional programming language similar to OCaml) too.
 
Mainnet is live since the end of January 2019 with daily transaction rates growing continuously. About a week ago mainnet reached 5 million transactions, 500.000+ addresses in total along with 2400 nodes keeping the network decentralized and secure. Circulating supply is nearing 11 billion and currently only mining rewards are left. The maximum supply is 21 billion with annual inflation being 7.13% currently and will only decrease with time.
 
Zilliqa realized early on that the usage of public cryptocurrencies and smart contracts were increasing but decentralized, secure, and scalable alternatives were lacking in the crypto space. They proposed to apply sharding onto a public smart contract blockchain where the transaction rate increases almost linear with the increase in the amount of nodes. More nodes = higher transaction throughput and increased decentralization. Sharding comes in many forms and Zilliqa uses network-, transaction- and computational sharding. Network sharding opens up the possibility of using transaction- and computational sharding on top. Zilliqa does not use state sharding for now. We’ll come back to this later.
 
Before we continue dissecting how Zilliqa achieves such from a technological standpoint it’s good to keep in mind that a blockchain being decentralised and secure and scalable is still one of the main hurdles in allowing widespread usage of decentralised networks. In my opinion this needs to be solved first before blockchains can get to the point where they can create and add large scale value. So I invite you to read the next section to grasp the underlying fundamentals. Because after all these premises need to be true otherwise there isn’t a fundamental case to be bullish on Zilliqa, right?
 
Down the rabbit hole
 
How have they achieved this? Let’s define the basics first: key players on Zilliqa are the users and the miners. A user is anybody who uses the blockchain to transfer funds or run smart contracts. Miners are the (shard) nodes in the network who run the consensus protocol and get rewarded for their service in Zillings (ZIL). The mining network is divided into several smaller networks called shards, which is also referred to as ‘network sharding’. Miners subsequently are randomly assigned to a shard by another set of miners called DS (Directory Service) nodes. The regular shards process transactions and the outputs of these shards are eventually combined by the DS shard as they reach consensus on the final state. More on how these DS shards reach consensus (via pBFT) will be explained later on.
 
The Zilliqa network produces two types of blocks: DS blocks and Tx blocks. One DS Block consists of 100 Tx Blocks. And as previously mentioned there are two types of nodes concerned with reaching consensus: shard nodes and DS nodes. Becoming a shard node or DS node is being defined by the result of a PoW cycle (Ethash) at the beginning of the DS Block. All candidate mining nodes compete with each other and run the PoW (Proof-of-Work) cycle for 60 seconds and the submissions achieving the highest difficulty will be allowed on the network. And to put it in perspective: the average difficulty for one DS node is ~ 2 Th/s equaling 2.000.000 Mh/s or 55 thousand+ GeForce GTX 1070 / 8 GB GPUs at 35.4 Mh/s. Each DS Block 10 new DS nodes are allowed. And a shard node needs to provide around 8.53 GH/s currently (around 240 GTX 1070s). Dual mining ETH/ETC and ZIL is possible and can be done via mining software such as Phoenix and Claymore. There are pools and if you have large amounts of hashing power (Ethash) available you could mine solo.
 
The PoW cycle of 60 seconds is a peak performance and acts as an entry ticket to the network. The entry ticket is called a sybil resistance mechanism and makes it incredibly hard for adversaries to spawn lots of identities and manipulate the network with these identities. And after every 100 Tx Blocks which corresponds to roughly 1,5 hour this PoW process repeats. In between these 1,5 hour, no PoW needs to be done meaning Zilliqa’s energy consumption to keep the network secure is low. For more detailed information on how mining works click here.
Okay, hats off to you. You have made it this far. Before we go any deeper down the rabbit hole we first must understand why Zilliqa goes through all of the above technicalities and understand a bit more what a blockchain on a more fundamental level is. Because the core of Zilliqa’s consensus protocol relies on the usage of pBFT (practical Byzantine Fault Tolerance) we need to know more about state machines and their function. Navigate to Viewblock, a Zilliqa block explorer, and just come back to this article. We will use this site to navigate through a few concepts.
 
We have established that Zilliqa is a public and distributed blockchain. Meaning that everyone with an internet connection can send ZILs, trigger smart contracts, etc. and there is no central authority who fully controls the network. Zilliqa and other public and distributed blockchains (like Bitcoin and Ethereum) can also be defined as state machines.
 
Taking the liberty of paraphrasing examples and definitions given by Samuel Brooks’ medium article, he describes the definition of a blockchain (like Zilliqa) as: “A peer-to-peer, append-only datastore that uses consensus to synchronize cryptographically-secure data”.
 
Next, he states that: "blockchains are fundamentally systems for managing valid state transitions”. For some more context, I recommend reading the whole medium article to get a better grasp of the definitions and understanding of state machines. Nevertheless, let’s try to simplify and compile it into a single paragraph. Take traffic lights as an example: all its states (red, amber, and green) are predefined, all possible outcomes are known and it doesn’t matter if you encounter the traffic light today or tomorrow. It will still behave the same. Managing the states of a traffic light can be done by triggering a sensor on the road or pushing a button resulting in one traffic lights’ state going from green to red (via amber) and another light from red to green.
 
With public blockchains like Zilliqa, this isn’t so straightforward and simple. It started with block #1 almost 1,5 years ago and every 45 seconds or so a new block linked to the previous block is being added. Resulting in a chain of blocks with transactions in it that everyone can verify from block #1 to the current #647.000+ block. The state is ever changing and the states it can find itself in are infinite. And while the traffic light might work together in tandem with various other traffic lights, it’s rather insignificant comparing it to a public blockchain. Because Zilliqa consists of 2400 nodes who need to work together to achieve consensus on what the latest valid state is while some of these nodes may have latency or broadcast issues, drop offline or are deliberately trying to attack the network, etc.
 
Now go back to the Viewblock page take a look at the amount of transaction, addresses, block and DS height and then hit refresh. Obviously as expected you see new incremented values on one or all parameters. And how did the Zilliqa blockchain manage to transition from a previous valid state to the latest valid state? By using pBFT to reach consensus on the latest valid state.
 
After having obtained the entry ticket, miners execute pBFT to reach consensus on the ever-changing state of the blockchain. pBFT requires a series of network communication between nodes, and as such there is no GPU involved (but CPU). Resulting in the total energy consumed to keep the blockchain secure, decentralized and scalable being low.
 
pBFT stands for practical Byzantine Fault Tolerance and is an optimization on the Byzantine Fault Tolerant algorithm. To quote Blockonomi: “In the context of distributed systems, Byzantine Fault Tolerance is the ability of a distributed computer network to function as desired and correctly reach a sufficient consensus despite malicious components (nodes) of the system failing or propagating incorrect information to other peers.” Zilliqa is such a distributed computer network and depends on the honesty of the nodes (shard and DS) to reach consensus and to continuously update the state with the latest block. If pBFT is a new term for you I can highly recommend the Blockonomi article.
 
The idea of pBFT was introduced in 1999 - one of the authors even won a Turing award for it - and it is well researched and applied in various blockchains and distributed systems nowadays. If you want more advanced information than the Blockonomi link provides click here. And if you’re in between Blockonomi and the University of Singapore read the Zilliqa Design Story Part 2 dating from October 2017.
Quoting from the Zilliqa tech whitepaper: “pBFT relies upon a correct leader (which is randomly selected) to begin each phase and proceed when the sufficient majority exists. In case the leader is byzantine it can stall the entire consensus protocol. To address this challenge, pBFT offers a view change protocol to replace the byzantine leader with another one.”
 
pBFT can tolerate ⅓ of the nodes being dishonest (offline counts as Byzantine = dishonest) and the consensus protocol will function without stalling or hiccups. Once there are more than ⅓ of dishonest nodes but no more than ⅔ the network will be stalled and a view change will be triggered to elect a new DS leader. Only when more than ⅔ of the nodes are dishonest (66%) double-spend attacks become possible.
 
If the network stalls no transactions can be processed and one has to wait until a new honest leader has been elected. When the mainnet was just launched and in its early phases, view changes happened regularly. As of today the last stalling of the network - and view change being triggered - was at the end of October 2019.
 
Another benefit of using pBFT for consensus besides low energy is the immediate finality it provides. Once your transaction is included in a block and the block is added to the chain it’s done. Lastly, take a look at this article where three types of finality are being defined: probabilistic, absolute and economic finality. Zilliqa falls under the absolute finality (just like Tendermint for example). Although lengthy already we skipped through some of the inner workings from Zilliqa’s consensus: read the Zilliqa Design Story Part 3 and you will be close to having a complete picture on it. Enough about PoW, sybil resistance mechanism, pBFT, etc. Another thing we haven’t looked at yet is the amount of decentralization.
 
Decentralisation
 
Currently, there are four shards, each one of them consisting of 600 nodes. 1 shard with 600 so-called DS nodes (Directory Service - they need to achieve a higher difficulty than shard nodes) and 1800 shard nodes of which 250 are shard guards (centralized nodes controlled by the team). The amount of shard guards has been steadily declining from 1200 in January 2019 to 250 as of May 2020. On the Viewblock statistics, you can see that many of the nodes are being located in the US but those are only the (CPU parts of the) shard nodes who perform pBFT. There is no data from where the PoW sources are coming. And when the Zilliqa blockchain starts reaching its transaction capacity limit, a network upgrade needs to be executed to lift the current cap of maximum 2400 nodes to allow more nodes and formation of more shards which will allow to network to keep on scaling according to demand.
Besides shard nodes there are also seed nodes. The main role of seed nodes is to serve as direct access points (for end-users and clients) to the core Zilliqa network that validates transactions. Seed nodes consolidate transaction requests and forward these to the lookup nodes (another type of nodes) for distribution to the shards in the network. Seed nodes also maintain the entire transaction history and the global state of the blockchain which is needed to provide services such as block explorers. Seed nodes in the Zilliqa network are comparable to Infura on Ethereum.
 
The seed nodes were first only operated by Zilliqa themselves, exchanges and Viewblock. Operators of seed nodes like exchanges had no incentive to open them for the greater public. They were centralised at first. Decentralisation at the seed nodes level has been steadily rolled out since March 2020 ( Zilliqa Improvement Proposal 3 ). Currently the amount of seed nodes is being increased, they are public-facing and at the same time PoS is applied to incentivize seed node operators and make it possible for ZIL holders to stake and earn passive yields. Important distinction: seed nodes are not involved with consensus! That is still PoW as entry ticket and pBFT for the actual consensus.
 
5% of the block rewards are being assigned to seed nodes (from the beginning in 2019) and those are being used to pay out ZIL stakers. The 5% block rewards with an annual yield of 10.03% translate to roughly 610 MM ZILs in total that can be staked. Exchanges use the custodial variant of staking and wallets like Moonlet will use the non-custodial version (starting in Q3 2020). Staking is being done by sending ZILs to a smart contract created by Zilliqa and audited by Quantstamp.
 
With a high amount of DS; shard nodes and seed nodes becoming more decentralized too, Zilliqa qualifies for the label of decentralized in my opinion.
 
Smart contracts
 
Let me start by saying I’m not a developer and my programming skills are quite limited. So I‘m taking the ELI5 route (maybe 12) but if you are familiar with Javascript, Solidity or specifically OCaml please head straight to Scilla - read the docs to get a good initial grasp of how Zilliqa’s smart contract language Scilla works and if you ask yourself “why another programming language?” check this article. And if you want to play around with some sample contracts in an IDE click here. The faucet can be found here. And more information on architecture, dapp development and API can be found on the Developer Portal.
If you are more into listening and watching: check this recent webinar explaining Zilliqa and Scilla. Link is time-stamped so you’ll start right away with a platform introduction, roadmap 2020 and afterwards a proper Scilla introduction.
 
Generalized: programming languages can be divided into being ‘object-oriented’ or ‘functional’. Here is an ELI5 given by software development academy: * “all programs have two basic components, data – what the program knows – and behavior – what the program can do with that data. So object-oriented programming states that combining data and related behaviors in one place, is called “object”, which makes it easier to understand how a particular program works. On the other hand, functional programming argues that data and behavior are different things and should be separated to ensure their clarity.” *
 
Scilla is on the functional side and shares similarities with OCaml: OCaml is a general-purpose programming language with an emphasis on expressiveness and safety. It has an advanced type system that helps catch your mistakes without getting in your way. It's used in environments where a single mistake can cost millions and speed matters, is supported by an active community, and has a rich set of libraries and development tools. For all its power, OCaml is also pretty simple, which is one reason it's often used as a teaching language.
 
Scilla is blockchain agnostic, can be implemented onto other blockchains as well, is recognized by academics and won a so-called Distinguished Artifact Award award at the end of last year.
 
One of the reasons why the Zilliqa team decided to create their own programming language focused on preventing smart contract vulnerabilities is that adding logic on a blockchain, programming, means that you cannot afford to make mistakes. Otherwise, it could cost you. It’s all great and fun blockchains being immutable but updating your code because you found a bug isn’t the same as with a regular web application for example. And with smart contracts, it inherently involves cryptocurrencies in some form thus value.
 
Another difference with programming languages on a blockchain is gas. Every transaction you do on a smart contract platform like Zilliqa or Ethereum costs gas. With gas you basically pay for computational costs. Sending a ZIL from address A to address B costs 0.001 ZIL currently. Smart contracts are more complex, often involve various functions and require more gas (if gas is a new concept click here ).
 
So with Scilla, similar to Solidity, you need to make sure that “every function in your smart contract will run as expected without hitting gas limits. An improper resource analysis may lead to situations where funds may get stuck simply because a part of the smart contract code cannot be executed due to gas limits. Such constraints are not present in traditional software systems”. Scilla design story part 1
 
Some examples of smart contract issues you’d want to avoid are: leaking funds, ‘unexpected changes to critical state variables’ (example: someone other than you setting his or her address as the owner of the smart contract after creation) or simply killing a contract.
 
Scilla also allows for formal verification. Wikipedia to the rescue: In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics.
 
Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
 
Scilla is being developed hand-in-hand with formalization of its semantics and its embedding into the Coq proof assistant — a state-of-the art tool for mechanized proofs about properties of programs.”
 
Simply put, with Scilla and accompanying tooling developers can be mathematically sure and proof that the smart contract they’ve written does what he or she intends it to do.
 
Smart contract on a sharded environment and state sharding
 
There is one more topic I’d like to touch on: smart contract execution in a sharded environment (and what is the effect of state sharding). This is a complex topic. I’m not able to explain it any easier than what is posted here. But I will try to compress the post into something easy to digest.
 
Earlier on we have established that Zilliqa can process transactions in parallel due to network sharding. This is where the linear scalability comes from. We can define simple transactions: a transaction from address A to B (Category 1), a transaction where a user interacts with one smart contract (Category 2) and the most complex ones where triggering a transaction results in multiple smart contracts being involved (Category 3). The shards are able to process transactions on their own without interference of the other shards. With Category 1 transactions that is doable, with Category 2 transactions sometimes if that address is in the same shard as the smart contract but with Category 3 you definitely need communication between the shards. Solving that requires to make a set of communication rules the protocol needs to follow in order to process all transactions in a generalised fashion.
 
And this is where the downsides of state sharding comes in currently. All shards in Zilliqa have access to the complete state. Yes the state size (0.1 GB at the moment) grows and all of the nodes need to store it but it also means that they don’t need to shop around for information available on other shards. Requiring more communication and adding more complexity. Computer science knowledge and/or developer knowledge required links if you want to dig further: Scilla - language grammar Scilla - Foundations for Verifiable Decentralised Computations on a Blockchain Gas Accounting NUS x Zilliqa: Smart contract language workshop
 
Easier to follow links on programming Scilla https://learnscilla.com/home Ivan on Tech
 
Roadmap / Zilliqa 2.0
 
There is no strict defined roadmap but here are topics being worked on. And via the Zilliqa website there is also more information on the projects they are working on.
 
Business & Partnerships
 
It’s not only technology in which Zilliqa seems to be excelling as their ecosystem has been expanding and starting to grow rapidly. The project is on a mission to provide OpenFinance (OpFi) to the world and Singapore is the right place to be due to its progressive regulations and futuristic thinking. Singapore has taken a proactive approach towards cryptocurrencies by introducing the Payment Services Act 2019 (PS Act). Among other things, the PS Act will regulate intermediaries dealing with certain cryptocurrencies, with a particular focus on consumer protection and anti-money laundering. It will also provide a stable regulatory licensing and operating framework for cryptocurrency entities, effectively covering all crypto businesses and exchanges based in Singapore. According to PWC 82% of the surveyed executives in Singapore reported blockchain initiatives underway and 13% of them have already brought the initiatives live to the market. There is also an increasing list of organizations that are starting to provide digital payment services. Moreover, Singaporean blockchain developers Building Cities Beyond has recently created an innovation $15 million grant to encourage development on its ecosystem. This all suggests that Singapore tries to position itself as (one of) the leading blockchain hubs in the world.
 
Zilliqa seems to already take advantage of this and recently helped launch Hg Exchange on their platform, together with financial institutions PhillipCapital, PrimePartners and Fundnel. Hg Exchange, which is now approved by the Monetary Authority of Singapore (MAS), uses smart contracts to represent digital assets. Through Hg Exchange financial institutions worldwide can use Zilliqa's safe-by-design smart contracts to enable the trading of private equities. For example, think of companies such as Grab, Airbnb, SpaceX that are not available for public trading right now. Hg Exchange will allow investors to buy shares of private companies & unicorns and capture their value before an IPO. Anquan, the main company behind Zilliqa, has also recently announced that they became a partner and shareholder in TEN31 Bank, which is a fully regulated bank allowing for tokenization of assets and is aiming to bridge the gap between conventional banking and the blockchain world. If STOs, the tokenization of assets, and equity trading will continue to increase, then Zilliqa’s public blockchain would be the ideal candidate due to its strategic positioning, partnerships, regulatory compliance and the technology that is being built on top of it.
 
What is also very encouraging is their focus on banking the un(der)banked. They are launching a stablecoin basket starting with XSGD. As many of you know, stablecoins are currently mostly used for trading. However, Zilliqa is actively trying to broaden the use case of stablecoins. I recommend everybody to read this text that Amrit Kumar wrote (one of the co-founders). These stablecoins will be integrated in the traditional markets and bridge the gap between the crypto world and the traditional world. This could potentially revolutionize and legitimise the crypto space if retailers and companies will for example start to use stablecoins for payments or remittances, instead of it solely being used for trading.
 
Zilliqa also released their DeFi strategic roadmap (dating November 2019) which seems to be aligning well with their OpFi strategy. A non-custodial DEX is coming to Zilliqa made by Switcheo which allows cross-chain trading (atomic swaps) between ETH, EOS and ZIL based tokens. They also signed a Memorandum of Understanding for a (soon to be announced) USD stablecoin. And as Zilliqa is all about regulations and being compliant, I’m speculating on it to be a regulated USD stablecoin. Furthermore, XSGD is already created and visible on block explorer and XIDR (Indonesian Stablecoin) is also coming soon via StraitsX. Here also an overview of the Tech Stack for Financial Applications from September 2019. Further quoting Amrit Kumar on this:
 
There are two basic building blocks in DeFi/OpFi though: 1) stablecoins as you need a non-volatile currency to get access to this market and 2) a dex to be able to trade all these financial assets. The rest are built on top of these blocks.
 
So far, together with our partners and community, we have worked on developing these building blocks with XSGD as a stablecoin. We are working on bringing a USD-backed stablecoin as well. We will soon have a decentralised exchange developed by Switcheo. And with HGX going live, we are also venturing into the tokenization space. More to come in the future.”
 
Additionally, they also have this ZILHive initiative that injects capital into projects. There have been already 6 waves of various teams working on infrastructure, innovation and research, and they are not from ASEAN or Singapore only but global: see Grantees breakdown by country. Over 60 project teams from over 20 countries have contributed to Zilliqa's ecosystem. This includes individuals and teams developing wallets, explorers, developer toolkits, smart contract testing frameworks, dapps, etc. As some of you may know, Unstoppable Domains (UD) blew up when they launched on Zilliqa. UD aims to replace cryptocurrency addresses with a human-readable name and allows for uncensorable websites. Zilliqa will probably be the only one able to handle all these transactions onchain due to ability to scale and its resulting low fees which is why the UD team launched this on Zilliqa in the first place. Furthermore, Zilliqa also has a strong emphasis on security, compliance, and privacy, which is why they partnered with companies like Elliptic, ChainSecurity (part of PwC Switzerland), and Incognito. Their sister company Aqilliz (Zilliqa spelled backwards) focuses on revolutionizing the digital advertising space and is doing interesting things like using Zilliqa to track outdoor digital ads with companies like Foodpanda.
 
Zilliqa is listed on nearly all major exchanges, having several different fiat-gateways and recently have been added to Binance’s margin trading and futures trading with really good volume. They also have a very impressive team with good credentials and experience. They don't just have “tech people”. They have a mix of tech people, business people, marketeers, scientists, and more. Naturally, it's good to have a mix of people with different skill sets if you work in the crypto space.
 
Marketing & Community
 
Zilliqa has a very strong community. If you just follow their Twitter their engagement is much higher for a coin that has approximately 80k followers. They also have been ‘coin of the day’ by LunarCrush many times. LunarCrush tracks real-time cryptocurrency value and social data. According to their data, it seems Zilliqa has a more fundamental and deeper understanding of marketing and community engagement than almost all other coins. While almost all coins have been a bit frozen in the last months, Zilliqa seems to be on its own bull run. It was somewhere in the 100s a few months ago and is currently ranked #46 on CoinGecko. Their official Telegram also has over 20k people and is very active, and their community channel which is over 7k now is more active and larger than many other official channels. Their local communities also seem to be growing.
 
Moreover, their community started ‘Zillacracy’ together with the Zilliqa core team ( see www.zillacracy.com ). It’s a community-run initiative where people from all over the world are now helping with marketing and development on Zilliqa. Since its launch in February 2020 they have been doing a lot and will also run their own non-custodial seed node for staking. This seed node will also allow them to start generating revenue for them to become a self sustaining entity that could potentially scale up to become a decentralized company working in parallel with the Zilliqa core team. Comparing it to all the other smart contract platforms (e.g. Cardano, EOS, Tezos etc.) they don't seem to have started a similar initiative (correct me if I’m wrong though). This suggests in my opinion that these other smart contract platforms do not fully understand how to utilize the ‘power of the community’. This is something you cannot ‘buy with money’ and gives many projects in the space a disadvantage.
 
Zilliqa also released two social products called SocialPay and Zeeves. SocialPay allows users to earn ZILs while tweeting with a specific hashtag. They have recently used it in partnership with the Singapore Red Cross for a marketing campaign after their initial pilot program. It seems like a very valuable social product with a good use case. I can see a lot of traditional companies entering the space through this product, which they seem to suggest will happen. Tokenizing hashtags with smart contracts to get network effect is a very smart and innovative idea.
 
Regarding Zeeves, this is a tipping bot for Telegram. They already have 1000s of signups and they plan to keep upgrading it for more and more people to use it (e.g. they recently have added a quiz features). They also use it during AMAs to reward people in real-time. It’s a very smart approach to grow their communities and get familiar with ZIL. I can see this becoming very big on Telegram. This tool suggests, again, that the Zilliqa team has a deeper understanding of what the crypto space and community needs and is good at finding the right innovative tools to grow and scale.
 
To be honest, I haven’t covered everything (i’m also reaching the character limited haha). So many updates happening lately that it's hard to keep up, such as the International Monetary Fund mentioning Zilliqa in their report, custodial and non-custodial Staking, Binance Margin, Futures, Widget, entering the Indian market, and more. The Head of Marketing Colin Miles has also released this as an overview of what is coming next. And last but not least, Vitalik Buterin has been mentioning Zilliqa lately acknowledging Zilliqa and mentioning that both projects have a lot of room to grow. There is much more info of course and a good part of it has been served to you on a silver platter. I invite you to continue researching by yourself :-) And if you have any comments or questions please post here!
submitted by haveyouheardaboutit to CryptoCurrency [link] [comments]

Why i’m bullish on Zilliqa (long read)

Hey all, I've been researching coins since 2017 and have gone through 100s of them in the last 3 years. I got introduced to blockchain via Bitcoin of course, analysed Ethereum thereafter and from that moment I have a keen interest in smart contact platforms. I’m passionate about Ethereum but I find Zilliqa to have a better risk reward ratio. Especially because Zilliqa has found an elegant balance between being secure, decentralised and scalable in my opinion.
 
Below I post my analysis why from all the coins I went through I’m most bullish on Zilliqa (yes I went through Tezos, EOS, NEO, VeChain, Harmony, Algorand, Cardano etc.). Note that this is not investment advice and although it's a thorough analysis there is obviously some bias involved. Looking forward to what you all think!
 
Fun fact: the name Zilliqa is a play on ‘silica’ silicon dioxide which means “Silicon for the high-throughput consensus computer.”
 
This post is divided into (i) Technology, (ii) Business & Partnerships, and (iii) Marketing & Community. I’ve tried to make the technology part readable for a broad audience. If you’ve ever tried understanding the inner workings of Bitcoin and Ethereum you should be able to grasp most parts. Otherwise just skim through and once you are zoning out head to the next part.
 
Technology and some more:
 
Introduction The technology is one of the main reasons why I’m so bullish on Zilliqa. First thing you see on their website is: “Zilliqa is a high-performance, high-security blockchain platform for enterprises and next-generation applications.” These are some bold statements.
 
Before we deep dive into the technology let’s take a step back in time first as they have quite the history. The initial research paper from which Zilliqa originated dates back to August 2016: Elastico: A Secure Sharding Protocol For Open Blockchains where Loi Luu (Kyber Network) is one of the co-authors. Other ideas that led to the development of what Zilliqa has become today are: Bitcoin-NG, collective signing CoSi, ByzCoin and Omniledger.
 
The technical white paper was made public in August 2017 and since then they have achieved everything stated in the white paper and also created their own open source intermediate level smart contract language called Scilla (functional programming language similar to OCaml) too.
 
Mainnet is live since end of January 2019 with daily transaction rate growing continuously. About a week ago mainnet reached 5 million transactions, 500.000+ addresses in total along with 2400 nodes keeping the network decentralised and secure. Circulating supply is nearing 11 billion and currently only mining rewards are left. Maximum supply is 21 billion with annual inflation being 7.13% currently and will only decrease with time.
 
Zilliqa realised early on that the usage of public cryptocurrencies and smart contracts were increasing but decentralised, secure and scalable alternatives were lacking in the crypto space. They proposed to apply sharding onto a public smart contract blockchain where the transaction rate increases almost linear with the increase in amount of nodes. More nodes = higher transaction throughput and increased decentralisation. Sharding comes in many forms and Zilliqa uses network-, transaction- and computational sharding. Network sharding opens up the possibility of using transaction- and computational sharding on top. Zilliqa does not use state sharding for now. We’ll come back to this later.
 
Before we continue disecting how Zilliqa achieves such from a technological standpoint it’s good to keep in mind that a blockchain being decentralised and secure and scalable is still one of the main hurdles in allowing widespread usage of decentralised networks. In my opinion this needs to be solved first before blockchains can get to the point where they can create and add large scale value. So I invite you to read the next section to grasp the underlying fundamentals. Because after all these premises need to be true otherwise there isn’t a fundamental case to be bullish on Zilliqa, right?
 
Down the rabbit hole
 
How have they achieved this? Let’s define the basics first: key players on Zilliqa are the users and the miners. A user is anybody who uses the blockchain to transfer funds or run smart contracts. Miners are the (shard) nodes in the network who run the consensus protocol and get rewarded for their service in Zillings (ZIL). The mining network is divided into several smaller networks called shards, which is also referred to as ‘network sharding’. Miners subsequently are randomly assigned to a shard by another set of miners called DS (Directory Service) nodes. The regular shards process transactions and the outputs of these shards are eventually combined by the DS shard as they reach consensus on the final state. More on how these DS shards reach consensus (via pBFT) will be explained later on.
 
The Zilliqa network produces two types of blocks: DS blocks and Tx blocks. One DS Block consists of 100 Tx Blocks. And as previously mentioned there are two types of nodes concerned with reaching consensus: shard nodes and DS nodes. Becoming a shard node or DS node is being defined by the result of a PoW cycle (Ethash) at the beginning of the DS Block. All candidate mining nodes compete with each other and run the PoW (Proof-of-Work) cycle for 60 seconds and the submissions achieving the highest difficulty will be allowed on the network. And to put it in perspective: the average difficulty for one DS node is ~ 2 Th/s equaling 2.000.000 Mh/s or 55 thousand+ GeForce GTX 1070 / 8 GB GPUs at 35.4 Mh/s. Each DS Block 10 new DS nodes are allowed. And a shard node needs to provide around 8.53 GH/s currently (around 240 GTX 1070s). Dual mining ETH/ETC and ZIL is possible and can be done via mining software such as Phoenix and Claymore. There are pools and if you have large amounts of hashing power (Ethash) available you could mine solo.
 
The PoW cycle of 60 seconds is a peak performance and acts as an entry ticket to the network. The entry ticket is called a sybil resistance mechanism and makes it incredibly hard for adversaries to spawn lots of identities and manipulate the network with these identities. And after every 100 Tx Blocks which corresponds to roughly 1,5 hour this PoW process repeats. In between these 1,5 hour no PoW needs to be done meaning Zilliqa’s energy consumption to keep the network secure is low. For more detailed information on how mining works click here.
Okay, hats off to you. You have made it this far. Before we go any deeper down the rabbit hole we first must understand why Zilliqa goes through all of the above technicalities and understand a bit more what a blockchain on a more fundamental level is. Because the core of Zilliqa’s consensus protocol relies on the usage of pBFT (practical Byzantine Fault Tolerance) we need to know more about state machines and their function. Navigate to Viewblock, a Zilliqa block explorer, and just come back to this article. We will use this site to navigate through a few concepts.
 
We have established that Zilliqa is a public and distributed blockchain. Meaning that everyone with an internet connection can send ZILs, trigger smart contracts etc. and there is no central authority who fully controls the network. Zilliqa and other public and distributed blockchains (like Bitcoin and Ethereum) can also be defined as state machines.
 
Taking the liberty of paraphrasing examples and definitions given by Samuel Brooks’ medium article, he describes the definition of a blockchain (like Zilliqa) as:
“A peer-to-peer, append-only datastore that uses consensus to synchronise cryptographically-secure data”.
 
Next he states that: >“blockchains are fundamentally systems for managing valid state transitions”.* For some more context, I recommend reading the whole medium article to get a better grasp of the definitions and understanding of state machines. Nevertheless, let’s try to simplify and compile it into a single paragraph. Take traffic lights as an example: all its states (red, amber and green) are predefined, all possible outcomes are known and it doesn’t matter if you encounter the traffic light today or tomorrow. It will still behave the same. Managing the states of a traffic light can be done by triggering a sensor on the road or pushing a button resulting in one traffic lights’ state going from green to red (via amber) and another light from red to green.
 
With public blockchains like Zilliqa this isn’t so straightforward and simple. It started with block #1 almost 1,5 years ago and every 45 seconds or so a new block linked to the previous block is being added. Resulting in a chain of blocks with transactions in it that everyone can verify from block #1 to the current #647.000+ block. The state is ever changing and the states it can find itself in are infinite. And while the traffic light might work together in tandem with various other traffic lights, it’s rather insignificant comparing it to a public blockchain. Because Zilliqa consists of 2400 nodes who need to work together to achieve consensus on what the latest valid state is while some of these nodes may have latency or broadcast issues, drop offline or are deliberately trying to attack the network etc.
 
Now go back to the Viewblock page take a look at the amount of transaction, addresses, block and DS height and then hit refresh. Obviously as expected you see new incremented values on one or all parameters. And how did the Zilliqa blockchain manage to transition from a previous valid state to the latest valid state? By using pBFT to reach consensus on the latest valid state.
 
After having obtained the entry ticket, miners execute pBFT to reach consensus on the ever changing state of the blockchain. pBFT requires a series of network communication between nodes, and as such there is no GPU involved (but CPU). Resulting in the total energy consumed to keep the blockchain secure, decentralised and scalable being low.
 
pBFT stands for practical Byzantine Fault Tolerance and is an optimisation on the Byzantine Fault Tolerant algorithm. To quote Blockonomi: “In the context of distributed systems, Byzantine Fault Tolerance is the ability of a distributed computer network to function as desired and correctly reach a sufficient consensus despite malicious components (nodes) of the system failing or propagating incorrect information to other peers.” Zilliqa is such a distributed computer network and depends on the honesty of the nodes (shard and DS) to reach consensus and to continuously update the state with the latest block. If pBFT is a new term for you I can highly recommend the Blockonomi article.
 
The idea of pBFT was introduced in 1999 - one of the authors even won a Turing award for it - and it is well researched and applied in various blockchains and distributed systems nowadays. If you want more advanced information than the Blockonomi link provides click here. And if you’re in between Blockonomi and University of Singapore read the Zilliqa Design Story Part 2 dating from October 2017.
Quoting from the Zilliqa tech whitepaper: “pBFT relies upon a correct leader (which is randomly selected) to begin each phase and proceed when the sufficient majority exists. In case the leader is byzantine it can stall the entire consensus protocol. To address this challenge, pBFT offers a view change protocol to replace the byzantine leader with another one.”
 
pBFT can tolerate ⅓ of the nodes being dishonest (offline counts as Byzantine = dishonest) and the consensus protocol will function without stalling or hiccups. Once there are more than ⅓ of dishonest nodes but no more than ⅔ the network will be stalled and a view change will be triggered to elect a new DS leader. Only when more than ⅔ of the nodes are dishonest (>66%) double spend attacks become possible.
 
If the network stalls no transactions can be processed and one has to wait until a new honest leader has been elected. When the mainnet was just launched and in its early phases, view changes happened regularly. As of today the last stalling of the network - and view change being triggered - was at the end of October 2019.
 
Another benefit of using pBFT for consensus besides low energy is the immediate finality it provides. Once your transaction is included in a block and the block is added to the chain it’s done. Lastly, take a look at this article where three types of finality are being defined: probabilistic, absolute and economic finality. Zilliqa falls under the absolute finality (just like Tendermint for example). Although lengthy already we skipped through some of the inner workings from Zilliqa’s consensus: read the Zilliqa Design Story Part 3 and you will be close to having a complete picture on it. Enough about PoW, sybil resistance mechanism, pBFT etc. Another thing we haven’t looked at yet is the amount of decentralisation.
 
Decentralisation
 
Currently there are four shards, each one of them consisting of 600 nodes. 1 shard with 600 so called DS nodes (Directory Service - they need to achieve a higher difficulty than shard nodes) and 1800 shard nodes of which 250 are shard guards (centralised nodes controlled by the team). The amount of shard guards has been steadily declining from 1200 in January 2019 to 250 as of May 2020. On the Viewblock statistics you can see that many of the nodes are being located in the US but those are only the (CPU parts of the) shard nodes who perform pBFT. There is no data from where the PoW sources are coming. And when the Zilliqa blockchain starts reaching their transaction capacity limit, a network upgrade needs to be executed to lift the current cap of maximum 2400 nodes to allow more nodes and formation of more shards which will allow to network to keep on scaling according to demand.
Besides shard nodes there are also seed nodes. The main role of seed nodes is to serve as direct access points (for end users and clients) to the core Zilliqa network that validates transactions. Seed nodes consolidate transaction requests and forward these to the lookup nodes (another type of nodes) for distribution to the shards in the network. Seed nodes also maintain the entire transaction history and the global state of the blockchain which is needed to provide services such as block explorers. Seed nodes in the Zilliqa network are comparable to Infura on Ethereum.
 
The seed nodes were first only operated by Zilliqa themselves, exchanges and Viewblock. Operators of seed nodes like exchanges had no incentive to open them for the greater public.They were centralised at first. Decentralisation at the seed nodes level has been steadily rolled out since March 2020 ( Zilliqa Improvement Proposal 3 ). Currently the amount of seed nodes is being increased, they are public facing and at the same time PoS is applied to incentivize seed node operators and make it possible for ZIL holders to stake and earn passive yields. Important distinction: seed nodes are not involved with consensus! That is still PoW as entry ticket and pBFT for the actual consensus.
 
5% of the block rewards are being assigned to seed nodes (from the beginning in 2019) and those are being used to pay out ZIL stakers.The 5% block rewards with an annual yield of 10.03% translates to roughly 610 MM ZILs in total that can be staked. Exchanges use the custodial variant of staking and wallets like Moonlet will use the non custodial version (starting in Q3 2020). Staking is being done by sending ZILs to a smart contract created by Zilliqa and audited by Quantstamp.
 
With a high amount of DS & shard nodes and seed nodes becoming more decentralised too, Zilliqa qualifies for the label of decentralised in my opinion.
 
Smart contracts
 
Let me start by saying I’m not a developer and my programming skills are quite limited. So I‘m taking the ELI5 route (maybe 12) but if you are familiar with Javascript, Solidity or specifically OCaml please head straight to Scilla - read the docs to get a good initial grasp of how Zilliqa’s smart contract language Scilla works and if you ask yourself “why another programming language?” check this article. And if you want to play around with some sample contracts in an IDE click here. Faucet can be found here. And more information on architecture, dapp development and API can be found on the Developer Portal.
If you are more into listening and watching: check this recent webinar explaining Zilliqa and Scilla. Link is time stamped so you’ll start right away with a platform introduction, R&D roadmap 2020 and afterwards a proper Scilla introduction.
 
Generalised: programming languages can be divided into being ‘object oriented’ or ‘functional’. Here is an ELI5 given by software development academy: > “all programmes have two basic components, data – what the programme knows – and behaviour – what the programme can do with that data. So object-oriented programming states that combining data and related behaviours in one place, is called “object”, which makes it easier to understand how a particular program works. On the other hand, functional programming argues that data and behaviour are different things and should be separated to ensure their clarity.”
 
Scilla is on the functional side and shares similarities with OCaml: > OCaml is a general purpose programming language with an emphasis on expressiveness and safety. It has an advanced type system that helps catch your mistakes without getting in your way. It's used in environments where a single mistake can cost millions and speed matters, is supported by an active community, and has a rich set of libraries and development tools. For all its power, OCaml is also pretty simple, which is one reason it's often used as a teaching language.
 
Scilla is blockchain agnostic, can be implemented onto other blockchains as well, is recognised by academics and won a so called Distinguished Artifact Award award at the end of last year.
 
One of the reasons why the Zilliqa team decided to create their own programming language focused on preventing smart contract vulnerabilities safety is that adding logic on a blockchain, programming, means that you cannot afford to make mistakes. Otherwise it could cost you. It’s all great and fun blockchains being immutable but updating your code because you found a bug isn’t the same as with a regular web application for example. And with smart contracts it inherently involves cryptocurrencies in some form thus value.
 
Another difference with programming languages on a blockchain is gas. Every transaction you do on a smart contract platform like Zilliqa for Ethereum costs gas. With gas you basically pay for computational costs. Sending a ZIL from address A to address B costs 0.001 ZIL currently. Smart contracts are more complex, often involve various functions and require more gas (if gas is a new concept click here ).
 
So with Scilla, similar to Solidity, you need to make sure that “every function in your smart contract will run as expected without hitting gas limits. An improper resource analysis may lead to situations where funds may get stuck simply because a part of the smart contract code cannot be executed due to gas limits. Such constraints are not present in traditional software systems”. Scilla design story part 1
 
Some examples of smart contract issues you’d want to avoid are: leaking funds, ‘unexpected changes to critical state variables’ (example: someone other than you setting his or her address as the owner of the smart contract after creation) or simply killing a contract.
 
Scilla also allows for formal verification. Wikipedia to the rescue:
In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics.
 
Formal verification can be helpful in proving the correctness of systems such as: cryptographic protocols, combinational circuits, digital circuits with internal memory, and software expressed as source code.
 
Scilla is being developed hand-in-hand with formalization of its semantics and its embedding into the Coq proof assistant — a state-of-the art tool for mechanized proofs about properties of programs.”
 
Simply put, with Scilla and accompanying tooling developers can be mathematically sure and proof that the smart contract they’ve written does what he or she intends it to do.
 
Smart contract on a sharded environment and state sharding
 
There is one more topic I’d like to touch on: smart contract execution in a sharded environment (and what is the effect of state sharding). This is a complex topic. I’m not able to explain it any easier than what is posted here. But I will try to compress the post into something easy to digest.
 
Earlier on we have established that Zilliqa can process transactions in parallel due to network sharding. This is where the linear scalability comes from. We can define simple transactions: a transaction from address A to B (Category 1), a transaction where a user interacts with one smart contract (Category 2) and the most complex ones where triggering a transaction results in multiple smart contracts being involved (Category 3). The shards are able to process transactions on their own without interference of the other shards. With Category 1 transactions that is doable, with Category 2 transactions sometimes if that address is in the same shard as the smart contract but with Category 3 you definitely need communication between the shards. Solving that requires to make a set of communication rules the protocol needs to follow in order to process all transactions in a generalised fashion.
 
And this is where the downsides of state sharding comes in currently. All shards in Zilliqa have access to the complete state. Yes the state size (0.1 GB at the moment) grows and all of the nodes need to store it but it also means that they don’t need to shop around for information available on other shards. Requiring more communication and adding more complexity. Computer science knowledge and/or developer knowledge required links if you want to dig further: Scilla - language grammar Scilla - Foundations for Verifiable Decentralised Computations on a Blockchain Gas Accounting NUS x Zilliqa: Smart contract language workshop
 
Easier to follow links on programming Scilla https://learnscilla.com/home Ivan on Tech
 
Roadmap / Zilliqa 2.0
 
There is no strict defined roadmap but here are topics being worked on. And via the Zilliqa website there is also more information on the projects they are working on.
 
Business & Partnerships  
It’s not only technology in which Zilliqa seems to be excelling as their ecosystem has been expanding and starting to grow rapidly. The project is on a mission to provide OpenFinance (OpFi) to the world and Singapore is the right place to be due to its progressive regulations and futuristic thinking. Singapore has taken a proactive approach towards cryptocurrencies by introducing the Payment Services Act 2019 (PS Act). Among other things, the PS Act will regulate intermediaries dealing with certain cryptocurrencies, with a particular focus on consumer protection and anti-money laundering. It will also provide a stable regulatory licensing and operating framework for cryptocurrency entities, effectively covering all crypto businesses and exchanges based in Singapore. According to PWC 82% of the surveyed executives in Singapore reported blockchain initiatives underway and 13% of them have already brought the initiatives live to the market. There is also an increasing list of organisations that are starting to provide digital payment services. Moreover, Singaporean blockchain developers Building Cities Beyond has recently created an innovation $15 million grant to encourage development on its ecosystem. This all suggest that Singapore tries to position itself as (one of) the leading blockchain hubs in the world.
 
Zilliqa seems to already taking advantage of this and recently helped launch Hg Exchange on their platform, together with financial institutions PhillipCapital, PrimePartners and Fundnel. Hg Exchange, which is now approved by the Monetary Authority of Singapore (MAS), uses smart contracts to represent digital assets. Through Hg Exchange financial institutions worldwide can use Zilliqa's safe-by-design smart contracts to enable the trading of private equities. For example, think of companies such as Grab, AirBnB, SpaceX that are not available for public trading right now. Hg Exchange will allow investors to buy shares of private companies & unicorns and capture their value before an IPO. Anquan, the main company behind Zilliqa, has also recently announced that they became a partner and shareholder in TEN31 Bank, which is a fully regulated bank allowing for tokenization of assets and is aiming to bridge the gap between conventional banking and the blockchain world. If STOs, the tokenization of assets, and equity trading will continue to increase, then Zilliqa’s public blockchain would be the ideal candidate due to its strategic positioning, partnerships, regulatory compliance and the technology that is being built on top of it.
 
What is also very encouraging is their focus on banking the un(der)banked. They are launching a stablecoin basket starting with XSGD. As many of you know, stablecoins are currently mostly used for trading. However, Zilliqa is actively trying to broaden the use case of stablecoins. I recommend everybody to read this text that Amrit Kumar wrote (one of the co-founders). These stablecoins will be integrated in the traditional markets and bridge the gap between the crypto world and the traditional world. This could potentially revolutionize and legitimise the crypto space if retailers and companies will for example start to use stablecoins for payments or remittances, instead of it solely being used for trading.
 
Zilliqa also released their DeFi strategic roadmap (dating November 2019) which seems to be aligning well with their OpFi strategy. A non-custodial DEX is coming to Zilliqa made by Switcheo which allows cross-chain trading (atomic swaps) between ETH, EOS and ZIL based tokens. They also signed a Memorandum of Understanding for a (soon to be announced) USD stablecoin. And as Zilliqa is all about regulations and being compliant, I’m speculating on it to be a regulated USD stablecoin. Furthermore, XSGD is already created and visible on block explorer and XIDR (Indonesian Stablecoin) is also coming soon via StraitsX. Here also an overview of the Tech Stack for Financial Applications from September 2019. Further quoting Amrit Kumar on this:
 
There are two basic building blocks in DeFi/OpFi though: 1) stablecoins as you need a non-volatile currency to get access to this market and 2) a dex to be able to trade all these financial assets. The rest are build on top of these blocks.
 
So far, together with our partners and community, we have worked on developing these building blocks with XSGD as a stablecoin. We are working on bringing a USD-backed stablecoin as well. We will soon have a decentralised exchange developed by Switcheo. And with HGX going live, we are also venturing into the tokenization space. More to come in the future.”*
 
Additionally, they also have this ZILHive initiative that injects capital into projects. There have been already 6 waves of various teams working on infrastructure, innovation and research, and they are not from ASEAN or Singapore only but global: see Grantees breakdown by country. Over 60 project teams from over 20 countries have contributed to Zilliqa's ecosystem. This includes individuals and teams developing wallets, explorers, developer toolkits, smart contract testing frameworks, dapps, etc. As some of you may know, Unstoppable Domains (UD) blew up when they launched on Zilliqa. UD aims to replace cryptocurrency addresses with a human readable name and allows for uncensorable websites. Zilliqa will probably be the only one able to handle all these transactions onchain due to ability to scale and its resulting low fees which is why the UD team launched this on Zilliqa in the first place. Furthermore, Zilliqa also has a strong emphasis on security, compliance, and privacy, which is why they partnered with companies like Elliptic, ChainSecurity (part of PwC Switzerland), and Incognito. Their sister company Aqilliz (Zilliqa spelled backwards) focuses on revolutionizing the digital advertising space and is doing interesting things like using Zilliqa to track outdoor digital ads with companies like Foodpanda.
 
Zilliqa is listed on nearly all major exchanges, having several different fiat-gateways and recently have been added to Binance’s margin trading and futures trading with really good volume. They also have a very impressive team with good credentials and experience. They dont just have “tech people”. They have a mix of tech people, business people, marketeers, scientists, and more. Naturally, it's good to have a mix of people with different skill sets if you work in the crypto space.
 
Marketing & Community
 
Zilliqa has a very strong community. If you just follow their Twitter their engagement is much higher for a coin that has approximately 80k followers. They also have been ‘coin of the day’ by LunarCrush many times. LunarCrush tracks real-time cryptocurrency value and social data. According to their data it seems Zilliqa has a more fundamental and deeper understanding of marketing and community engagement than almost all other coins. While almost all coins have been a bit frozen in the last months, Zilliqa seems to be on its own bull run. It was somewhere in the 100s a few months ago and is currently ranked #46 on CoinGecko. Their official Telegram also has over 20k people and is very active, and their community channel which is over 7k now is more active and larger than many other official channels. Their local communities) also seem to be growing.
 
Moreover, their community started ‘Zillacracy’ together with the Zilliqa core team ( see www.zillacracy.com ). It’s a community run initiative where people from all over the world are now helping with marketing and development on Zilliqa. Since its launch in February 2020 they have been doing a lot and will also run their own non custodial seed node for staking. This seed node will also allow them to start generating revenue for them to become a self sustaining entity that could potentially scale up to become a decentralized company working in parallel with the Zilliqa core team. Comparing it to all the other smart contract platforms (e.g. Cardano, EOS, Tezos etc.) they don't seem to have started a similar initiatives (correct me if I’m wrong though). This suggest in my opinion that these other smart contract platforms do not fully understand how to utilize the ‘power of the community’. This is something you cannot ‘buy with money’ and gives many projects in the space a disadvantage.
 
Zilliqa also released two social products called SocialPay and Zeeves. SocialPay allows users to earn ZILs while tweeting with a specific hashtag. They have recently used it in partnership with the Singapore Red Cross for a marketing campaign after their initial pilot program. It seems like a very valuable social product with a good use case. I can see a lot of traditional companies entering the space through this product, which they seem to suggest will happen. Tokenizing hashtags with smart contracts to get network effect is a very smart and innovative idea.
 
Regarding Zeeves, this is a tipping bot for Telegram. They already have 1000s of signups and they plan to keep upgrading it for more and more people to use it (e.g. they recently have added a quiz features). They also use it during AMAs to reward people in real time. It’s a very smart approach to grow their communities and get familiar with ZIL. I can see this becoming very big on Telegram. This tool suggests, again, that the Zilliqa team has a deeper understanding what the crypto space and community needs and is good at finding the right innovative tools to grow and scale.
 
To be honest, I haven’t covered everything (i’m also reaching the character limited haha). So many updates happening lately that it's hard to keep up, such as the International Monetary Fund mentioning Zilliqa in their report, custodial and non-custodial Staking, Binance Margin, Futures & Widget, entering the Indian market, and more. The Head of Marketing Colin Miles has also released this as an overview of what is coming next. And last but not least, Vitalik Buterin has been mentioning Zilliqa lately acknowledging Zilliqa and mentioning that both projects have a lot of room to grow. There is much more info of course and a good part of it has been served to you on a silver platter. I invite you to continue researching by yourself :-) And if you have any comments or questions please post here!
submitted by haveyouheardaboutit to CryptoCurrency [link] [comments]

Continuous Proof of Bitcoin Burn: trust minimized sidechains and bitcoin-pegs w/o oracles/federations today

Original design presented for discussion and criticism
originally posted here: https://bitcointalk.org/index.php?topic=5212814.0
TLDR: Proposing the following that's possible today to use for any existing or new altcoins:
_______________________________________

Disclaimer:

This is not an altcoin thread. I'm not making anything. The design discussed options for existing altcoins and new ways to built on top of Bitcoin inheriting some of its security guarantees. 2 parts: First, the design allows any altcoins to switch to securing themselves via Bitcoin instead of their own PoW or PoS with significant benefits to both altcoins and Bitcoin (and environment lol). Second, I explain how to create Bitcoin-pegged assets to turn altcoins into a Bitcoin sidechain equivalent. Let me know if this is of interest or if it exists, feel free to use or do anything with this, hopefully I can help.

Issue:

Solution to first few points:

PoW altcoin switching to CPoBB would trade:

PoS altcoin switching to CPoBB would trade:

We already have a permissionless, compact, public, high-cost-backed finality base layer to build on top - Bitcoin! It will handle sorting, data availability, finality, and has something of value to use instead of capital or energy that's outside the sidechain - the Bitcoin coins. The sunk costs of PoW can be simulated by burning Bitcoin, similar to concept known as Proof of Burn where Bitcoin are sent to unspendable address. Unlike ICO's, no contributors can take out the Bitcoins and get rewards for free. Unlike PoS, entry into supply lies outside the alt-chain and thus doesn't depend on permission of alt-chain stake-coin holders. It's hard to find a more bandwidth or state size protective blockchain to use other than Bitcoin as well so altcoins can be Bitcoin-aware at little marginal difficulty - 10 years of history fully validates in under a day.

What are typical issues with Proof of Burn?

Solution:

This should be required for any design for it to stay permissionless. Optional is constant fixed emission rate for altcoins not trying to be money if goal is to maximize accessibility. Since it's not depending on brand new PoW for security, they don't have to depend on massive early rewards giving disproportionate fraction of supply at earliest stage either. If 10 coins are created every block, after n blocks, at rate of 10 coins per block, % emission per block is = (100/n)%, an always decreasing number. Sidechain coin doesn't need to be scarce money, and could maximize distribution of control by encouraging further distribution. If no burners exist in a block, altcoin block reward is simply added to next block reward making emission predictable.
Sidechain block content should be committed in burn transaction via a root of the merkle tree of its transactions. Sidechain state will depend on Bitcoin for finality and block time between commitment broadcasts. However, the throughput can be of any size per block, unlimited number of such sidechains can exist with their own rules and validation costs are handled only by nodes that choose to be aware of a specific sidechain by running its consensus compatible software.
Important design decision is how can protocol determine the "true" side-block and how to distribute incentives. Simplest solution is to always :
  1. Agree on the valid sidechain block matching the merkle root commitment for the largest amount of Bitcoin burnt, earliest inclusion in the bitcoin block as the tie breaker
  2. Distribute block reward during the next side-block proportional to current amounts burnt
  3. Bitcoin fee market serves as deterrent for spam submissions of blocks to validate
e.g.
sidechain block reward is set always at 10 altcoins per block Bitcoin block contains the following content embedded and part of its transactions: tx11: burns 0.01 BTC & OP_RETURN tx56: burns 0.05 BTC & OP_RETURN ... <...root of valid sidechain block version 1> ... tx78: burns 1 BTC & OP_RETURN ... <...root of valid sidechain block version 2> ... tx124: burns 0.2 BTC & OP_RETURN ... <...root of INVALID sidechain block version 3> ...
Validity is deterministic by rules in client side node software (e.g. signature validation) so all nodes can independently see version 3 is invalid and thus burner of tx124 gets no reward allocated. The largest valid burn is from tx78 so version 2 is used for the blockchain in sidechain. The total valid burn is 1.06 BTC, so 10 altcoins to be distributed in the next block are 0.094, 0.472, 9.434 to owners of first 3 transactions, respectively.
Censorship attack would require continuous costs in Bitcoin on the attacker and can be waited out. Censorship would also be limited to on-sidechain specific transactions as emission distribution to others CPoB contributors wouldn't be affected as blocks without matching coin distributions on sidechain wouldn't be valid. Additionally, sidechains can allow a limited number of sidechain transactions to happen via embedding transaction data inside Bitcoin transactions (e.g. OP_RETURN) as a way to use Bitcoin for data availability layer in case sidechain transactions are being censored on their network. Since all sidechain nodes are Bitcoin aware, it would be trivial to include.
Sidechain blocks cannot be reverted without reverting Bitcoin blocks or hard forking the protocol used to derive sidechain state. If protocol is forked, the value of sidechain coins on each fork of sidechain state becomes important but Proof of Burn natively guarantees trust minimized and permissionless distribution of the coins, something inferior methods like obscure early distributions, trusted pre-mines, and trusted ICO's cannot do.
More bitcoins being burnt is parallel to more hash rate entering PoW, with each miner or burner getting smaller amount of altcoins on average making it unprofitable to burn or mine and forcing some to exit. At equilibrium costs of equipment and electricity approaches value gained from selling coins just as at equilibrium costs of burnt coins approaches value of altcoins rewarded. In both cases it incentivizes further distribution to markets to cover the costs making burners and miners dependent on users via markets. In both cases it's also possible to mine without permission and mine at a loss temporarily to gain some altcoins without permission if you want to.
Altcoins benefit by inheriting many of bitcoin security guarantees, bitcoin parties have to do nothing if they don't want to, but will see their coins grow more scarce through burning. The contributions to the fee market will contribute to higher Bitcoin miner rewards even after block reward is gone.

Sidechain Bitcoin-pegs:

What is the ideal goal of the sidechains? Ideally to have a token that has the bi-directionally pegged value to Bitcoin and tradeable ~1:1 for Bitcoin that gives Bitcoin users an option of a different rule set without compromising the base chain nor forcing base chain participants to do anything different.
Issues with value pegs:
Let's get rid of the idea of needing Bitcoin collateral to back pegged coins 1:1 as that's never secure, independent, or scalable at same security level. As drive-chain design suggested the peg doesn't have to be fast, can take months, just needs to exist so other methods can be used to speed it up like atomic swaps by volunteers taking on the risk for a fee.
In continuous proof of burn we have another source of Bitcoins, the burnt Bitcoins. Sidechain protocols can require some minor percentage (e.g. 20%) of burner tx value coins via another output to go to reimburse those withdrawing side-Bitcoins to Bitcoin chain until they are filled. If withdrawal queue is empty that % is burnt instead. Selection of who receives reimbursement is deterministic per burner. Percentage must be kept small as it's assumed it's possible to get up to that much discount on altcoin emissions.
Let's use a really simple example case where each burner pays 20% of burner tx amount to cover withdrawal in exact order requested with no attempts at other matching, capped at half amount requested per payout. Example:
withdrawal queue: request1: 0.2 sBTC request2: 1.0 sBTC request3: 0.5 sBTC
same block burners: tx burns 0.8 BTC, 0.1 BTC is sent to request1, 0.1 BTC is sent to request2 tx burns 0.4 BTC, 0.1 BTC is sent to request1 tx burns 0.08 BTC, 0.02 BTC is sent to request 1 tx burns 1.2 BTC, 0.1 BTC is sent to request1, 0.2 BTC is sent to request2
withdrawal queue: request1: filled with 0.32 BTC instead of 0.2 sBTC, removed from queue request2: partially-filled with 0.3 BTC out of 1.0 sBTC, 0.7 BTC remaining for next queue request3: still 0.5 sBTC
Withdrawal requests can either take long time to get to filled due to cap per burn or get overfilled as seen in "request1" example, hard to predict. Overfilling is not a big deal since we're not dealing with a finite source. The risk a user that chooses to use the sidechain pegged coin takes on is based on the rate at which they can expect to get paid based on value of altcoin emission that generally matches Bitcoin burn rate. If sidechain loses interest and nobody is burning enough bitcoin, the funds might be lost so the scale of risk has to be measured. If Bitcoins burnt per day is 0.5 BTC total and you hope to deposit or withdraw 5000 BTC, it might take a long time or never happen to withdraw it. But for amounts comparable or under 0.5 BTC/day average burnt with 5 side-BTC on sidechain outstanding total the risks are more reasonable.
Deposits onto the sidechain are far easier - by burning Bitcoin in a separate known unspendable deposit address for that sidechain and sidechain protocol issuing matching amount of side-Bitcoin. Withdrawn bitcoins are treated as burnt bitcoins for sake of dividing block rewards as long as they followed the deterministic rules for their burn to count as valid and percentage used for withdrawals is kept small to avoid approaching free altcoin emissions by paying for your own withdrawals and ensuring significant unforgeable losses.
Ideally more matching is used so large withdrawals don't completely block everyone else and small withdrawals don't completely block large withdrawals. Better methods should deterministically randomize assigned withdrawals via previous Bitcoin block hash, prioritized by request time (earliest arrivals should get paid earlier), and amount of peg outstanding vs burn amount (smaller burns should prioritize smaller outstanding balances). Fee market on bitcoin discourages doing withdrawals of too small amounts and encourages batching by burners.
The second method is less reliable but already known that uses over-collateralized loans that create a oracle-pegged token that can be pegged to the bitcoin value. It was already used by its inventors in 2014 on bitshares (e.g. bitCNY, bitUSD, bitBTC) and similarly by MakerDAO in 2018. The upside is a trust minimized distribution of CPoB coins can be used to distribute trust over selection of price feed oracles far better than pre-mined single trusted party based distributions used in MakerDAO (100% pre-mined) and to a bit lesser degree on bitshares (~50% mined, ~50% premined before dpos). The downside is 2 fold: first the supply of BTC pegged coin would depend on people opening an equivalent of a leveraged long position on the altcoin/BTC pair, which is hard to convince people to do as seen by very poor liquidity of bitBTC in the past. Second downside is oracles can still collude to mess with price feeds, and while their influence might be limited via capped price changes per unit time and might compromise their continuous revenue stream from fees, the leverage benefits might outweight the losses. The use of continous proof of burn to peg withdrawals is superior method as it is simply a minor byproduct of "mining" for altcoins and doesn't depend on traders positions. At the moment I'm not aware of any market-pegged coins on trust minimized platforms or implemented in trust minimized way (e.g. premined mkr on premined eth = 2 sets of trusted third parties each of which with full control over the design).
_______________________________________

Brief issues with current altchains options:

  1. PoW: New PoW altcoins suffer high risk of attacks. Additional PoW chains require high energy and capital costs to create permissionless entry and trust minimized miners that are forever dependent on markets to hold them accountable. Using same algorithm or equipment as another chain or merge-mining puts you at a disadvantage by allowing some miners to attack and still cover sunk costs on another chain. Using a different algorithm/equipment requires building up the value of sunk costs to protect against attacks with significant energy and capital costs. Drive-chains also require miners to allow it by having to be sidechain aware and thus incur additional costs on them and validating nodes if the sidechain rewards are of value and importance.
  2. PoS: PoS is permissioned (requires permission from internal party to use network or contribute to consensus on permitted scale), allows perpetual control without accountability to others, and incentivizes centralization of control over time. Without continuous source of sunk costs there's no reason to give up control. By having consensus entirely dependent on internal state network, unlike PoW but like private databases, cannot guarantee independent permissionless entry and thus cannot claim trust minimization. Has no built in distribution methods so depends on safe start (snapshot of trust minimized distributions or PoW period) followed by losing that on switch to PoS or starting off dependent on a single trusted party such as case in all significant pre-mines and ICO's.
  3. Proof of Capacity: PoC is just shifting costs further to capital over PoW to achieve same guarantees.
  4. PoW/PoS: Still require additional PoW chain creation. Strong dependence on PoS can render PoW irrelevant and thus inherit the worst properties of both protocols.
  5. Tokens inherit all trust dependencies of parent blockchain and thus depend on the above.
  6. Embedded consensus (counterparty, veriblock?, omni): Lacks mechanism for distribution, requires all tx data to be inside scarce Bitcoin block space so high cost to users instead of compensated miners. If you want to build a very expressive scripting language, might very hard & expensive to fit into Bitcoin tx vs CPoBB external content of unlimited size in a committed hash. Same as CPoBB is Bitcoin-aware so can respond to Bitcoin being sent but without source of Bitcoins like burning no way to do any trust minimized Bitcoin-pegs it can control fully.

Few extra notes from my talks with people:

Main questions to you:

open to working on this further with others
submitted by awasi868 to CryptoTechnology [link] [comments]

Let's have a public debate about what could improve the Burst marketplace (and perhaps asset exchange)

Let's not have a public debate that will either lead to drama, or leads to the sentiment of "let's just rip it out and leave it at that".
There has been more than a year of development now. The BRS has been through a hard fork, seriously upgrading the transaction capacity. Many efforts have gone into stabilising the wallet as much as possible. Many bugs were squashed as well, fixing potential and actual vulnerabilities. In the Burst ecosystem (because yes, there's always far more than just the wallet) there has been a lot of development as well. New pool software was created, new plotting software, and new mining software. All designed with the concepts of being powerful, scalable, and less power consuming. Even mobile device mining made a serious come back. Then there's the bot development which should help integrate Burst even better into our community.
The Burst future certainly looks bright as well, with ongoing endeavers working towards Tethered Assets, the Dymaxion, and PoC3 which are there to fix some of the most essential problems we see in cryptocurrencies. Tethered Assets to offer an algorithmicaly provable solution to the heavily fluctuating value of cryptocurrencies that make true (closed economies) adoption of cryptocurrencies hard. There's the Dymaxion, which will be an effort to have a truly scalable solution to actually allow the use of Burst on a global level; so we can actually trade our Burst-backed USD, or in the long term Burst itself. Growing to that capacity will without a doubt on my side, give it the actual it deserves in a stable way after true "organic" growth of the perceived value of Burst. Finally there's PoC3, which will be a major improvement on PoC2, because the data plotted will have a second use; forming a digital vault to store humanity's greatest treasure: it's common knowledge and cultural values. Let's also remind ourselves that PoC is in itself the answer to another problem we see in cryptocurrencies, where PoW is burning down the world while Bitcoin is in its infancy in regards to adoption, and PoS only seems to lead to centralisation of wealth and Stockholm syndrome.
The Dymaxion, Tethered Assets, and PoC3 concepts didn't appear out of nowhere. They required serious thinking done over a period of time by quite uncommon individuals. They caused "Eureka" moments, and when you dive deeper into the matter and start connecting the concepts, you'll see more and more synergies.
In the last year where I've been a part of development of Burst I've seen the topic of the Burst marketplace - and as an extend to that the Burst Assets exchange brought up often. The current state of them can be considered "lacking" at best and absolutely detrimental in the worst case according to many people.
Since the aim for Burst absolutely is global adoption, we of course want the marketplace and asset exchange to be top-notch as well. The moment we get Tethered Assets, we could definitely improve it on the "accepting" front - allowing sellers to request a value in Burst, but also in Tethered Euro's, USD, or bananas.
That still leaves the issue of "trust", however. The marketplace and asset exchange are currently an amazing playground for scammers. Much of the drama that has occured in the years before last year originated from that. People scamming, people calling others scammers while they weren't, etc of course all leads to a toxic environment.
Of course there can be many perceived solutions to this problem. One could be a central authority that "validates" people to allow them to sell something (either on the marketplace or in the form of assets), but adding this into the core of Burst would imply centralisation and absolutely destroy Burst's identity. Another perceived solution could be "have buyers rate sellers", but in that case a simple Sybill attack could be applied by the seller, simply use a thousand "sock puppet" buyer accounts that will make him look good, without a single product moving.
So let's try to think up a real solution to that problem. Something we haven't been able to in the many iterations it has been brought up on Discord, but might be done in a big public debate here on reddit. Have you seen a solution in another project, or cryptocurrency that might fix the current situation? Any ideas you have yourself? Don't be afraid to share them here.
And in case serious improvements can happen, let's not fear hard forks. The current marketplace could even be "disabled" and something else can be built next to it, although the original code will have to remain so the blockchain can still be validated in the future.
So let's get our Eureka moment here.
submitted by Brabantian to burstcoin [link] [comments]

Log of Slack Talk about Ark SmartBridge and ArkVM

grexx So I think we need to start thinking about blockchain systems as clusters of networks and not one main blockchain. You may have one core token/currency that the other chains recognize and can process as currency (through smartbridge transactions) but then have that pegged to the sidechains for the purpose of accounting in and out of the sidechain that processes the smart contracts. This might allow you to have a scalable network of sidechains running ARKVM and smart contracts that users could select between in congested periods while still using the main ARK token as currency in and out of the sidechain. If that makes sense. I missed a lot of the argument above and just saw some discussion on VM and sidechains so wanted to see what all the fuss was about but I don't have time to fully get caught up. So correct me if I missed the core of the concern/argument Ultimately for scaling efforts to work, people are going to have to start thinking outside of the box and doing everything on one chain isn't the answer. the one thing you want to avoid is having too much extra data being processed on the main chain you want to keep it lean and focused on payments as effectively as possible It's extremely cumbersome to spin off an entire blockchain just to run one dapp/smart contract I'll be better off joining an already popular chain with the vm enabled So this is something I think is misleading. One major facet of ARK is that we are going to seriously lower the barrier to entry for deploying blockchains. On top of that, there would be several economic models for the person running the chain to secure delegates. They could potentially offer profit sharing, i.e. if the contract charges a fee to run, a portion of the cost of using the dapp/smart contract goes to the delegate pool. They could fund it themselves as you mentioned through some form of contract, or they could create a model we haven't even thought of yet, like in game perks, company voting rights for delegates, etc. Remember that a sidechain isn't necessarily just a smart contract, it could be a companies entire product rolled into a dapp using a blockchain that they don't want bloated or effected by other data they could close off that blockchain to deploying or processing smart contracts outside of their dapp and simply have it serve the purpose of their product. That would be just one use case of deploying an ARK compatible chain You could accept ARK into your sidechain through a pegged mechanism as payment for utilizing your smart contract/dapp and then have the contract that accepts that ARK peg distribute tokens to the delegates that could then be withdrawn to the main ARK chain through the smartbridge from the associated main chain account which does the financial accounting for the sidechain
grexx No matter what you think about ethereum's scaling solutions, it has 100% not been proven to actually work up to this point. If I was a product owner, I would not want to rely on the ethereum developers or the ethereum blockchain at this point for my entire business model Look at how many businesses right now are effected when something like CryptoKitties kills the Eth blockchain how would you feel if you are a company with a product and some asshat mobile app for trading digital cats shuts down your business for 4 days and you lose a weeks salary for your employees due to the losses it's an unsustainable business model We are going to make it to where anyone can deploy a blockchain as easily as they would deploy a VPS or a website. In some industries, like gaming, it might become a badge of honor or an esteemed position to be a delegate for those chains. It could even be incorporated into the game itself. For larger corporate environments, they may not care about having it be as decentralized as you and may have a series of corporate partners collaborate on running a network they use among several companies for a product line who knows what people will come up with we are building the tools to create new business models, building them off the ARK brand and with built in compatibility to create inter-chain operations in the future as we learn where those new opportunities lie the reason everyone uses ERC20 and runs on Eth right now is because they have no other option without putting in serious man hours to launch their own eth chain We have talked to countless teams building on Ethereum right now who wish there was another option. Everyone in this sector has a different view of how this all plays out. Ethereum has their vision and anyone who wants to support them is probably making a great decision. They have some of the smartest minds working on the issues with their network but it doesn't mean it's the right answer in every situation.
moonman This doesn't address how to run trustless swaps when the main chain doesn't have a VM, which is one of the main Ark products people are looking forward to. You're saying that the sidechain needs to be funded by the runner, but then that again kills the point because then it's centralized and requires some dude to back his own tokens for the swaps, which is nonsense.
grexx I didn't say it needs to be. I said there are several options of how to secure delegates for a sidechain.
moonman I'm not talking about securing them. I'm talking about a specific product that has been hailed as the holy grail for ARK - trustless currency swaps How do you propose it works with a sidechain when sidechain tokens have no value compared to ARK?
grexx If the sidechain requires money to swap into the sidechain in order to secure an action, then the money is supplied by the people using the service.
goldenpepe There is lots of confusion and mixed messaging as to what Ark actually is Is Ark a way to connect blockchains? Or is Ark a platform?
goldenpepe The people that believed the former were confused as to why the VM isn't going to be on the main chain Since that would allow trustless swaps But apparently it isn't
moonman I'm asking about trustless swaps. There are 3 parties in this equation - the main chain ARK that is swapped in, the side chain token, and the target currency that is outside Ark's chains. If ArkVM was on the mainchain then it is simple to require collateral on the ArkVM side and then release it after. With a side chain, this isn't possible because the tokens used to faciliate the transaction between for ex BTC and ARK have no value @grexx
grexx I don't think there is confusion or mixed messages. I think ARK has the potential to fill roles we haven't even thought up yet. I think the confusion is in what YOU personally want ARK to be and what you see as the killer application, and maybe a difference in priorities.
goldenpepe No, based on everything I've seen it's the former
grexx But always remember I am only here to speak for myself and not the team in any sort of proper spokesman role.
moonman It's not "us personally" - we run the largest and most active Ark community outside of this slack.
goldenpepe If it's the latter then there needs to be better communication
moonman We have a point of reference to know what people are expecting or investing for / want
goldenpepe I keep seeing people pushing the "smartbridge" as a way to connect chains
grexx Does there? Why? Because you say so?
goldenpepe I see encoded listeners being pushed
moonman Because everybody says so.
goldenpepe
People keep talking about how Ark will connect every chain using encoded listeners and "embedding the code snippet"
grexx The intention was to fulfill both roles. To create push button blockchains with the ability to share data between each of those chains.
goldenpepe But how do you fulfill the former without a VM on the main chain?
You can't do trustless swaps without it
moonman Our question is directly regarding HOW this will technically be possible without VM on the main chain without trusting centralized nodes.
ArkVM was pitched as the solution to centralized nodes.
Without it in the equation it's just an open source ShapeShift
goldenpepe I said this earlier, but there needs to be a real whitepaper
A fully technical explanation of all the technology and how everything is supposed to work
grexx So let me ask you this just as a philosophy/feasibility question. Would you rather see a closed smart contract system on the main chain that only allowed contracts for trustless swaps between chains but not necessarily open deployment of smart contracts, i.e. you wouldn't be able to deploy cryptokitties to the main chain to run your business but we would be able to deploy a contract to allow trustless swaps between the sidechain that runs it, while still balancing out the need to keep the majority of application traffic off of the main chain to avoid bloat/congestion?
moonman If you're asking if we/people want main chain VM exclusive use for trustless swaps, the answer is absolutely YES
If main chain was limited to swaps it would address all the concerns we and fellow Ark holders we've talked to have
goldenpepe My concerns are slightly different and related to the forked chains themselves
the_stalker You tell them @moonman
goldenpepe I don't see how segregating the VM to another chain will solve bloat
grexx I see that the argument focuses down to trustless swaps being the key component that is desired, but the ARK teams major issue with allowing deployment of contracts in the way it works currently on Ethereum is with the bloat/congestion issue
goldenpepe devs that want to deploy a smart contract will just join a chain that has the VM enabled already
That will lead to the problem ethereum is having now
moonman If swaps were the exclusive use of VM on the main chain it would avoid bloat.
spghtzzz Sidechains will have ARK valuation?
goldenpepe That's the thing though
I don't see how segregating the VM into its own chain will solve bloat
Everyone will just congregate onto a single popular VM-enabled chain
goldenpepe It'll be an ethereum clone
grexx If application are functioning on individual connected sidechains then the majority of in-application processing could be accomplished on the sidechain with pegged trustless swaps back to the main chain and the only accounting on the main chain is the accounting
moonman I think I understand what the team is getting at with deploying sidechain VMs, I am simply worried that the biggest pitch that people have repeated back to us is not possible without the main chain VM being able to be used for swaps.
@goldenpepe They won't because there will be no valuation incentive.
spghtzzz So trustless swaps will be available then
moonman So the private chains will stay "private"
@spghtzzz No, he just asked us as a "what if", but hopefully he asked for a good reason :slightly_smiling_face:
grexx I am not allowed to divulge key internal information, but I do enjoy talking these things through and getting feedback/opinions (edited)
spghtzzz If sidechains can have proper valuation in ARK, just start a decentralized-oriented chain and make trustless swaps available
moonman That runs the risk of dethroning ARK, which would be the other issue.
goldenpepe I mean, answering technical details of how this should all work on a high level shouldn't be "key internal info"
That's our biggest worry: the promises aren't technically possible
moonman You're not selling to just investors here, developers like us want to know how this is going to be done because it's why we're here in the first place creating things on ARK and running delegates - we want to see it succeed and we're currently between a rock and a hard place trying to get an explanation for "HOW" this is going to happen.
If you're telling us that the intended use for ark is different from what nearly everybody we asked concluded from the marketing, it feels like we bought into a bait and switch or there was a severe breakdown in communication. (edited)
spghtzzz Dethroning won't be an issue though, if everything is measured out in ARK, that's incentive to have/use ARK. (edited)
moonman It can't be measured out in ARK if the main chain has no VM, because the sidechain token HAS to have a valuation in order to do the swaps - in which case there's no point in swapping to ARK in the end anyway @spghtzzz
spghtzzz I'm confused though, isn't that what smartbridge is for?
moonman smartbridge is a text field
jarunik Basically you need native bridging before it can work.
grexx I hear you and I am taking notes on some of the issues. From the very beginning, at least as far as I am concerned, ARK has been about community development and building this out as a team. Unfortunately in this industry, people do like to cannibalize and sometimes it's hard to know how open to be. I think we are seeing a little bit of a conflict between those two philosophies. I think it would only be beneficial to get input and to do some sort of technical sessions with some of the prominent devs in the community for feedback and solidifying some of these topics. All we can do is end up strengthening the final vision. That being said, everyone obviously on the development side keeps very busy and we have multiple time zones, so I am not sure how complicated it would be to setup.
I wish we had an upcoming event everyone could meet up at and have a 3 day whiteboard session lol
goldenpepe
If you're telling us that the intended use for ark is different from what nearly everybody we asked concluded from the marketing This. Ark was marketed to me as a middleman to let other chains communicate 1 reply Today at 7:13 AM View thread
goldenpepe Ark being a platform of forked chains is something different
moonman It can be both with your "philosophical" suggestion of only allowing main chain VM for swaps.
goldenpepe Maybe this is a reason to start marketing/doing PR :wink:
B.Lawrence.Lowe I always thought it would be both. Was I wrong?
goldenpepe It can be both if the VM was on the main chain
grexx I don't think ARK is an eitheor of the above proposed uses, I think the intention is a both.
arigard Isn't aces connecting the block chains?
goldenpepe Mostly on our discord with other devs
ACES is shapeshift
moonman ACES is centralized @arigard
goldenpepe It's not decentralized or trustless
grexx Aces requires trusted intermediaries
atm
moonman We were under the impression - and I think ryano was as well - that ArkVM would allow things like ACES to function trustlessly using a main chain VM implementation
goldenpepe Yea, I remember when ACES was first released and we talked to ryano about it
moonman So it could become more than just "open source shapeshift" (edited)
goldenpepe Even he said smart contracts could be used to do ACES in a trustless manner
But that's not possible without the VM on the main chain
grexx No I mean I get what you are saying. Look if we launch a fully integrated open source ARK blockchain with full ARKVM functionality and anyone in the world can clone it and publish an Ethereum competitor on the spot, we always ran the risk of someone forking/cloning ARK and stealing our thunder, but that is a risk we are willing to take.
We won't intentionally hamstring ourselves
who said that?
grexx ARKVM was on the initial roadmap from Day 1
grexx Technically it was on the roadmap at Crypti
mike The main chain is only to provide communications among bridged chains, and send payments in Ark among addresses, just as TCP/IP is only used to send data among IP addresses. Applications seeking trustless operation can run their own bridged chains with multiple delegates forked from Ark and configured to their own custom configurations, or they can even use a different consensus system altogether. Enterprise applications can run permissioned ledgers using an Ark fork since it is very similar to DPoS, except they control who can be delegates, like EduCTX as an example. ArkVM will be available for those who want to run Solidity contracts, either as their own forked and bridged chain, like if they have complex contracts and/or high volume, or can run their contracts on a public ArkVM chain bridged to Ark. ACES is also available as a trusted listener and relay node option to other chains. There are plenty of options for difference use cases and preferences.
goldenpepe But Mike, wouldn't being forced to fork off your own chain every time you wanted to create your own dapp/smart contract be extremely cumbersome?
jarunik It is already really easy to clone
goldenpepe How is it easy? You need to set up your own servers, find people to be your delegates, acquire a stash of ark
If you end up being your own delegate then there goes decentralization
moonman I understand and agree with the use case OUTSIDE of trust less swaps. But in the context of trustless swaps, which has been Ark's biggest selling point everywhere we asked, it would only be possible if the main chain had VM or a sidechain token had a valuation, in which case there would be no reason to swap back to ark. Were trustless swaps not a big part of the internal goal of what ArkVM aims to accomplish? How would it work with just side chains without stealing Ark's thunder? @mike
ryano I've talked about trust and the design of ACES in many posts. It often gets argued as not being trustless, but I do state that the ACES design is intentionally "trust agnostic" because there are many different views on the right way to build blockchain services. Not all parties believe trustless is even a thing. For example, even in smart contracts that are "trustless" you must trust the code, and very few people will critique the code, so you end up with a single point of trust failure. My personal favorite approach is M of N multisig, and this can reduce trust to a statistically insignificant amount (though by definition, as perhaps with all things, not 100% trustless).
spghtzzz if native function is built in v2, we can see trustless swaps
ryano as far as ACES being shapeshift, this is true to an extent. But shapeshift is like one single provider. A 1 of 1 signature service. With a marketplace we can build a system that has ways to manage trust using well studied trust based marketplace. And despite its name, the trust factor can be minimized towards zero with multisig
goldenpepe Who knows what protocol changes v2 will bring
moonman @ryano There's no such thing as multisig swaps though - that's sort of what it would be if main chain got VM - you could have 51 delegates to "decentralize" the contract and ensure it stays trustless. The current ACES implementation is entirely centralized around the specific node running it.
moonman A marketplace isn't decentralized, it just means you have more trust options. It's not "trust agnostic". You're only trusting one node, but you get to pick the node.
ryano Thats not true if it a multisig service
goldenpepe Another thing: wouldn't the forked chains require a stash of Ark?
moonman The problem with that is you're still trusting the few running them - they're not backed by ARK voters.
goldenpepe From what I remember Mike said, the forked chain's delegates will also be running Ark nodes which is how the forked chains' clients can communicate to Ark
moonman If you could lock ACES down to be ran just under the delegate nodes ran under ARK itself, it could work.
goldenpepe But in order for that to happen, the delegates would need a stash of Ark in order to send Ark txs, no?
grexx I think there has always been an intention to have a marketplace of service providers who could be rated and would allow a more "trusted" environment but I get the argument against that model.
spghtzzz yes, it's a trust of consensus
moonman If ArkVM is being ported, it could be avoided and would renew and bring new faith into Ark if the main chain could become the central trustless hub for swaps. For other dapps I understand the hesitation due to bloat, but due to how the marketing was perceived or communicated I'm afraid that everyone we've spoken to or conversed with about the topic is expecting that specific dapp to play a central role in Ark development/adoption - which is why we were all taken aback when we were told that the main chain wouldn't have VM.
grexx But this here is exactly what led to the discussion above. What you describe here would then basically be a smart contract. Moon Man If you could lock ACES down to be ran just under the delegate nodes ran under ARK itself, it could work. Posted in #generalToday at 6:58 AM
moonman There's no way to lock it down trustlessly though without also having it interwined with ARK
He can't "Force" nodes to run ACES, that's the problem.
Then the issue is we don't know who we are trusting.
Then you get other issues like sybil attacks
ryano I'm trying to dig up an important article on this topic, but you should all get familiar with the advantages and disadvantages of smart contracts vs. M of N multisig
moonman That's why DPoS is good - it solves these issues.
ryano you'll find very material advantages to multisig that are not often discussed, ones that fit very nicely in well studied and proven marketplace-like ecosystems
goldenpepe Aren't atomic swaps basically that?
ryano Were building ACES trust-agnostic for this reason, because if people want to built "trustless" services, which can be argued to be trusted anyways, theres no reason not to provide the ecosystem to communicate their services
but there will be many other services just using multisig to reduce trust
jarunik Someone will sure launch a clone chain which offers VM services
ryano this is how its done in bitcoin and monero, and is more powerful than people let on
moonman And then it overtakes ark if it carries ark features but has a swaps-capable VM, which is our other concern.
jarunik You will better be running it then!
ryano If i have 5 service providers, and a service is set up as a 3 of 5 signature service, those 5 providers are all listening to the external chain, possibly subscribing to different listener sources, and then verifying back to ark, like an oracle, that the requested event occurred. This is a simple binary oracle response, and can be entered as signature. Sign = yes, no sign = no/unsure.
moonman You have to trust those 5 providers though.
ryano You would then need 3 bad actors for this to fail.
moonman And what happens when you have sock puppets
that's how sybil attacks work
You spam the network with sock puppets
goldenpepe Yea even Tor got sybil'd
moonman If you can't add your own sock puppets, then what's the point of having 5 sigs if one person chooses all 5? Then you're just trusting the creator
goldenpepe but tbh, monero is vulnerable to sybil too
moonman The reason ARK will help with this is you are tying the 51 sigs to existing delegates that were voted in by ARK users.
They're "trusted" but decentralized in a method that makes sense given the platform
ryano well, why not use those delegates as your signers then
moonman There's no way to force the delegates to run the service
That's the problem
ryano no forcing anywhere, but incentives
goldenpepe Not unless the ark team embeds aces into ArkCore
B.Lawrence.Lowe What about incentivizing the delegates to run the service somehow?
moonman It won't matter. It's too easy for them to just say "I'm not interested or don't want to" and then you get attacked by those who are running it. It just doesn't make any sense.
moonman A second layer solution doesn't work simply because you can't enforce delegates running the service.
ryano But why do you trust the delegates?
moonman I don't - voters do.
I trust the collective voter choice vs your choice of 5 signatories
B.Lawrence.Lowe Voter here. I tust my delegate. He;s always paid me on time.
moonman It's about who ARK voters trust.
Because ultimately that's what powers the platform - trust in ARK and ARK holders
spghtzzz why do you trust a delegate who won't even reduce your TX fees?
goldenpepe I don't get it
ryano even with smart contracts, since were dealing with external chains, you need to trust a source to confirm that something from the outside world happened
spghtzzz explanation provided yesterday in #delegates if that was toward me @goldenpepe
moonman Correct - but it is far less concerning when that source is the 51 delegates.
Rather, when the source is confirmed by the 51 delegates
ryano but now instead of 51 delegates its 51 listener hubs
or even more
moonman Yes, but again, sybil attacks...
B.Lawrence.Lowe Right, and just like a representational government, as a voter I trust my delegate. I thought this is how this worked, yes?
moonman If you select the hubs, it's centralized to YOU selecting them. If you don't, it's open to sybil attacks from sock puppets
If it's limited to the delegates, it makes sense in the context of the ARK ecosystem because you are trusting your currency to those 51 people in the first place
B.Lawrence.Lowe He takes my votes and makes decisions for the community in my best interest, as his constituent, right?
moonman The only way to enforce the consensus is to build it into the core so delegates have to run the platform and keep the swaps "dapp" secure and running.
anyway, I've explained my case. Hopefully what I said made sense.
mike The original plan, and still the plan, is to interconnect other blockchains, which can be existing chains or new ones forked from ark. We have added ArkVM as an option to be added to the deployable chains, and run a public ArkVM chain. Ryano has also come up with ACES, as another, streamlined method to exchange and interact with other chains, which is an example of Ark allowing different methods to be developed to accomplish objectives. A non-turing complete VM meant only to facilitate cross chain swaps is a viable option as well, and can run as a bridged chain.
ryano You could reduce the risk of sybil attacks by doing something similar to how ark does voting. A listener source would have to be tied to an ark address, so you would see their "stake". In this case attempting to run 51 listeners to do a sybil attack would require you to reduce your stake, and likely be less attractive to users
moonman @mike How does the bridged chain function as a method for these swaps though? What do you envision as the technical flow for this?
@ryano You could do that, but then you're doing almost exactly what I mentioned before - making your own ARK clone but with swaps. (edited)
What would be the requirements for running the nodes? How would you force consensus without running its own blockchain?
goldenpepe @mike I recall you saying deployed chains' delegates will also be running Ark nodes which is how these chains will be able to communicate with Ark. But wouldn't that require these forked-chain delegates to maintain a stash of Ark? Wouldn't the chain become completely isolated once their delegate nodes run out of Ark?
moonman If it's not an ARK clone and just listeners - that means no PoW, no DPoS, what are you going to do in your listener code to enforce consensus
The only thing you can do is have more oracles checking the top 51 delegates and matching it with signatures provided by listeners - but then THOSE oracles get sybil attacked!
mergatroid You know on the roadmap where it says all of the goals, and tech documentation is at 25%
B.Lawrence.Lowe @mike "The original plan, and still the plan, is to interconnect other blockchains, which can be existing chains or new ones forked from ark." This answered my main question. As long as by "existing chains" you clearly mean, Bitcoin, Ethereum, Litecoin, Dash, Stratis, Waves, etc.. Not sure how it will all work because I don't code, but if you're confident in getting it done, that works for me.
goldenpepe @mergatroid All the questions we're asking could have been answered with a technical whitepaper, but it doesn't exist and the existing whitepaper is outdated.
mike they would run ark clients, which interact with the Ark chain, the various ark-cli clients that are available, or they can run full nodes with their own copies of the ark blockchain, it's up to the developer of a particular bridged chain how he wants to configure it.
ryano time to update that white paper :stuck_out_tongue:
goldenpepe But the pushbutton deployed chains will all need a stash of ark, no?
spghtzzz it'd be nice for interoperability purposes
mike They will need Ark to write data to the main ark chain using the vendor field. they will not need ark to run listeners and read the vendor field from transactions addressed to that chain.
cannabanana Dudes, all I can say is that this blockchain is less than a full year old. We've been already been looking for a technical writer for a whitepaper 2.0 and techincal whitepaper.
mike if they want to use Ark as a reserve currency to back exchanges between other chains they would need that as well.
mike As canna says, we are hiring for a technical writer to update and add to the documentation, and hiring in general is ramping up now that the SCic is in place.
goldenpepe @mike Do you envision in the future there will be an ark-fork with the VM enabled that will essentially be an ethereum clone where all the devs gather to play with smart contracts/dapps?
mike yes
moonman Do you have any worries that any such chain may overtake ARK itself? @mike
goldenpepe I'm more concerned over that chain becoming bloated which defeats the purpose of moving the VM to its own chain in the first place
mike no, it is for a specific type of use, smart contracts to provide ETH type functionality.
moonman Grexx mentioned a separate chain for each major dapp.
That would reduce/remove bloat
goldenpepe It'll get very confusing if you have a bunch of large open VM-enabled chains.
"Have you seen ArkieKitties?" "Where? On ArkFork1? Fork2?Fork3?"
goldenpepe It'll lead to fragmentation
spghtzzz ecosystem, fragmentation is good
in some senses..
goldenpepe uhhhh
ryano Ark.Kitties
goldenpepe No it isn't lol
moonman It's good for the network, not for user interaction.
goldenpepe ^
ryano depends how its designed i think
can be done well
goldenpepe @ryano I also brought this up
moonman Yeah I think it's a minor issue as well, it can probably have a directory or its own DNS-like service in the wallet
goldenpepe So if I want to create a super cool new dapp, I'll need to fork off my own chain, find people to be my delegates, then give them a bunch of ark
ryano In ethereum you need to know the contract name to interact with it, so why not required to know the ark chain id?
goldenpepe It's too cumbersome
mike separate chains is the preferred method, and for a lot of things requiring complex code, Solidity contracts aren't the best way to go. But for those wanting to port Solidity code to Ark, either on a public chain or their own chain, ArkVM will provide that option.
goldenpepe Yea I was thinking that
Small contracts can exist on a shared chain while large dapps like kitties or an ICO can exist in its own chain
Large projects will have the resources to fork, find delegates, and fund them
But that will still create fragmentation if there exists multiple large public VM chains
mike I see ArkVM as a way to onboard projects and developers from Eth over to Ark, but then they may optimize for more efficient operation by writing code from scratch specific to their needs instead of running on solidity. As an example, non-turing complete application specific code is more reliable in that it has a finite set of states where as Turing complete code has an infinte set of state, not all of which can be known.
if the multiple large public chains are bridged, contracts running on them can still communicate with other contracts running on the other large public VMs.
goldenpepe Bridging them won't help if the dapp you want to access is on ChainA and ChainA takes hours to process a tx because of bloat
mike It's analagous to code running on Amazon servers can communicate with code running on OVH servers via TCP/IP, like delegates now communicate with each other while running on different data centers.
grexx just for reference, the intention is to make discovery extremely easy and for the average user, they will have no idea what chain they are on or how it works.
they will just buy kitties and be happy
goldenpepe @grexx It would be great if the wallet could do that and it would solve fragmentation issues
"Chain-hopping" being completely transparent to the user
grexx that is a top priority
goldenpepe But how will we deal with a certain chain containing data you need being slow?
grexx same way the free market deals with anything
if your service sucks, improve your service or get beat by competition
goldenpepe The bloated chain will lose users?
mike If a public VM degrades in performance then there is a market for another public VM, and the existing one can upgrade its performance to remain competitive.
grexx sidechains can increase capacity through better hardware with the upgrades being made
goldenpepe But blockchains are sticky (to use an economic term), people will be less prone to switch if all their assets exist in that slow chain
Look at bitcoin
grexx but then again like I mentioned way earlier
goldenpepe Slow as fuck but people still use it because they're invested
mike gress is a faster typist than I am...
grexx connected clusters with pegged assets I think are a potential answer
within the sidechains
well if you look at the main ark chain, we have 8s blockchains to maximize use case as currency
but a sidechain depending on its needs wouldn't necessarily have to have 8s and could probably do a lot to increase tps and other factors
those are all things we will min/max on devnet though
mike If a given VM chain becomes bigger than Ark and wags the dog, that is part of the evolution. We don't want to try to force the ecosystem to use Ark but instead attract them to do so. We don't want to be like New York banning railroads from entering New York City to force traffic to use the Erie Canal.
grexx all of crypto is an experiment and we have no idea what models will ultimately come out of it, especially when we make it easy for anyone to launch their own fully capable smart contract enabled blockchain (eth clone)
so there is definitely some inherent risk as with investing in any emerging technology
moonman Pegged assets would address my concern regarding sidechain valuations and their use in swaps, but pegged assets have never worked in crypto except for Tether which is centralized and potentially a fraud.
goldenpepe Didn't someone mention forking ark and printing USD-backed coins?
moonman We did lol
I never said it was a good idea
moonman I was going to mention bitshares @bluffet
Bitshares isn't stable
Their pegs have fluctuated WILDLY in the past
goldenpepe Bitshares got delisted from bittrex and is in deep shit with the SEC though
mike Yes, TCP/IP was originally just to connect academic and research lab computers to share files, evolved to add email, then web, and now all kinds of applications. None of this added functionality was planned or conceived when TCP/IP was first invented.
bluffet I know, moonman. It is a liquidity issue. The market solves it.
moonman Tether never had this issue though (I don't have a good reason for why - bitshares is infinitely better designed yet economically worse than tether)
grexx in 3 years we may look back and think, holy shit, I never saw that coming. People are innovative and when given time, always end up exceeding expectations. I guess we are starry eyed dreamers in that we want to create something that empowers a new generation of innovation and accessibility in the space.
bluffet I liked your discussion today, guys. I learn from it.
grexx bitshares along with all of dan's projects have the problem of being centralized within a small group of connected supporters (edited)
goldenpepe Yea this was a good conversation
submitted by Jarunik to ArkEcosystem [link] [comments]

DEVCON2 report: Day Three - Final day

previous days
Question: the 3 days of devcon are over. Are people interested in reports on the next 3 days of international Blockchain week (demo day + 2 days of global Blockchain summit) http://www.blockchainweek2016.org
`
Event update
The buzz during the day was around the "stick puzzle" that Bok Khoo was giving out to people. It is just a stick, with a loop of string. He gets you to turn away, he uses "the trick" to put it onto your bag and then you try to get it off.
The WeChat channel was just filled with everyone asking where they can get it, and the screaming that they can't figure it out. Only about 5 people reported they were able to solve it (I haven't yet)
http://imgur.com/mYfJQP4 http://imgur.com/4Euka1a
`
Sessions
I'm biased, but I thought the announcement from Microsoft with the update of cryptlets was a big deal. The morning sessions covered a few different oracle systems, the afternoon had lots of IPFS sessions.
Microsoft - A Lap around Cryptlets
https://azure.microsoft.com/en-us/blog/cryptletsdd/ https://azure.microsoft.com/en-us/documentation/templates/ethereum-consortium-blockchain-network/ https://azure.microsoft.com/en-us/blog/authomarleyg
Microsoft was a sponsor of Devcon1 & 2 Ethereum is a 1st class citizen Support for community & partners - Bizspark, Meetups, Workshops
Announcing: Bletchley v1 Distributed Ledger stack V1 is a private Ethrerum consortium, that you can spin up for your own enterprise / group
http://imgur.com/olwwd36
Cryptlets are being developed to help with security, identity, etc. How do you get trusted external data feeds injected into the Blockchain? Doing things on a specific interval (every 15 mins) When price of something hits a threshold (oil goes above $40/barrel) Secure IP protected algorithms, but still share with blockchain network. Use libraries for common platforms (.Net, Java, etc)
Cryptlets vs Oracle Cryptlets will have a marketplace on Azure that will allow you to purchase and utilise
Use case: Trigger on an event Wake up on 4pm, if market was open that day, then give me the price of gold for that day.Get signature of attested server, attested sender.
Use case: Control Using smart contract like a traditional DB. Declare data you are keeping track of, and the functions/"stored proc" to update that data. Cryptlet runs off chain, and can be scaled up.
http://imgur.com/ysgL8S2
Utility cryptlet. Use an attribute in solidity contract with cryptlet details Developer references at design time the cryptlet they want the contract to call Contract cryptlet, deploy the cryptlet at same time as contract.
Why would you want Azure to do this? SGX allows you to create "secure enclaves", can have complete isolation on the hardware chip where it is not modifable. Provides a secure enclave at the CPU level. Can give full attestation right down to the silicon. Will be provided as a enclave container on Azure. Will be released for .NET core CLR first, then other languages. Can create cryptlet libraries that you can scale and put into the Azure marketplace. An ecosystem for developers & ISVs to consume and publish.
Bletchley v1 released today will let you spin up a private consortium. Before today, it took a long time to try and deploy a private consortium (can take weeks to read doco, Now takes 5 minutes to deploy! Creates a private consortium, puts each member in its own separate subnet
http://imgur.com/w4yUsqE
Mist Vision and Demo I was too busy sharing the release posts of Microsoft project bletchey v1, missed this talk. It did look interesting, I will watch this one later. Idea: Reward for bandwidth. Providing connection could replace mining as entrance point for desktop computers. Allow you to have a trickle so you can trigger smart contracts. Standardised backends, so that you can swap out the underlying node between geth, blockapps, etc.
Web3.js
https://github.com/ethereum/web3.js Etehereum JS API Smart conracts are EVM opcodes, Helps translates calls to JSON RPC calls. Helps do the ABI encoding when sending data from JS to EVM It kept on growing, many different utility functions being thrown in. Is time to clean it up and be refactored.
They are now building a NEW web3.js The communication will be socket based, will enable subscriptions. Everything will be based on promises to subscribe to events, like log events. Bunch of other newer cleaner methods and ways to do things like deploying contracts.
Smart contract security
Was a very good postmorteum of The DAO and things that could be done to mitigate it in the future.
An issue with The DAO was trying to do a massive jump from centralisation all the way to full decentralisation. Meant no one could step up and make a decision on how to save it. We need to make smaller steps towards full decentralisation as we learn as a community how to do this. Same security patterns as yesterday's talks: check invarients, beware 1024 call stack depth, reentry exploit (update state BEFORE executing calls), timestamps are manipulatable. Updateable contracts. Who can update it? Community multisig? We need better rools: formal verification, compiler warnings, improved IDEs, trusted libraries, excape hatches
Conclusion: It is still very early days in this space, be careful.
A Provably Honest Oracle Model: Auditable Offchain Data Gathering & Computations
Oracalize is the most widely used oracle (until everyone starts using Microsoft Azure cryptlets ;-) ) Contract calls Oracalize contract with the data they want, off chain they see this get the data, Oracalise then trigger their contract externally, which does a callback to your contract with the data. Can use external notary servers. Can get proof from multiple external services to get a higher level of confidence about data (e.g. stock price from a few feeds). Off-chain (auditable_ computation) AWS sandbox 2.0. Put the execution package onto IPFS, AWS gets it and executes it, signs it.
iEx.ec: Fully Distributed Cloud Thanks to the Ethereum Blockchain
http://iex.ec/ Provides blockchain based execution environments Global market for computing resources. Idea is to do what we did before with "grid computing" use the idle capacity of computers. But this time do a trickle of micropayments. Allows people to harness this global power to execute their tasks in a global "distributed cloud".
The Final frontier: The company smart conract
http://otonomos.com/ Helping companies to incorporate on the blockchain.
Smart oracles
https://github.com/smartoracles Connecting to external resources is difficult. Hard to try and use external currencies (like a bank account / fiat money) to make transactions. Could hook in paypal, HSBC, wells fargo, etc. Can provide your own payment services as an API to a smart oracle for smart contracts to consume. Do off chain data storage by calling smart oracle API Roadmap: more data sources & more payment methods
IPFS & Ethereum: Updates
https://Ipfs.io IPFS is AMAZING, seriously go watch the full 1 hour talks Juan has given in previous years.
Current web has current issues. Centralisation, etc. IPFS is a new hypermedia transfer protocol Content can be retrieved not from specific servers, but instead via it's hash so that it can come from anywhere in the network (maybe from the person next to you who has cached it). It is highly modular, all of the transfer protocals, routing, naming, etc. are all swapable Is available as GO-IPFS & now JS-IPFS Means now you can run IPFS in the browser IPFS was great for static content, but not so great for dynamic content. Low latency pub/sub protocol will help with dynamic data. Created a distributed peer to peer chat app using this new dynamic content protocol. IPLD a common link-tree hash format Will be able to use IPFS to retrieve ethereum blockchain blocks DIRECTLY Can use IPFS as a package manager to retrieve them in a distributed manner.
Many projects are using Ethereum & IPFS Uport, Digix, Infura, Ujo, Eris, Blockfreight. Filecoin was created as a way to try and incentivize nodes to keep files longer time. People rent out hdd space to earn filecoin. Exchange bitcoin/filecoin. Use filecoin to store files in network. Filecoin is going to be built on top of the public Ethereum blockchain, as a virtual blockchain / token.
IPFS Libp2p & Ethereum networking
Network connectivity between any 2 nodes can be difficult. Censorship, bandwidth, network issues, etc. Having to deal with different networking topologies and access. Libp2p & Devp2p is different. Devp2p is for Ethereum. LIbp2p is modular, can swap out components to change network access, encryption methods, etc. Can build up a MEGA mesh network, by utilising traditional wired internet, radio, bluetooth between some nodes. Web browser using web socket, to a node, which routes across network, to zigbee to a IoT device. Libp2p & Devp2p could merge and augment each other. Could create the libp2p components to replace the devp2p bits Any 2 nodes that speak the same protocol can communicate and be a part of the network chain. Experiment. They took the browser based version of EVM. Then used Libp2p to talk to the Ethereum network. Had a complete ethereum node running in a browser.
Uport
https://uport.me/ Universal identity platform Current challenges: key management. Ux for average person. Dapps via mobile. Identity and data ownership. How do you keep a consistent identity, even if you lose a key. Have some multisig contracts that you can use to keep track. Social recovery, use your friends to attest it is really you. Keep private key on mobile, do transactions on the desktop, scan a QR code to sign the transaction on your phone and send it off.
A Deep Dive into the Colony Foundation Protocol
It is an open source governance protocol built on Ethereum Problem with voting is how to prevent Sybil attacks. Votes are weighted by a reputation score. Reputation is non-transferable that can only be earned. Total weighted voting helps mitigate this.
Chain orchestration tooling & smart contract package management
Eris is tooling for developers. Package manager to build your own blockchain. Can compose a chain, e.g. geth + tendermint consensus. Init, install, do. Can easily install on Mac/bew, linux/apt-get, Windows/choco
The Golem Project: Ethereum-based market for computing power
http://www.golemproject.net/ Anyone can make an offer to sell computing power. e.g. Distributed rendering Want to create a standard framework that anyone can use to submit and process jobs.
Status: Integrating Ethereum Into Our Daily Lives
https://status.im Want to get ethereum everywhere. "Mist for Mobile" Everyone is using their mobile phones for everything, but mostly using instant messaging. What would Ethereum in a IM window look? Created a IM mobile app that has a local geth node. tart up, it asks you to create a password, it generates a pub/private pair. Then can send messages via whisper, and the messages are signed with your public key. Can load Dapps up in the local webview and interact with them. Allows you to create "chat Dapps", that you interact with via text. Like chatbots
Maker Ecosystem Overview
www.Makerdao.com Dai: seeking stability on blockchain. Stablecoin engine: smart contract that holds collateral reserves and controls the Dai lifecycle. MKR: open source community managing risk of the system In the last year, investing in a solid technical core. More slow and audit things. Moving into the next phase of stablecoin development. Their latest project is the "Simplecoin project" Meeting Thereum community's need for stability. An independent platform for creating centrally administered simple stablecoins. Issues create their own rule sets: Collateral types, participant whitelists, security parameters. Example: Shrutebucks. The only people who own it are Dwight, Jim & Pam. They backed it with 1/3 ETH 1/3 DGX 1/3 DUSD.
Orbit. A distributed peer to peer app on IPFS
https://github.com/haadcode Created a full distributed chat room, itself distributed through IPFS. It is integrated with uPort for identification Using uPort allows you to verify that you are talking to the correct person in the chat channel. All their messages are signed with their public keys He also created a full distribited twitter clone, using uport for the identity as well. Orbit-db key value store DB that stores its data on IPFS. Eventually consistent Appends data to the DB, an event is sent to those subscribed on pub/sub so they can see the latest root hash. Based on CRDT Ethereum + Pubsub + CRDTs + IPFS = super power primatives to build dynamic distributed apps
Development considerations with distributed apps. Need to ensure that apps work offline. No centralised servers. No data silos. Provide integration path.
Future work: could you use uPort for ACL like permissions? Mobile use cases, how to make it work nicely on mobiles
Building scalable React Dapp architecture
https://github.com/SilentCicero/react-dapp-boilerplate React + Ethereum He has a configured boilerplate template. Has contract scaffolding. Enforced contract Linting/testing. Wallet generation/identity. Preconfigured web3 instance. UI: Mature react arhitecture "react boilerplate". Prices listed in USD with ETH/btc via kraken api. A basic multi-contract example Dapp. Offline first, dapp runs without internet. Uses Redux. State models in UI & blockchains work well. PostCSS, CSS Modules, sanitize.cs. Redux, immutableJS, reslect, redux-saga, i18n, redux-router. Web3, ethdeploy, dapple, solium, eth-lightwallet, chaithereum, ethereumjs0-testrpc Enforced contract testing in 2 languages.
Ethereum for Enterprise (BlockApps Strato)
Trying to make sure that Ethereum stays relevent to enterprise development. Why do you need a blockchain WITHIN an org, shouldn't they trust each other? Well different departments may not, they may reconcile differently, and can help automate/orchestrate between them. Blockchain is the "killer app" for cloud financial services. Legacy infrastructure, batch prossing, etc are all restricting fintech from progressing. Blockchain can happen in real time, can replace legacy. Ethereum is very flexible and programmable, works well. There are others based on Bitcoin (like Hyperledger). Ethereum + Blockapps = Extreme productivity + Proven Technology. Blockapps is extending Ethereum for Enterprise. Runs very well on Azure Enterprises don't want all their data exposed on public chain. Blockapps helps solve data privacy and scaling with multichain fabrics.
submitted by DavidBurela to ethereum [link] [comments]

Game Theory & Network Attacks: How to Destroy Bitcoin Sybil Attacks - Blockchain Security Why Dash is the Most Sybil Attack-Resistant Cryptocurrency -- By Far The Crypto Show Interviews Amanda B. Johnson (See Their great Proposal on Dash Central) The SAFE Network  Sybil Resistance Mechanisms

Bitcoin has an imminent threat that 90% of bitcoiners don’t believe in. Similar to how Sybil, DoS, fungibility, spam, and other attack vectors threaten Bitcoin, the Trust attack is a way for This feature may have been added as a defence against potential attackers including from supporters of the rival Bitcoin Cash SV chain, who have indicated they may wish to attack Bitcoin Cash ABC. Security Analysis of the New Checkpointing Mechanism. The new rolling checkpoint mechanism includes a trade-off: The risk of a deep reorg is reduced. For example, in a Sybil attack (Douceur, 2002) on the peer to peer network the attacker aims to gain the majority control of the system by increasing the number of participants. By using Proof-of-Work, Bitcoin prevents the Sybil attack by defining the share of participation based on the computational power and not the number of participants. Hashgraph: Hashgraph is a proof-of-stake consensus algorithm with DAG-based distributed ledger technology, that uses 39 term-limited elected Governing Council members with top speed, global scale and bank-grade security. Hedera, the public network built on Hashgraph, can scale to millions of nodes and uses a utility token, the hbar, for network and transaction fees as well as security. attack required τ coin + tx fees per Sybil τ coin + tx fee p er Sybil Figure 1: Among Bitcoin-compatible mixing protocols, only Xim simultaneously has all desired properties:

[index] [23202] [30431] [21544] [18846] [20940] [10038] [20650] [16394] [27181] [2155]

Game Theory & Network Attacks: How to Destroy Bitcoin

The Electrodollar: Venture Capitalism, Technology, and Silicon Valley (w/ Raoul Pal & Bill Tai) - Duration: 1:06:42. Real Vision Finance 66,547 views Sybil Attacks are extremely common in the day-to-day world. They are happening all around and yet you may not even notice. How do blockchains prevent sybil a... The Crypto Show Interviews Amanda B. Johnson (See Their great Proposal on Dash Central) MaidSafe Routing Developer Jon Häggblad is here to give you an overview of the mechanisms designed into the SAFE Network to defend against Sybil Attacks. As always, if you need further assistance ... Understand the attacks so you be prepared to defend yourself Second episode - Sybil Attacks For a better and deep understand on this topic, please use the link bellow: https://academy.ivanontech ...

Flag Counter