The Supply Chain Industry looks set to embrace blockchain ...

A single global economy of FAIL

I had a lot of fun with Jo_Bones insane vomit yesterday, that retarded chimp is a special one for sure. He inspired me to write some satire of his delusional CSWesque rant. I list some hilarious quotes from him at the end as well from the comment chain.
The original delusional rant

If all governments could agree on any single thing at any point in time, it would be an unprecedented moment in history. A "unicorn moonshot" so to speak. If the unicorn moonshot were to manifest as every government suddenly desiring to throw their already digital currencies into complete disarray and chose a technically inferior and non-compliant product in the process, then you can bet your ass they would use BSV for their fiscal policies. At the moment, here is what came up when I googled Central Banks for the first time today. Here's what came up when I googled fractional reserves. I then googled what reconciled means, and after my eyes rolled back in to my head out of sheer inability to digest the information I was reading, I decided BSV was the blockchain to solve all of this because I personally think this thing is an awesome high-school comp sci project.

If every central bank suddenly decided to relinquish state control of their monetary policy, and instead decided that the security model of 7 amateur software developers paid by an ex-felon hiding in Antigua who controls the #11 cryptocurrency on coinmarketcap was the answer, we could have the opportunity to use a strictly worse version of our current banking software and IT infrastructure. Instant transactions between bank accounts you own? Screw that, welcome to 10 minute block times! Did you fat finger that bill payment to the wrong sender? Too bad, it's gone forever! Welcome to immutability! It's a feature not a bug!

If you extrapolate how bad this is, suddenly taxes would be lower because digital monetary transactions would come to a screeching halt. Can't pay taxes on money you don't have, right? Suck that statists! The world would benefit from one giant economy of scale even though that phrase makes no sense in this context, and in reality is another buzzword I just simply don't have the time to try to understand. I forgot to Google that one I guess. This means prices around the globe would be out of control because we'd have to revert to a primal barter system! My chicken for your box of peaches! The possibilities to fuck over literally the entire world are endless!

Additionally, there would now be a high degree of transparency to how poorly BSV scales, since blocks take hours to propagate at 1GB sizes and that would only represent the hourly transactions of a town of 10,000 people, which would inevitably lead everyone to understand what 99.99% (AKA the non-mentally retarded "subset" of the population) already know.


In the comments I decided to change potential use cases from the utter nonsense I listed above to a couple different things.
https://www.reddit.com/bsv/comments/j9u2jt/a_single_global_economy_of_scale/g8ppeq7/?utm_source=share&utm_medium=web2x&context=3
Here I am demonstrating that I know currency lives in a database today:
The point is that they centrally issue and control their own tokens on the bitcoin network. I don’t see what’s so hard to understand about this. They already issue tokens on their own network. It’s just a different database.
Here I am 7 comments later saying those databases don't allow for digital cash when I just stated they did.
Your SQL databases don’t really allow for digital cash.
Shit maybe token issuance on BSV won't work time to pivot to:
But bank transfers still take days between Europe and Asia and have high fees precisely because all the banks maintain their own networks.
Think of the possibilities guys. You totally can't do this today, right?
so they can (for example) sell a YouTube video directly to the whole world, for their native national token... on the bitcoin network.
Crap, maybe there are some good points there. At least Bitcoin can push transactions out in seconds despite having a 10 minute block time! And wait until you see the block times if anyone ever does try to send a billion tx in a second!
These hashes cost bitcoin, but you can sell billions of them per second.
What do you mean risks of minority hash rate on BSV? Nobody has ever done a 51% attack and not been arrested! THEY'LL LOSE THEIR MINING EQUIPMENT!
Except that it’s illegal to attack another chain, and it’s public, and traceable and the punishment would be your company loses all its mining equipment.
I'm running out of use cases since they're getting shot down so fast. Here's a good one. Why pay $80 a month for internet in 1 transaction, when you can pay for internet 1.7trillion times every month for every data packet you get?
And the advantage of sending 0.0011p to someone might be that they’re providing a service to you, like a data packet.
But think of all the UnIqUe AnD gReAt FeAtUrEs on BSV. Really cutting edge stuff that SQL Server doesn't have due to being obsolete in the 90s, like the ability to append only instead of modify data elements! Also, watch the blockchain desync if you ever tried 1billion tx/sec!
The network scales to handle billions of TX/sec and the ledger is append only so it matches the criteria for keeping accurate records and/or updating them as needs be.
Time to pivot again since I'm being dismantled at every turn. What haven't I mentioned yet?
you haven’t solved the issue of the US dollar being the worlds default currency on which global trade relies.
Here is me doing my best Craig Wright technobabble nonsense impression. I know this is technically English but the words being strung together make no sense!
Once again you’ve really missed the point of all this. A data commodity that comes about through consensus of the network on ‘what value is’ contains a fraction of every part of the global economy.
Time to revert to some Craig Wright technobabble bullshit again:
Those in charge of producing dollars ultimately have an unfair advantage over those who don’t and they can game the system.
That’s a peer to peer internet model where producers get paid directly by consumers for the data they consume and miners get paid according to how fast and how efficiently and how accurately they can deliver the data.

Have I mentioned the fact I don't understand that blockchains are literally distributed databases?
Finally, you can send any kind of data in a bitcoin transaction. Not just fiat currencies issued by a government but audio, video, text, a webpage, etc.
And finally:
It’s very smart. Unlike you.
My transformation is complete.
submitted by pointedpointything to bsv [link] [comments]

Update and Few Thoughts, a (Well-Typed) transcript: Liza&Charles the marketeers, Voltaire kick-off, PrisM and Ebb-and-Flow to fuck ETH2.0 Gasper, the (back)log of a man and a falcon, lots of companies, September Goguen time, Basho, 2021 Titans, Basho, Hydra and much more thoughts and prayers

Hi everybody this is Charles Hoskinson broadcasting live from warm sunny Colorado. I'm trying a new streaming service and it allows me to annotate a few things and simulcast to both periscope and youtube. Let's see how this works. I also get to put a little caption. I think for the future, I'm just for a while going to put: "I will never give away ada". So, when people repost my videos for giveaway scams they at least have that. First off, a thank you, a community member named Daryl had decided to carve a log and give his artistic impression of my twitter profile picture of me and the falcon so that always means a lot when I get these gifts from fans and also I just wanted to, on the back of the Catalyst presentation, express my profound gratitude and excitement to the community.
You know it's really really cool to see how much progress has been made in such a short period of time. It was only yesterday when we were saying "when Shelley"? Now Shelley's out and it's evolving rapidly. Voltaire is now starting to evolve rapidly and we're real close to Goguen. At the end of this month we'll be able to talk around some of the realities of Goguen and some of the ideas we have and give some dates for certain things and give you a sense of where that project is at. The good news is that we have gained an enormous amount of progress and knowledge about what we need to do and how to get that done and basically people are just executing and it's a much smaller task than getting us to Shelley. With Byron to Shelley we literally had to build a completely new cryptocurrency from the ground up. We had to have new ledger rules, new update system, we had to invent a way of transitioning from one system to another system and there's hundreds of other little innovations along the way: new network stack and so forth. Byron cosmetically looks like Shelley but under the hood it's completely different and the Shelley design was built with a lot of the things that we needed for Goguen in mind. For example, we built Shelley with the idea of extended UTXO and we built Shelley understanding what the realities were for the smart contract model and that's one of the advantages you get when you do this type of bespoke engineering. There's two consequences to that, one, the integration is significantly easier, and two, the integration is significantly faster. We won't look at that same complexity there.
The product update at the end of the month... We'll really start discussing around some of these things as well as talk about partners and talk about how the development ecosystem is going to evolve. There are a lot of threads throughout all three organizations that are happening simultaneously. Emurgo, they're really thinking deeply about DeFi and they've invited us to collaborate with them on things like stablecoins for example but we're also looking at oracles (oracle pools), DEX and these other things and because there are already people in market who have made mistakes, learned lessons, it gives us the benefit of hindsight. It means we can be much faster to market and we can build much more competitive things in market and the Cardano community gets first access to these next generation DeFi applications without a lot of the problems of the prior generations and that's super beneficial to us.
You know, the other side of it, is that Voltaire is going to have a systemic influence not just on community funding but also the overall evolution and direction of the platform. The longer it exists the more pervasive it will become. Probably first applied towards the Cardano foundation roadmap but later on it will definitely have a lot of influence and say over every element aspect of the system including the launch dApps and these other things. Basically, long term, the types of problems that Cardano solves so that's incredibly appealing to me and very exciting to me because it's like I have this giant community brain with the best and brightest of all of you working with us to get us where we need to go.
You know, another thing that was super encouraging, it's a small thing, but it shows us that we're definitely in the right direction was that we recently got a demo from Pramod (Viswanath) and his team out of university of Illinois on a protocol they create called PrisM which is a super fast proof-of-work protocol and they wrote this beautiful paper and they wrote code along with it that showed that PrisM is a ten thousand times faster than Nakamoto consensus. If you take the bitcoin proof-of-work protocol, you strip it out, you put PrisM in, you can run the entire bitcoin system 10000 times faster. They have these beautiful benchmarks to show that. Even in bad network conditions. (I'm) promoting this team, they're, they're real researchers, and they're real engineers, they use a lot of cool HPC concepts like springboarding and other things like that to accommodate that. Then I asked him in the presentation, I said well, how much faster if you replay the Ethereum chain? He says, well, that it takes a big performance hit, could be only maybe a hundred times because that model is not as easy to optimize and shard with standard computer science concepts. In fact in some cases there are limitations there that really can't be overcome. It turns out that we're more on that UTXO side than we are on the account side. As a coincidence or intent of the design of extended UTXO we're gonna have a lot easier time getting much higher performance where and when it's necessary.
I also approved this week a scaling up of the Basho project. In particular, to build a hydra prototype team. The science has gotten to a point where we can make a really competitive push in that particular direction. What does that mean? It means that in just a few short months we can de-risk technological approaches that long-term will give us a lot of fruit where and when the community decides that they need infrastructure like hydra. Now, here's the beautiful thing about hydra. If you watch my whiteboard back in September of 2017 when Cardano first hit market with Byron I talked about this concept of looking at scalability with a very simple test which is as you get more people in the system it stays at the same performance or it gets faster. We all experience systems that do this, for example, bittorrent, more people downloading something you tend to be able to get it faster and we all experience the converse which is, the system gets slower when you get more people. What does this mean? It means that hydra is an actual approach towards true scalability in the system and it's a lot easier to do than sharding even though we have a beautiful approach to get the sharding on the ledger side if we truly desire to go down that way. There's beautiful ideas that we are definitely in deep discussions about. That's a very complex thing. There was recently a paper ("Ebb-and-Flow Protocols: A Resolution of the Availability-Finality Dilemma") out of Stanford that showed that the Gasper protocol as proposed for ETH2.0 does have some security concerns and it's going to be the burden on the shoulders of the Ethereum 2.0 developers and Vitalik to address those concerns from those Stanford professors. Whenever you have these very complex protocols they have so many different ways they can break and things can go wrong so it's much more appealing when you don't have to embrace complexity to achieve the same. The elegance of hydra is that stake pool operators are very natural parties to put hydra channels on and every time we add one we get much more performance out of that and the system as it gets more valuable. The k factor increases which means you get more stake pull operators, which means you get more hydra channels, so with growth we get appreciation, with appreciation we get more decentralization, with more decentralization we get more performance. In essence, this spiritually speaking, is really what we meant when we said scalability. That the system will always grow to meet its particular needs and we have a very elegant way of moving in that direction that doesn't require us to embrace very sophisticated techniques. It's not to say that these techniques don't have a place and purpose but it says that the urgency of implementing these is gone and we then have the luxury to pick the best science when it's ready instead of rushing it to market to resolve a crisis of high fees. We'll never have that crisis so there's a beauty to Cardano that is missing, I in my view, from many cryptocurrencies and blockchains in the marketplace and we're now seeing that beauty shine through. Not only through our community who are so passionate and amazing but in the science and the engineering itself and how easy it is for us to navigate the concepts. How easy it is for us to add more things, to take some things away, to clean some things up here and there and our ability to move through.
I never imagined when in 2015 I signed up to go in on this crazy ride and try to build a world financial operating system we would have made as much progress as we made today. We've written more than 75 research papers as an organization many of which are directly applicable to Cardano. We've got great partners who work with Nasa and Boeing and Pfizer, massive companies, that have 10 years of history and millions of users to come in and help us grow better. We've worked with incredible organizations, major universities like university of Wyoming, university of Edinburgh, Tokyo, tech professors all across the world. We've worked with incredible engineering firms like VacuumLabs and AtixLabs and Twig and Well-Typed, runtime verification, QuviQ and dozens of others along the years and despite the fact that at times there's been delays and friction throughout this entire journey we've mostly been aligned and we keep learning and growing. It gives me so much hope that our best days are ahead of us and an almost fanatical belief that success is inevitable in a certain respect. You see because we always find a way to be here tomorrow and we always find a way to make tomorrow a better day than today and as long as that's the trend you're monotonically increasing towards a better tomorrow, you're always going to have that outcome, you're always going to be in a position where Cardano shines bright. Towards the end of the month we'll have a lot more to say about the development side and that'll be a beginning just like Voltaire is the beginning and then suddenly you now notice the beautiful parallelism of the roadmap. Shelley continues to evolve, partial delegation is coming, in fact, I signed the contract with vacuumlabs to bring that to Ledger (and Trezor). The Daedalus team is hard at work to make that feature apparent for everyone as is the Yoroi team.
You see that, with now Voltaire, and soon was Goguen, and these are not endpoints, rather they're just beginnings and they're never over. We can always make staking better, more diverse, more merit-based and entertain different control models, have better delegation mechanics, have better user experience. The same for smart contracts, that's an endless river and along the way what we've discovered is it's easy for us to work with great minds and great people. For example with testing of smart contracts I would love to diversify that conversation above and beyond what we can come up with and bring in some firms who have done this for a long time to basically take that part with us shoulder to shoulder and build beautiful frameworks to assist us. For example, runtime verification is doing this with, the EVM with a beautiful project called Firefly to replace Truffle. I believe that we can achieve similar ends with Plutus smart contracts.
When you ask yourself what makes a system competitive in the cryptocurrency space? In my view there are four dimensions and you have to have a good story for all four of those dimensions. You need security and correctness. A lot of people don't prioritize that but when they get that wrong it hurts retail people, it hurts everyday people, billions of dollars have been lost due to the incompetence and ineptitude of junior developers making very bad mistakes and oftentimes those developers faced no consequences. The people who lost money were innocent people who believed in cryptocurrencies and wanted to be part of the movement but didn't protect themselves adequately. That's a really sad thing and it's unethical to continue pushing a model that that is the standard or the likely outcome rather than a rare edge case. You have to as a platform, a third generation platformn invest heavily in giving the developers proper tools to ensure security and correctness. We've seen a whole industry there's been great innovations out of Quantstamp and ConsenSys and dozens of other firms in the space including runtime verification who have really made major leaps in the last few years of trying to improve that story. What's unique to Cardano is that we based our foundations on languages that were designed right the first time and there's over 35 years of history for the approach that we're following in the Haskell side that allows us to build high assurance systems and our developers in the ecosystem to build high assurance systems. We didn't reinvent the wheel, we found the best wheel and we're giving it to you.
I think we're going to be dominant in that respect as we enter 2021. Second, you look at things like ease of maintenance, ease of deployment, the life cycle of the software upgrades to the software and as we've demonstrated with things like the hard fork combinator and the fact that Voltaire is not just a governance layer for ada and Cardano but will eventually be reusable for any dApp deployed on our system. You have very natural tooling that's going to allow people to upgrade their smart contracts, their dApps and enable governance for their users at an incredibly low cost and not have to reinvent the governance wheel each and every application. This is another unique property to our system and it can be reused for the dApps that you deploy on your system as I've mentioned before. Performance is a significant concern and this was often corrupted by marketers especially ICO marketers who really wanted to differentiate (and) say: "our protocol tested on a single server in someone's basement is 500000 transactions per second" and somehow that translates to real life performance and that's antithetical to anyone who's ever to study distributed systems and understands the reality of these systems and where they go and what they do and in terms of performance. I think we have the most logical approach. You know, we have 10 years of history with bitcoin, it's a massive system, we've learned a huge amount and there's a lot of papers written about, a lot of practical projects and bitcoin is about to step into the world of smart contracts. We congratulate them on getting Schnorr sigs in and the success of Taproot. That means entering 2021, 2022, we are going to start seeing legitimate dApps DeFi projects, real applications, instead of choosing Ethereum or Algorand, EOS, Cardano, choosing bitcoin and they're adding a lot to that conversation. I think that ultimately that model has a lot of promise which is why we built a better one. There are still significant limitations with what bitcoin can accomplish from settlement time to the verbosity of contracts that can be written.
The extended UTXO model was designed to be the fastest accounting and most charitable accounting model ever, on and off chain, and hydra was designed to allow you to flex between those two systems seamlessly. When you look at the foundations of where we're at and how we can extend this from domain specific languages, for domain experts, such as Marlowe to financial experts, and the DSLs that will come later, for others, like lawyers and supply chain experts in medical databases and so forth and how easy it is to write and deploy these. Plutus being beautiful glue code for both on and off chain communications. I think we have an incredibly competitive offering for performance and when hydra comes, simply put, there'll be no one faster. If we need to shard, we're going to do that and definitely better than anybody else because we know where our security model sits and there won't be surprise Stanford papers to blindside us that require immediate addressing.
In terms of operating costs, this is the last component, in my view, and that's basically how much does it cost you the developer to run your application? There are really two dimensions, one is predictability and the other is amount. It's not just good enough to say: it's a penny per transaction today. You need to know that after you spend millions of dollars and months or years of effort building something and deploying something that you're not going to wake up tomorrow and now it's five dollars to do what used to cost a penny. You need that cost to be as low as possible and as predictable as possible and again the way that we architectured our system and as we turn things on towards the end of this year and as we enter into the next year we believe we have a great approach to achieve low operating cost. One person asks why Cardano? Well because we have great security and correctness in the development experience and tools with 35 years of legacy that were built right the first time and don't put the burdens of mistakes on your customers. They ask why Cardano and we say: well the chain itself is going to give you great solutions with identity value transformation and governance itself and as a consequence when you talk about upgrading your applications having a relationship with your customers of your applications and you talk about the ease of maintenance of those applications. There's going to be a good story there and we have beautiful frameworks like Voltaire that allow that story to evolve and we keep adding partners and who have decades of experience to get us along. We won't stop until it's much better. They asked why Cardano? We said because at the moment we're 10 times faster today than Ethereum today and that's all we really need for this year and next year to be honest and in the future we can be as fast as we need to be because we're truly scalable. As the system gets more decentralized the system improves performance and where and when we need to shard we can do that. We'll have the luxury of time to do it right, the Cardano way, and when people ask why Cardano? Because the reality is, it's very cheap to do things on our platform and the way we're building things. That's going to continue being the case and we have the governance mechanisms to allow the community to readjust fees and parameters so that it can continue being affordable for users. Everything in the system will eventually be customizable and parameterizable: from block size, to transaction fees and the community will be in a good position to dynamically allocate these things where and when needed so that we can enjoy as an ecosystem predictability in our cost.
In the coming weeks and months, especially in my company, we're going to invest a lot of time and effort into comparison marketing and product marketing. When I see people say, oh well, you've launched proof of stake, a lot of other people have done. I don't think those people fully appreciate the magnitude of what we actually accomplished as an ecosystem and the quality of the protocols that are in distribution. That's not their fault, it's our fault, because we didn't take the time in simplistic terms, not scientific papers and deep code and formal specifications, but rather everyday language, to really show why we're different. I admit that that's a product failing and that needs to be corrected so we hired a great marketing director, named Liza (Horowitz?) and she is going to work full time with me and others in the ecosystem, a great team of people, every single day to get out there and explain what we have done is novel, unique, competitive and special to our industry. Everything from Ouroboros and contrast to major other protocols from the EOSes and Algorands and the Tezos of the world. Why we're different, trade-offs we chose over them, to our network stack, to the extended UTXO model, to Plutus, to Marlowe and we're going to keep hammering away at that until we get it right and everybody acknowledges and sees what has been accomplished.
I've spent five years of my life, good years of my life, and missed a lot to get this project where it needs to go. All of our employees have invested huge sums of their personal lives, their time, their brand, their careers, in trying to make this the really most magical and special cryptocurrency and blockchain infrastructure around. No one ever signed up in this company or the other companies working on Cardano to work on a mediocre protocol. That's just another blockchain, they signed up to change the world, they signed up to build a system that legitimately can look at you in the face and say: one day we have the potential to have a billion users! That's what they signed up for and they showed up to play. They built technology that evolves in that direction with some certainty and great foundations and we have an obligation to market in a way that can show the world why, succinctly, with clarity. Understandably, this has been a failing in the past but you know what? You can always be better tomorrow that monotonically increasing make it better and that's what we're going to do. We recognized it and we're going to invest in it and with Voltaire if we can't do it. You the community can do it and we'll work with you. If you can do a better job and the funding will be there to get that done. In addition to this, we think about 2021 and we ask where does the future take us? I've thought a lot about this you know I've thought a lot about how do we get the next five years as we close out 2020 and here's the reality: we're not going to leave as a company until we have smart contracts and multi-asset and Voltaire has evolved to a point where the community can comfortably make decisions about the future of the protocol and that the staking experience has solidified and it's stable.
I don't care if this costs me millions or tens of millions of dollars out of my own pocket to make happen. I'm going to do that because that's my commitment to you, the community and every product update will keep pushing our way there. We'll continue to get more transparent, we'll continue to get more aggressive and hire more and parallelize more. Aware when we can, to deliver that experience so that Cardano gets where it needs to go. Then when we ask about where do we go next? The reality is that the science as an industry, the engineering as an industry has given a menu of incredibly unique attractive and sexy things that we can pursue. What we're going to do is work with the community and the very same tools that are turning on today, the Voltaire tools, the cardano.ideascale.com tools and we're going to propose a consortium and we're going to bring the best and brightest together and give a vision of where we can take the system in another five years. With the benefit of hindsight, massively improved processes, better estimation capabilities and the fact that we're not starting with two people at IOG. We're starting with 250 people and the best scientific division in our industry and the legacy of almost, nearly by the end of this year, 100 scientific papers. That's us, you know what, there's dozens of companies throughout the history who have worked on Cardano. It's about time to scale them up too and get client diversity. So come next year when the protocol has evolved to the point where it's ready for it, we'll have that conversation with you the community and that's going to be a beautiful conversation. At the conclusion of it, there's going to be certainty of how we're going to evolve over the next five years to get ourselves beyond the cryptocurrency space. I'm very tired of these conversations we have about: are you going to go to (coindesk's) consensus or not? Or who's going to be the big winner? What about Libra or what about this particular regulation and this crypto unicorn and this thing?
You know I've been in the space a long time and I've noticed that people keep saying the same things year after year in the same venues. Yes, the crowd sizes get larger and the amount of value at risk gets larger but I haven't seen a lot of progress in the places where I feel it is absolutely necessary for this technology to be permanent in the developing world. We need to see economic identity. People often ask what is the mission for Cardano? For us IOG, you look at economic identity and you take a look at a roadmap. For it, you scale up and down, and each and every step along the way, from open data, to self-sovereign identity, to financial inclusion. You can keep going down: to decentralized lending, decentralized insurance, decentralized banking. Each and every step along the way to economic identity. When you admit a blockchain tells you that, there's a collection of applications and infrastructure that you need to build.
My life's work is to get to a point where we have the technology to do that. The infrastructure to do that, with principles, and so we'll keep evolving Cardano and we'll keep evolving the space as a whole and the science as a whole until I can wake up and say: each box and that road to economic identity, for all people not just one group, we have a solution for that. I'm going to put those applications on Cardano and success for me is not about us being king of the crypto hill and having a higher market cap than bitcoin or being entrepreneur of the year coindesk's most influential person. It's meaningless noise, success for me is reflecting back at the things that we have accomplished together and recognizing that millions if not billions now live in a system where they all matter, they all have a voice, they all have an equal footing. The Jeff Bezos of the world have the very same experience as the person born in Rwanda and we're not done until that's the case. It's a long road, it's a hard road, but you know what? We're making progress, we have great people in Africa, we have great people in eastern Europe, we have great people in southeast Asia and great partners all along the way. Great people, Latin America, great people in south America, great people here in the United States.
When we talk about economic identity there are millions, if not tens of millions of Americans who don't have it. Same for Canadians, hundreds of thousands, who don't have it. Developed western cultures, it's the greatest blind spot of policy and as we enter into a depression as a result of coronavirus, add millions if not tens of millions more onto that list. Generations are being disenfranchised by this legacy system and we as an ecosystem, we as an entire community are offering a different way forward. Not hyper centralizationn not social credit but a way forward where you own your own money, your own identity, your own data. You're not a victim of surveillance capitalism, you're not a victim of civil asset forfeiture. When you say the wrong things, you get shut out of society. Each and every human being matters and I'm optimistic to believe that when you remind people that they matter they're gonna rise to the occasion. That is the point of my company. In the things that we do each and every day, that's our mission to give the platforms to the world so that those who don't have economic identity can get it and they can keep it and no one can take it from them and they can enjoy an ever increasing growth of standard of living wealth and prosperity.
However you want to measure that this is my goal post, I couldn't care less about the cryptocurrency space. It was a great place to start but the space needs to be reminded why it exists. Bitcoin was given a mandate on the back of the 2008 financial crisis to do something different. It was not given a mandate to go be a new settlement layer for central banks or a new way for the old guard to make more money and banks get bigger and for those who are in control to preserve their power. The whole point of doing something so crazy as to buy a coin that doesn't even exist in real life, that's just a bunch of numbers in the cloud, the whole point of that was so that we as a society could do something different than the way that we'd been doing things before. So, each and every member of the cryptocurrency space needs to remind everyone else from time to time why we're here and where did we come from and where are we going to go.
The beauty of Cardano is we have already achieved for the most part a decentralized brain and that momentum is pushing harder than ever. More and more scientists are waking up, more and more institutions are waking up, getting us there. The code we have, the right approach and I think we have a great competitive offering for 2021 as we go and battle the titans and that's going to be a lot of fun but we know who we are and where we're going and we're in the right places. It's so incredibly encouraging to see the stake pool operators not just be from California or Texas or New York or Canada. To see a lot of stake pool operators from the place that need the most, help everybody does matter and it means a lot to me for the people who are there but it means a lot to everybody to say that we have created an equal platform. It makes the participation of all of us so much more meaningful. We're not just talking to each other, we're talking to the world and by working together on this platform we're lifting the world up and giving people hope. That's the point, there's a lot more to do, we didn't get everything done. You never do you aspire, you work hard, you set a moon, shot and sometimes you can just get to orbit with the first go but you know what? When you build the next rocket you can go to Mars.
Thank you all for being with me, thank you all for being part of this. Today was a damn good day with the announcement of Voltaire. Go to cardano.ideascale.com. You can participate in that, so end of September is going to be a good day too. There's a lot of good days to come, in between a lot of hard days, doing tasks sometimes entirely forgettable but always necessary to keep the revolution going and the movement going. I cannot wait for 2021, our best days are ahead of us, because of you. You all take care now .
Source: https://www.youtube.com/watch?v=BFa9zL_Dl_w
Other things mentioned:
https://cardano.ideascale.com/
https://www.atixlabs.com/blockchain
https://www.well-typed.com/
https://www.vacuumlabs.com/
https://medium.com/interdax/what-is-taproot-and-how-will-it-benefit-bitcoin-5c8944eed8da
https://medium.com/interdax/how-will-schnorr-signatures-benefit-bitcoin-b4482cf85d40
https://quantstamp.com/
https://bloxian.com/bloxian-platforms/ (TWIG)
https://runtimeverification.com/firefly/
https://www.trufflesuite.com/
https://experts.illinois.edu/en/publications/prism-deconstructing-the-blockchain-to-approach-physical-limits (PrisM and not our Prism https://atalaprism.io/)
Ebb-and-Flow Protocols: A Resolution of the Availability-Finality Dilemma (aka Gasper and ETH2.0 fucker) https://arxiv.org/abs/2009.04987
http://www.quviq.com/products/
https://en.wikipedia.org/wiki/Schnorr_signature
submitted by stake_pool to cardano [link] [comments]

Satoshi Nakamoto and Bitcoin are not the only contents in Blockchain, This public chain which is possible modifying global finance trending is the "brave wind and waves" for DeFi

DEFI is extending rapidly, Market value is skyrocketing
Every single employee and employer will be shocked by DeFi in Blockchain industry, There has not been a single concept existed can compare to DeFi since block chain technology created ,sparking the fire to spread through the whole block chain industry; Even the founder of Bitcoin and Blockchain Satoshi Nakamoto may not considered that the DeFi trending will exceed Bitcoin.
Defi has become the hot topic in Blockchain field since the beginning of 2019;DeFi is the abbreviation for Decentralized Finance, also called open finance, meaning to build decentralized contracts which belongs to open financial system. DeFi is dedicating to provide time free, space free financial activities to all the people, it is what we called decentralized finance.
In the current financial systems, all financial services are controlled or adjusted unitedly by centralized finance system, whether the basic function such as deposit and transfer, loan or derivatives transactions are monitored and distributed by centralized financial organizations; DeFi is hoping to build a transparent, addressable and inclusive P2P financial system, minimizing the trust risks, simplifying the transactions payment process, expanding transactions scenarios.
DeFi platform has 3 obvious advantages compare to traditional centralized financial systems.
1.Global financial services are applying broadly, allowing everyone getting financial services through internet or smart phones which based on decentralized financial system built-in blockchains, including all the services that current banks organizations provide.
2.Blockchain techniques have high openness characteristic, everyone has the right to access, but nobody has central control right, achieving decentralizing for financial transactions. This point is the original purpose for creating Bitcoin by Satoshi Nakamoto.
3.Cross border will be more convenient and more economical. DeFi is applying the openness trait in Blockchain, avoiding expensive commission during global payment, allowing financial transaction to be more convenient, efficient when minimizing the global transferring cost.
Due to these benefits, DeFi is able to occupy first place at the triennial palace examination for block chain industries because of the benefits above. Capitalist is taking up the positions of the fallen and rising to fight one after another; According to the data within block chain fields on Aug 20, the market value for the whole DeFi industry is reaching 11.3billion dollars, which is the signal for passing the top digital currency industry; at the meantime, all the transactions are reaching 429million dollars in all decentralized exchanges; The total loan is reaching 1.5 billion on loan platform; The fixed asset is reaching 6.37billion dollar value for DeFi.
For global depressed economic, DeFi industry capital is exceeding most financial industries. When the river rises, the boat floats high. DeFi related project is gaining large profits in the vigorous blockchain exploitation processes. Token price is skyrocketing in DeFi. In two years, Total value DeFi project is rising to 10billion or more, From reasonable perspective, The whole DeFi ecosystem is filling with industry bubble, which is missing the flexibility and grounded projects.
Superior projects have something in common.
The so-called decentralized finance in DeFi, It consists two parts, which are decentralization and finance, under current circumstances, most projects only achieve “Financial “part in the industry, real decentralizing has not been achieved; For most DeFi projects, the first customized version was not satisfied the marketing expectations, most core functions will need to be updated, so the initial team has to have complete authority to control the projects in order to complete on-time and efficiency updating jobs.
This means that all the DeFi projects we see, most projects are controlled by initial creating team. Is controlled DeFi belongs to real DeFi? Does any single project can achieve Finance +decentralized?
New born AITD may satisfied blockchain expectation for DEFI, AITD Blockchain new generation foundation public chain at business level is built for “Decentralization +Finance.
As the marketing needs increasing annually for finance industries, such as banks, insurances, securities. AITD is following the trend closely, connecting the idea and purpose of DeFi, building a healthy, complete decentralized financial ecosystem; Blockchain DeFi+AITD are extending to new direction for insurance, Trust, pledge, cross region payment.
INSURANCE: AITD is innovating the current medical system by integrating insurance easy use scenarios, let’s using medical insurance as an example. AITD blockchain is not only storing digital information prove to blocks, but also achieving message sharing; AITD is able to break through the each steps in insurance process, solving asymmetry problem, allowing information transparency during insurance process for upstream and downstream, achieving value flows; Providing the rewarding mechanism for information provider through information sharing, leading medical system information publicized, breaking through each circulation for Medical- insurance-monitoring, realizing medical electronic and electronic insurance business, achieving insurance business stored in block chain networks through blockchain smart contract, achieving auto insurance verification, intelligent insurance claiming goal.
PLEDGE The essence of Pledge is new Smart business, as a new model are becoming the main track for real application, achieving to be the solid foundation for decentralized finance. Financial services should not be built under opacity lonely island. AITD is dedicating to build a finance system that allows everyone visiting as long as internet is available, letting value flow freely; According to the high intelligence and high transparency characteristic, AITD will bring new revolutionized storm to global financial system. The transforming direction for Pledge is open finance, open finance is the future morphology for finance. In the future, we are building highly ecological operating systems, fully integrating the innovative characteristics for front technology, smart business, open organization, digitalized finance, forming delicate business system.
TRUST: which is connecting block chain techniques is incorporating innovation, freedom, equality gene.In the premise of Justice and fair, Block chain Trust is containing market value maintaining promotion system, which is able to observe the instant experiences feedbacks for global users through constant updating, promoting changes for products, perfecting uses experiences’ .AITD collective Trust has high transparency rate, requiring real name authentication for loan corporation and investors themselves, processing transparency for each project’s process, dedicating to build a safe, stable, transparent, efficient online and offline platforms for medium , small, micro sized companies which have capital demand and person who has financing needs; innovating the traditional Trust operation mode, practicing facilitating health industry through technology, applying assets operation idea of integrating “smart” ”capital” idea, collaborating with medical fields experts who made great contributions in this field;dedicating to facilitate medical resources, medical research abilities and financial capitals high efficiency integration.
CROSS REGION PAYMENTS: Block chain payment techniques are changing “traditional assets flow and information flow” operation modes through the structure and improving traditional high cost transferring, low transparency rate, transactions risks through unique advantages of block chains; AITD has comprehensive, strong international bank card fund collecting products and diverse overseas or local payment receiving methods, which are able to provide global one station online payment solution proposals, allowing users to transfer from anywhere, anytime in the world, enabling merchant to accept different kinds of payments habits, processing exchange rate payment automatically; According to cross region payment scenarios, transferring speed and low cost advantages will be concentrated, platform will collaborate with other platforms within the globe, assisting these platforms which have global community backgrounds to explore payment channels.
AITD is incorporating block chain technology and finance to the maximum level. In the original thoughts of Bitcoin from Satoshi Nakamoto,counting on Bitcoin to modify the current financial system mode, allowing real freedom for currency, open sources, decentralization, flowing throughout the society and applying, creating multiple finance scenarios Trust Consensus; AITD+DeFi can achieve things that bitcoin cannot achieve.
AITD advantages, self-owned public chain
Traditional DeFi projects are distributed on the Ethereum or other networks, traffic jam, low experience rate, high processing fee, internet jam, resisting developer and so on, DeFi projects is suggesting user and developer quitting in Ethereum; AITD which belongs to DeFi is facing the same problems, but AITD team has already found the best solution for this problem. We will explain it later.
The current situation that DeFi industries are facing:Although there are too much complaining towards Ethereum, the new or old projects cannot kept without Ethereum. According to the DeFi prime data, in 242 DeFi projects that collecting one time, 197 numbers of DeFi are deployed on Ethereum, EOS and Bitcoin only contain 22 and 23 , DeFi project number is approaching to zero on other public chains, Ethereum is considering as the second leading factor for blockchain industries after Bitcoin, determining the fate of DeFi.
Why are DeFi (such as hot Compound, Uniswap) not existing in other public chains? Ultimately, the reason for public chains hardly generate Defi (except Ethereum) due to the following 3 reasons.
1).Public chain which considers Ethereum as the first public chain, possessing competitive advantages in kinds of assets, total number of assets.
2) Unlike Ethereum, other public chains are not paying much attention to DeFi. they are losing the initiation for following the trend now
3) DeFi Decentralization governing after scaling, causing costs for moving Ethereum to other public chain are hard to estimate.
Actually, after DeFi shocked digital currency encrypted market, each public chain is entering DeFi military prepared competition, capital, techniques, human resources are constantly devoting into DeFi; Finally, there is no single public chain exceeding Ethereum or challenging Ethereum.Pulic chain problems are the pain points for the industry.
Ether researcher once said that “According to the jam in Ether network, even worse than ICO bubble, this is not exaggerated, During the prosperous period for ICO in 2018, Each transaction processing fee is reaching 5.4 US dollars. However, at the 5:00pm in Aug 13th , this number is skyrocketing and reaching 7.4 us dollars, It is 15 times high comparing to 0.5 US dollars in the previous month;DeFi prosperity on Ether is marketing behavior which is against humanity.
Under this circumstances, the trend for searching new public chain is necessary; what is the AITD team solution? The answer is public chain
To avoid anti humanity sanction by Ether public chain and also to build a complete, efficient DeFi ecosystem. AITD team is researching and developing self-owned public chain in block chain for three years, providing multi block chain scenarios services to large user groups on AITD block chain.
In the future,AITD will provide reliable, safe, convenient blockchain services to users in basic public information search, copyright administration, tracing for certified products, ensuring product security scenarios, achieving multi-path communication which Bitcoin is not able to process; Meanwhile, AITD chain is achieving self-closing loop for ecosystem, extending the spirit of DeFi to insurance, Trust, Pledge,Cross border payment etc in multiple financial scenarios, achieving decentralized finance for real.
Current block chain network is independent internet relatively, encountering information island problems; Isolation of the internet is not supporting collaborative operation between each blockchain network. Isolation limit applied fields for the blockchain techniques at maximum level; However, AITD is dedicating to build a strong extensibility block chain networks, when it achieves fast, safe cross chain data visit, it also builds a valuable internet for the whole block chain industry.
Valued internet+ Blockchain decentralized finance, AITD have strong ambition, dedicating to provide value of 11.3billion the best application in financial world, we will wait for the expecting result.
submitted by AITDBlockchai to u/AITDBlockchai [link] [comments]

Filecoin | Development Status and Mining Progress

Author: Gamals Ahmed, CoinEx Business Ambassador
https://preview.redd.it/5bqakdqgl3g51.jpg?width=865&format=pjpg&auto=webp&s=b709794863977eb6554e3919b9e00ca750e3e704
A decentralized storage network that transforms cloud storage into an account market. Miners obtain the integrity of the original protocol by providing data storage and / or retrieval. On the contrary, customers pay miners to store or distribute data and retrieve it.
Filecoin announced, that there will be more delays before its main network is officially launched.
Filecoin developers postponed the release date of their main network to late July to late August 2020.
As mentioned in a recent announcement, the Filecoin team said that the initiative completed the first round of the internal protocol security audit. Platform developers claim that the results of the review showed that they need to make several changes to the protocol’s code base before performing the second stage of the software testing process.
Created by Protocol Labs, Filecoin was developed using File System (IPFS), which is a peer-to-peer data storage network. Filecoin will allow users to trade storage space in an open and decentralized market.
Filecoin developers implemented one of the largest cryptocurrency sales in 2017. They have privately obtained over $ 200 million from professional or accredited investors, including many institutional investors.
The main network was slated to launch last month, but in February 2020, the Philly Queen development team delayed the release of the main network between July 15 and July 17, 2020.
They claimed that the outbreak of the Coronavirus (COVID-19) in China was the main cause of the delay. The developers now say that they need more time to solve the problems found during a recent codecase audit.
The Filecoin team noted the following:
“We have drafted a number of protocol changes to ensure that building our major network launch is safe and economically sound.” The project developers will add them to two different implementations of Filecoin (Lotus and go-filecoin) in the coming weeks.
Filecoin developers conducted a survey to allow platform community members to cast their votes on three different launch dates for Testnet Phase 2 and mainnet.
The team reported that the community gave their votes. Based on the vote results, the Filecoin team announced a “conservative” estimate that the second phase of the network test should begin by May 11, 2020. The main Filecoin network may be launched sometime between July 20 and August 21, 2020.
The updates to the project can be found on the Filecoin Road Map.
Filecoin developers stated:
“This option will make us get the most important protocol changes first, and then implement the rest as protocol updates during testnet.” Filecoin is back down from the final test stage.
Another filecoin decentralized storage network provider launched its catalytic test network, the final stage of the storage network test that supports the blockchain.
In a blog post on her website, Filecoin said she will postpone the last test round until August. The company also announced a calibration period from July 20 to August 3 to allow miners to test their mining settings and get an idea of how competition conditions affected their rewards.
Filecoin had announced earlier last month that the catalytic testnet test would precede its flagship launch. The delay in the final test also means that the company has returned the main launch window between August 31 and September 21.
Despite the lack of clear incentives for miners and multiple delays, Filecoin has succeeded in attracting huge interest, especially in China. Investors remained highly speculating on the network’s mining hardware and its premium price.
Mining in Filecoin
In most blockchain protocols, “miners” are network participants who do the work necessary to promote and maintain the blockchain. To provide these services, miners are compensated in the original cryptocurrency.
Mining in Filecoin works completely differently — instead of contributing to computational power, miners contribute storage capacity to use for dealing with customers looking to store data.
Filecoin will contain several types of miners:
Storage miners responsible for storing files and data on the network. Miners retrieval, responsible for providing quick tubes for file recovery. Miners repair to be carried out.
Storage miners are the heart of the network. They earn Filecoin by storing data for clients, and computerizing cipher directories to check storage over time. The probability of earning the reward reward and transaction fees is proportional to the amount of storage that the Miner contributes to the Filecoin network, not the hash power.
Retriever miners are the veins of the network. They earn Filecoin by winning bids and mining fees for a specific file, which is determined by the market value of the said file size. Miners bandwidth and recovery / initial transaction response time will determine its ability to close recovery deals on the network.
The maximum bandwidth of the recovery miners will determine the total amount of deals that it can enter into.
In the current implementation, the focus is mostly on storage miners, who sell storage capacity for FIL.

Hardware recommendations

The current system specifications recommended for running the miner are:
Compared to the hardware requirements for running a validity checker, these standards are much higher — although they definitely deserve it. Since these will not increase in the presumed future, the money spent on Filecoin mining hardware will provide users with many years of reliable service, and they pay themselves many times. Think of investing as a small business for cloud storage. To launch a model on the current data hosting model, it will cost millions of dollars in infrastructure and logistics to get started. With Filecoin, you can do the same for a few thousand dollars.
Proceed to mining
Deals are the primary function of the Filecoin network, and it represents an agreement between a client and miners for a “storage” contract.
Once the customer decides to have a miner to store based on the available capacity, duration and price required, he secures sufficient funds in a linked portfolio to cover the total cost of the deal. The deal is then published once the mine accepts the storage agreement. By default, all Filecoin miners are set to automatically accept any deal that meets their criteria, although this can be disabled for miners who prefer to organize their deals manually.
After the deal is published, the customer prepares the data for storage and then transfers it to the miner. Upon receiving all the data, the miner fills in the data in a sector, closes it, and begins to provide proofs to the chain. Once the first confirmation is obtained, the customer can make sure the data is stored correctly, and the deal has officially started.
Throughout the deal, the miner provides continuous proofs to the chain. Clients gradually pay with money they previously closed. If there is missing or late evidence, the miner is punished. More information about this can be found in the Runtime, Cut and Penalties section of this page.
At Filecoin, miners earn two different types of rewards for their efforts: storage fees and reward prevention.
Storage fees are the fees that customers pay regularly after reaching a deal, in exchange for storing data. This fee is automatically deposited into the withdrawal portfolio associated with miners while they continue to perform their duties over time, and is locked for a short period upon receipt.
Block rewards are large sums given to miners calculated on a new block. Unlike storage fees, these rewards do not come from a linked customer; Instead, the new FIL “prints” the network as an inflationary and incentive measure for miners to develop the chain. All active miners on the network have a chance to get a block bonus, their chance to be directly proportional to the amount of storage space that is currently being contributed to the network.
Duration of operation, cutting and penalties
“Slashing” is a feature found in most blockchain protocols, and is used to punish miners who fail to provide reliable uptime or act maliciously against the network.
In Filecoin, miners are susceptible to two different types of cut: storage error cut, unanimously reduce error.
Storage Error Reduction is a term used to include a wider range of penalties, including error fees, sector penalties, and termination fees. Miners must pay these penalties if they fail to provide reliability of the sector or decide to leave the network voluntarily.
An error fee is a penalty that a miner incurs for each non-working day. Sector punishment: A penalty incurred by a miner of a disrupted sector for which no error was reported before the WindowPoSt inspection.
The sector will pay an error fee after the penalty of the sector once the error is discovered.
Termination Fee: A penalty that a miner incurs when a sector is voluntary or involuntarily terminated and removed from the network.
Cutting consensus error is the penalty that a miner incurs for committing consensus errors. This punishment applies to miners who have acted maliciously against the network consensus function.
Filecoin miners
Eight of the top 10 Felticoin miners are Chinese investors or companies, according to the blockchain explorer, while more companies are selling cloud mining contracts and distributed file sharing system hardware. CoinDesk’s Wolfe Chao wrote: “China’s craze for Filecoin may have been largely related to the long-standing popularity of crypto mining in the country overall, which is home to about 65% of the computing power on Bitcoin at discretion.”
With Filecoin approaching the launch of the mainnet blocknet — after several delays since the $ 200 million increase in 2017 — Chinese investors are once again speculating strongly about network mining devices and their premium prices.
Since Protocol Labs, the company behind Filecoin, released its “Test Incentives” program on June 9 that was scheduled to start in a week’s time, more than a dozen Chinese companies have started selling cloud mining contracts and hardware — despite important details such as economics Mining incentives on the main network are still endless.
Sales volumes to date for each of these companies can range from half a million to tens of millions of dollars, according to self-reported data on these platforms that CoinDesk has watched and interviews with several mining hardware manufacturers.
Filecoin’s goal is to build a distributed storage network with token rewards to spur storage hosting as a way to drive wider adoption. Protocol Labs launched a test network in December 2019. But the tokens mined in the testing environment so far are not representative of the true silicon coin that can be traded when the main network is turned on. Moreover, the mining incentive economics on testnet do not represent how final block rewards will be available on the main network.
However, data from Blockecoin’s blocknetin testnet explorers show that eight out of 10 miners with the most effective mining force on testnet are currently Chinese miners.
These eight miners have about 15 petabytes (PB) of effective storage mining power, accounting for more than 85% of the total test of 17.9 petable. For the context, 1 petabyte of hard disk storage = 1000 terabytes (terabytes) = 1 million gigabytes (GB).
Filecoin craze in China may be closely related to the long-standing popularity of crypt mining in the country overall, which is home to about 65% of the computing power on Bitcoin by estimation. In addition, there has been a lot of hype in China about foreign exchange mining since 2018, as companies promote all types of devices when the network is still in development.
“Encryption mining has always been popular in China,” said Andy Tien, co-founder of 1475, one of several mining hardware manufacturers in Philquin supported by prominent Chinese video indicators such as Fenbushi and Hashkey Capital.
“Even though the Velikoyen mining process is more technologically sophisticated, the idea of mining using hard drives instead of specialized machines like Bitcoin ASIC may be a lot easier for retailers to understand,” he said.
Meanwhile, according to Feixiaohao, a Chinese service comparable to CoinMarketCap, nearly 50 Chinese crypto exchanges are often somewhat unknown with some of the more well-known exchanges including Gate.io and Biki — have listed trading pairs for Filecoin currency contracts for USDT.
In bitcoin mining, at the current difficulty level, one segment per second (TH / s) fragmentation rate is expected to generate around 0.000008 BTC within 24 hours. The higher the number of TH / s, the greater the number of bitcoins it should be able to produce proportionately. But in Filecoin, the efficient mining force of miners depends on the amount of data stamped on the hard drive, not the total size of the hard drive.
To close data in the hard drive, the Filecoin miner still needs processing power, i.e. CPU or GPU as well as RAM. More powerful processors with improved software can confine data to the hard drive more quickly, so miners can combine more efficient mining energy faster on a given day.
As of this stage, there appears to be no transparent way at the network level for retail investors to see how much of the purchased hard disk drive was purchased which actually represents an effective mining force.
The U.S.-based Labs Protocol was behind Filecoin’s initial coin offer for 2017, which raised an astonishing $ 200 million.
This was in addition to a $ 50 million increase in private investment supported by notable venture capital projects including Sequoia, Anderson Horowitz and Union Square Ventures. CoinDk’s parent company, CoinDk, has also invested in Protocol Labs.
After rounds of delay, Protocol Protocols said in September 2019 that a testnet launch would be available around December 2019 and the main network would be rolled out in the first quarter of 2020.
The test started as promised, but the main network has been delayed again and is now expected to launch in August 2020. What is Filecoin mining process?
Filecoin mainly consists of three parts: the storage market (the chain), the blockecin Filecoin, and the search market (under the chain). Storage and research market in series and series respectively for security and efficiency. For users, the storage frequency is relatively low, and the security requirements are relatively high, so the storage process is placed on the chain. The retrieval frequency is much higher than the storage frequency when there is a certain amount of data. Given the performance problem in processing data on the chain, the retrieval process under the chain is performed. In order to solve the security issue of payment in the retrieval process, Filecoin adopts the micro-payment strategy. In simple terms, the process is to split the document into several copies, and every time the user gets a portion of the data, the corresponding fee is paid. Types of mines corresponding to Filecoin’s two major markets are miners and warehousers, among whom miners are primarily responsible for storing data and block packages, while miners are primarily responsible for data query. After the stable operation of the major Filecoin network in the future, the mining operator will be introduced, who is the main responsible for data maintenance.
In the initial release of Filecoin, the request matching mechanism was not implemented in the storage market and retrieval market, but the takeover mechanism was adopted. The three main parts of Filecoin correspond to three processes, namely the stored procedure, retrieval process, packaging and reward process. The following figure shows the simplified process and the income of the miners:
The Filecoin mining process is much more complicated, and the important factor in determining the previous mining profit is efficient storage. Effective storage is a key feature that distinguishes Filecoin from other decentralized storage projects. In Filecoin’s EC consensus, effective storage is similar to interest in PoS, which determines the likelihood that a miner will get the right to fill, that is, the proportion of miners effectively stored in the entire network is proportional to final mining revenue.
It is also possible to obtain higher effective storage under the same hardware conditions by improving the mining algorithm. However, the current increase in the number of benefits that can be achieved by improving the algorithm is still unknown.
It seeks to promote mining using Filecoin Discover
Filecoin announced Filecoin Discover — a step to encourage miners to join the Filecoin network. According to the company, Filecoin Discover is “an ever-growing catalog of numerous petabytes of public data covering literature, science, art, and history.” Miners interested in sharing can choose which data sets they want to store, and receive that data on a drive at a cost. In exchange for storing this verified data, miners will earn additional Filecoin above the regular block rewards for storing data. Includes the current catalog of open source data sets; ENCODE, 1000 Genomes, Project Gutenberg, Berkley Self-driving data, more projects, and datasets are added every day.
Ian Darrow, Head of Operations at Filecoin, commented on the announcement:
“Over 2.5 quintillion bytes of data are created every day. This data includes 294 billion emails, 500 million tweets and 64 billion messages on social media. But it is also climatology reports, disease tracking maps, connected vehicle coordinates and much more. It is extremely important that we maintain data that will serve as the backbone for future research and discovery”.
Miners who choose to participate in Filecoin Discover may receive hard drives pre-loaded with verified data, as well as setup and maintenance instructions, depending on the company. The Filecoin team will also host the Slack (fil-Discover-support) channel where miners can learn more.
Filecoin got its fair share of obstacles along the way. Last month Filecoin announced a further delay before its main network was officially launched — after years of raising funds.
In late July QEBR (OTC: QEBR) announced that it had ceded ownership of two subsidiaries in order to focus all of the company’s resources on building blockchain-based mining operations.
The QEBR technology team previously announced that it has proven its system as a Filecoin node valid with CPU, GPU, bandwidth and storage compatibility that meets all IPFS guidelines. The QEBR test system is connected to the main Filecoin blockchain and the already mined filecoin coin has already been tested.
“The disclosure of Sheen Boom and Jihye will allow our team to focus only on the upcoming global launch of Filecoin. QEBR branch, Shenzhen DZD Digital Technology Ltd. (“ DZD “), has a strong background in blockchain development, extraction Data, data acquisition, data processing, data technology research. We strongly believe Filecoin has the potential to be a leading blockchain-based cryptocurrency and will make every effort to make QEBR an important player when Mainecoin mainnet will be launched soon”.
IPFS and Filecoin
Filecoin and IPFS are complementary protocols for storing and sharing data in a decentralized network. While users are not required to use Filecoin and IPFS together, the two combined are working to resolve major failures in the current web infrastructure.
IPFS
It is an open source protocol that allows users to store and transmit verifiable data with each other. IPFS users insist on data on the network by installing it on their own device, to a third-party cloud service (known as Pinning Services), or through community-oriented systems where a group of individual IPFS users share resources to ensure the content stays live.
The lack of an integrated catalytic mechanism is the challenge Filecoin hopes to solve by allowing users to catalyze long-term distributed storage at competitive prices through the storage contract market, while maintaining the efficiency and flexibility that the IPFS network provides.
Using IPFS
In IPFS, the data is hosted by the required data installation nodes. For data to persist while the user node is offline, users must either rely on their other peers to install their data voluntarily or use a central install service to store data.
Peer-to-peer reliance caching data may be a good thing as one or multiple organizations share common files on an internal network, or where strong social contracts can be used to ensure continued hosting and preservation of content in the long run. Most users in an IPFS network use an installation service.
Using Filecoin
The last option is to install your data in a decentralized storage market, such as Filecoin. In Filecoin’s structure, customers make regular small payments to store data when a certain availability, while miners earn those payments by constantly checking the integrity of this data, storing it, and ensuring its quick recovery. This allows users to motivate Filecoin miners to ensure that their content will be live when it is needed, a distinct advantage of relying only on other network users as required using IPFS alone.
Filecoin, powered by IPFS
It is important to know that Filecoin is built on top of IPFS. Filecoin aims to be a very integrated and seamless storage market that takes advantage of the basic functions provided by IPFS, they are connected to each other, but can be implemented completely independently of each other. Users do not need to interact with Filecoin in order to use IPFS.
Some advantages of sharing Filecoin with IPFS:
Of all the decentralized storage projects, Filecoin is undoubtedly the most interested, and IPFS has been running stably for two years, fully demonstrating the strength of its core protocol.
Filecoin’s ability to obtain market share from traditional central storage depends on end-user experience and storage price. Currently, most Filecoin nodes are posted in the IDC room. Actual deployment and operation costs are not reduced compared to traditional central cloud storage, and the storage process is more complicated.
PoRep and PoSt, which has a large number of proofs of unknown operation, are required to cause the actual storage cost to be so, in the early days of the release of Filecoin. The actual cost of storing data may be higher than the cost of central cloud storage, but the initial storage node may reduce the storage price in order to obtain block rewards, which may result in the actual storage price lower than traditional central cloud storage.
In the long term, Filecoin still needs to take full advantage of its P2P storage, convert storage devices from specialization to civil use, and improve its algorithms to reduce storage costs without affecting user experience. The storage problem is an important problem to be solved in the blockchain field, so a large number of storage projects were presented at the 19th Web3 Summit. IPFS is an important part of Web3 visibility. Its development will affect the development of Web3 to some extent. Likewise, Web3 development somewhat determines the future of IPFS. Filecoin is an IPFS-based storage class project initiated by IPFS. There is no doubt that he is highly expected.
Resources :
  1. https://www.coindesk.com/filecoin-pushes-back-final-testing-phase-announces-calibration-period-for-miners
  2. https://docs.filecoin.io/mine/#types-of-miners https://www.nasdaq.com/articles/inside-the-craze-for-filecoin-crypto-mining-in-china-2020-07-12؟amp
  3. https://www.prnewswire.com/news-releases/qebr-streamlines-holdings-to-concentrate-on-filecoin-development-and-mining-301098731.html
  4. https://www.crowdfundinsider.com/2020/05/161200-filecoin-seeks-to-boost-mining-with-filecoin-discove
  5. https://zephyrnet.com/filecoin-seeks-to-boost-mining-with-filecoin-discove
  6. https://docs.filecoin.io/introduction/ipfs-and-filecoin/#filecoin-powered-by-ipfs
submitted by CoinEx_Institution to filecoin [link] [comments]

FlowCards: A Declarative Framework for Development of Ergo dApps

FlowCards: A Declarative Framework for Development of Ergo dApps
Introduction
ErgoScript is the smart contract language used by the Ergo blockchain. While it has concise syntax adopted from Scala/Kotlin, it still may seem confusing at first because conceptually ErgoScript is quite different compared to conventional languages which we all know and love. This is because Ergo is a UTXO based blockchain, whereas smart contracts are traditionally associated with account based systems like Ethereum. However, Ergo's transaction model has many advantages over the account based model and with the right approach it can even be significantly easier to develop Ergo contracts than to write and debug Solidity code.
Below we will cover the key aspects of the Ergo contract model which makes it different:
Paradigm
The account model of Ethereum is imperative. This means that the typical task of sending coins from Alice to Bob requires changing the balances in storage as a series of operations. Ergo's UTXO based programming model on the other hand is declarative. ErgoScript contracts specify conditions for a transaction to be accepted by the blockchain (not changes to be made in the storage state as result of the contract execution).
Scalability
In the account model of Ethereum both storage changes and validity checks are performed on-chain during code execution. In contrast, Ergo transactions are created off-chain and only validation checks are performed on-chain thus reducing the amount of operations performed by every node on the network. In addition, due to immutability of the transaction graph, various optimization strategies are possible to improve throughput of transactions per second in the network. Light verifying nodes are also possible thus further facilitating scalability and accessibility of the network.
Shared state
The account-based model is reliant on shared mutable state which is known to lead to complex semantics (and subtle million dollar bugs) in the context of concurrent/ distributed computation. Ergo's model is based on an immutable graph of transactions. This approach, inherited from Bitcoin, plays well with the concurrent and distributed nature of blockchains and facilitates light trustless clients.
Expressive Power
Ethereum advocated execution of a turing-complete language on the blockchain. It theoretically promised unlimited potential, however in practice severe limitations came to light from excessive blockchain bloat, subtle multi-million dollar bugs, gas costs which limit contract complexity, and other such problems. Ergo on the flip side extends UTXO to enable turing-completeness while limiting the complexity of the ErgoScript language itself. The same expressive power is achieved in a different and more semantically sound way.
With the all of the above points, it should be clear that there are a lot of benefits to the model Ergo is using. In the rest of this article I will introduce you to the concept of FlowCards - a dApp developer component which allows for designing complex Ergo contracts in a declarative and visual way.
From Imperative to Declarative
In the imperative programming model of Ethereum a transaction is a sequence of operations executed by the Ethereum VM. The following Solidity function implements a transfer of tokens from sender to receiver . The transaction starts when sender calls this function on an instance of a contract and ends when the function returns.
// Sends an amount of existing coins from any caller to an address function send(address receiver, uint amount) public { require(amount <= balances[msg.sender], "Insufficient balance."); balances[msg.sender] -= amount; balances[receiver] += amount; emit Sent(msg.sender, receiver, amount); } 
The function first checks the pre-conditions, then updates the storage (i.e. balances) and finally publishes the post-condition as the Sent event. The gas which is consumed by the transaction is sent to the miner as a reward for executing this transaction.
Unlike Ethereum, a transaction in Ergo is a data structure holding a list of input coins which it spends and a list of output coins which it creates preserving the total balances of ERGs and tokens (in which Ergo is similar to Bitcoin).
Turning back to the example above, since Ergo natively supports tokens, therefore for this specific example of sending tokens we don't need to write any code in ErgoScript. Instead we need to create the ‘send’ transaction shown in the following figure, which describes the same token transfer but declaratively.
https://preview.redd.it/id5kjdgn9tv41.png?width=1348&format=png&auto=webp&s=31b937d7ad0af4afe94f4d023e8c90c97c8aed2e
The picture visually describes the following steps, which the network user needs to perform:
  1. Select unspent sender's boxes, containing in total tB >= amount of tokens and B >= txFee + minErg ERGs.
  2. Create an output target box which is protected by the receiver public key with minErg ERGs and amount of T tokens.
  3. Create one fee output protected by the minerFee contract with txFee ERGs.
  4. Create one change output protected by the sender public key, containing B - minErg - txFee ERGs and tB - amount of T tokens.
  5. Create a new transaction, sign it using the sender's secret key and send to the Ergo network.
What is important to understand here is that all of these steps are preformed off-chain (for example using Appkit Transaction API) by the user's application. Ergo network nodes don't need to repeat this transaction creation process, they only need to validate the already formed transaction. ErgoScript contracts are stored in the inputs of the transaction and check spending conditions. The node executes the contracts on-chain when the transaction is validated. The transaction is valid if all of the conditions are satisfied.
Thus, in Ethereum when we “send amount from sender to recipient” we are literally editing balances and updating the storage with a concrete set of commands. This happens on-chain and thus a new transaction is also created on-chain as the result of this process.
In Ergo (as in Bitcoin) transactions are created off-chain and the network nodes only verify them. The effects of the transaction on the blockchain state is that input coins (or Boxes in Ergo's parlance) are removed and output boxes are added to the UTXO set.
In the example above we don't use an ErgoScript contract but instead assume a signature check is used as the spending pre-condition. However in more complex application scenarios we of course need to use ErgoScript which is what we are going to discuss next.
From Changing State to Checking Context
In the send function example we first checked the pre-condition (require(amount <= balances[msg.sender],...) ) and then changed the state (i.e. update balances balances[msg.sender] -= amount ). This is typical in Ethereum transactions. Before we change anything we need to check if it is valid to do so.
In Ergo, as we discussed previously, the state (i.e. UTXO set of boxes) is changed implicitly when a valid transaction is included in a block. Thus we only need to check the pre-conditions before the transaction can be added to the block. This is what ErgoScript contracts do.
It is not possible to “change the state” in ErgoScript because it is a language to check pre-conditions for spending coins. ErgoScript is a purely functional language without side effects that operates on immutable data values. This means all the inputs, outputs and other transaction parameters available in a script are immutable. This, among other things, makes ErgoScript a very simple language that is easy to learn and safe to use. Similar to Bitcoin, each input box contains a script, which should return the true value in order to 1) allow spending of the box (i.e. removing from the UTXO set) and 2) adding the transaction to the block.
If we are being pedantic, it is therefore incorrect (strictly speaking) to think of ErgoScript as the language of Ergo contracts, because it is the language of propositions (logical predicates, formulas, etc.) which protect boxes from “illegal” spending. Unlike Bitcoin, in Ergo the whole transaction and a part of the current blockchain context is available to every script. Therefore each script may check which outputs are created by the transaction, their ERG and token amounts (we will use this capability in our example DEX contracts), current block number etc.
In ErgoScript you define the conditions of whether changes (i.e. coin spending) are allowed to happen in a given context. This is in contrast to programming the changes imperatively in the code of a contract.
While Ergo's transaction model unlocks a whole range of applications like (DEX, DeFi Apps, LETS, etc), designing contracts as pre-conditions for coin spending (or guarding scripts) directly is not intuitive. In the next sections we will consider a useful graphical notation to design contracts declaratively using FlowCard Diagrams, which is a visual representation of executable components (FlowCards).
FlowCards aim to radically simplify dApp development on the Ergo platform by providing a high-level declarative language, execution runtime, storage format and a graphical notation.
We will start with a high level of diagrams and go down to FlowCard specification.
FlowCard Diagrams
The idea behind FlowCard diagrams is based on the following observations: 1) An Ergo box is immutable and can only be spent in the transaction which uses it as an input. 2) We therefore can draw a flow of boxes through transactions, so that boxes flowing in to the transaction are spent and those flowing out are created and added to the UTXO. 3) A transaction from this perspective is simply a transformer of old boxes to the new ones preserving the balances of ERGs and tokens involved.
The following figure shows the main elements of the Ergo transaction we've already seen previously (now under the name of FlowCard Diagram).
https://preview.redd.it/9kcxl11o9tv41.png?width=1304&format=png&auto=webp&s=378a7f50769292ca94de35ff597dc1a44af56d14
There is a strictly defined meaning (semantics) behind every element of the diagram, so that the diagram is a visual representation (or a view) of the underlying executable component (called FlowCard).
The FlowCard can be used as a reusable component of an Ergo dApp to create and initiate the transaction on the Ergo blockchain. We will discuss this in the coming sections.
Now let's look at the individual pieces of the FlowCard diagram one by one.
  1. Name and Parameters
Each flow card is given a name and a list of typed parameters. This is similar to a template with parameters. In the above figure we can see the Send flow card which has five parameters. The parameters are used in the specification.
  1. Contract Wallet
This is a key element of the flow card. Every box has a guarding script. Often it is the script that checks a signature against a public key. This script is trivial in ErgoScript and is defined like the def pk(pubkey: Address) = { pubkey } template where pubkey is a parameter of the type Address . In the figure, the script template is applied to the parameter pk(sender) and thus a concrete wallet contract is obtained. Therefore pk(sender) and pk(receiver) yield different scripts and represent different wallets on the diagram, even though they use the same template.
Contract Wallet contains a set of all UTXO boxes which have a given script derived from the given script template using flow card parameters. For example, in the figure, the template is pk and parameter pubkey is substituted with the `sender’ flow card parameter.
  1. Contract
Even though a contract is a property of a box, on the diagram we group the boxes by their contracts, therefore it looks like the boxes belong to the contracts, rather than the contracts belong to the boxes. In the example, we have three instantiated contracts pk(sender) , pk(receiver) and minerFee . Note, that pk(sender) is the instantiation of the pk template with the concrete parameter sender and minerFee is the instantiation of the pre-defined contract which protects the miner reward boxes.
  1. Box name
In the diagram we can give each box a name. Besides readability of the diagram, we also use the name as a synonym of a more complex indexed access to the box in the contract. For example, change is the name of the box, which can also be used in the ErgoScript conditions instead of OUTPUTS(2) . We also use box names to associate spending conditions with the boxes.
  1. Boxes in the wallet
In the diagram, we show boxes (darker rectangles) as belonging to the contract wallets (lighter rectangles). Each such box rectangle is connected with a grey transaction rectangle by either orange or green arrows or both. An output box (with an incoming green arrow) may include many lines of text where each line specifies a condition which should be checked as part of the transaction. The first line specifies the condition on the amount of ERG which should be placed in the box. Other lines may take one of the following forms:
  1. amount: TOKEN - the box should contain the given amount of the given TOKEN
  2. R == value - the box should contain the given value of the given register R
  3. boxName ? condition - the box named boxName should check condition in its script.
We discuss these conditions in the sections below.
  1. Amount of ERGs in the box
Each box should store a minimum amount of ERGs. This is checked when the creating transaction is validated. In the diagram the amount of ERGs is always shown as the first line (e.g. B: ERG or B - minErg - txFee ). The value type ascription B: ERG is optional and may be used for readability. When the value is given as a formula, then this formula should be respected by the transaction which creates the box.
It is important to understand that variables like amount and txFee are not named properties of the boxes. They are parameters of the whole diagram and representing some amounts. Or put it another way, they are shared parameters between transactions (e.g. Sell Order and Swap transactions from DEX example below share the tAmt parameter). So the same name is tied to the same value throughout the diagram (this is where the tooling would help a lot). However, when it comes to on-chain validation of those values, only explicit conditions which are marked with ? are transformed to ErgoScript. At the same time, all other conditions are ensured off-chain during transaction building (for example in an application using Appkit API) and transaction validation when it is added to the blockchain.
  1. Amount of T token
A box can store values of many tokens. The tokens on the diagram are named and a value variable may be associated with the token T using value: T expression. The value may be given by formula. If the formula is prefixed with a box name like boxName ? formula , then it is should also be checked in the guarding script of the boxName box. This additional specification is very convenient because 1) it allows to validate the visual design automatically, and 2) the conditions specified in the boxes of a diagram are enough to synthesize the necessary guarding scripts. (more about this below at “From Diagrams To ErgoScript Contracts”)
  1. Tx Inputs
Inputs are connected to the corresponding transaction by orange arrows. An input arrow may have a label of the following forms:
  1. [email protected] - optional name with an index i.e. [email protected] or u/2 . This is a property of the target endpoint of the arrow. The name is used in conditions of related boxes and the index is the position of the corresponding box in the INPUTS collection of the transaction.
  2. !action - is a property of the source of the arrow and gives a name for an alternative spending path of the box (we will see this in DEX example)
Because of alternative spending paths, a box may have many outgoing orange arrows, in which case they should be labeled with different actions.
  1. Transaction
A transaction spends input boxes and creates output boxes. The input boxes are given by the orange arrows and the labels are expected to put inputs at the right indexes in INPUTS collection. The output boxes are given by the green arrows. Each transaction should preserve a strict balance of ERG values (sum of inputs == sum of outputs) and for each token the sum of inputs >= the sum of outputs. The design diagram requires an explicit specification of the ERG and token values for all of the output boxes to avoid implicit errors and ensure better readability.
  1. Tx Outputs
Outputs are connected to the corresponding transaction by green arrows. An output arrow may have a label of the following [email protected] , where an optional name is accompanied with an index i.e. [email protected] or u/2 . This is a property of the source endpoint of the arrow. The name is used in conditions of the related boxes and the index is the position of the corresponding box in the OUTPUTS collection of the transaction.
Example: Decentralized Exchange (DEX)
Now let's use the above described notation to design a FlowCard for a DEX dApp. It is simple enough yet also illustrates all of the key features of FlowCard diagrams which we've introduced in the previous section.
The dApp scenario is shown in the figure below: There are three participants (buyer, seller and DEX) of the DEX dApp and five different transaction types, which are created by participants. The buyer wants to swap ergAmt of ERGs for tAmt of TID tokens (or vice versa, the seller wants to sell TID tokens for ERGs, who sends the order first doesn't matter). Both the buyer and the seller can cancel their orders any time. The DEX off-chain matching service can find matching orders and create the Swap transaction to complete the exchange.
The following diagram fully (and formally) specifies all of the five transactions that must be created off-chain by the DEX dApp. It also specifies all of the spending conditions that should be verified on-chain.

https://preview.redd.it/fnt5f4qp9tv41.png?width=1614&format=png&auto=webp&s=34f145f9a6d622454906857e645def2faba057bd
Let's discuss the FlowCard diagram and the logic of each transaction in details:
Buy Order Transaction
A buyer creates a Buy Order transaction. The transaction spends E amount of ERGs (which we will write E: ERG ) from one or more boxes in the pk(buyer) wallet. The transaction creates a bid box with ergAmt: ERG protected by the buyOrder script. The buyOrder script is synthesized from the specification (see below at “From Diagrams To ErgoScript Contracts”) either manually or automatically by a tool. Even though we don't need to define the buyOrder script explicitly during designing, at run time the bid box should contain the buyOrder script as the guarding proposition (which checks the box spending conditions), otherwise the conditions specified in the diagram will not be checked.
The change box is created to make the input and output sums of the transaction balanced. The transaction fee box is omitted because it can be added automatically by the tools. In practice, however, the designer can add the fee box explicitly to the a diagram. It covers the cases of more complex transactions (like Swap) where there are many ways to pay the transaction fee.
Cancel Buy, Cancel Sell Transactions
At any time, the buyer can cancel the order by sending CancelBuy transaction. The transaction should satisfy the guarding buyOrder contract which protects the bid box. As you can see on the diagram, both the Cancel and the Swap transactions can spend the bid box. When a box has spending alternatives (or spending paths) then each alternative is identified by a unique name prefixed with ! (!cancel and !swap for the bid box). Each alternative path has specific spending conditions. In our example, when the Cancel Buy transaction spends the bid box the ?buyer condition should be satisfied, which we read as “the signature for the buyer address should be presented in the transaction”. Therefore, only buyer can cancel the buy order. This “signature” condition is only required for the !cancel alternative spending path and not required for !swap .
Sell Order Transaction
The Sell Order transaction is similar to the BuyOrder in that it deals with tokens in addition to ERGs. The transaction spends E: ERG and T: TID tokens from seller's wallet (specified as pk(seller) contract). The two outputs are ask and change . The change is a standard box to balance transaction. The ask box keeps tAmt: TID tokens for the exchange and minErg: ERG - the minimum amount of ERGs required in every box.
Swap Transaction
This is a key transaction in the DEX dApp scenario. The transaction has several spending conditions on the input boxes and those conditions are included in the buyOrder and sellOrder scripts (which are verified when the transaction is added to the blockchain). However, on the diagram those conditions are not specified in the bid and ask boxes, they are instead defined in the output boxes of the transaction.
This is a convention for improved usability because most of the conditions relate to the properties of the output boxes. We could specify those properties in the bid box, but then we would have to use more complex expressions.
Let's consider the output created by the arrow labeled with [email protected] . This label tells us that the output is at the index 0 in the OUTPUTS collection of the transaction and that in the diagram we can refer to this box by the buyerOut name. Thus we can label both the box itself and the arrow to give the box a name.
The conditions shown in the buyerOut box have the form bid ? condition , which means they should be verified on-chain in order to spend the bid box. The conditions have the following meaning:
  • tAmt: TID requires the box to have tAmt amount of TID token
  • R4 == bid.id requires R4 register in the box to be equal to id of the bid box.
  • script == buyer requires the buyerOut box to have the script of the wallet where it is located on the diagram, i.e. pk(buyer)
Similar properties are added to the sellerOut box, which is specified to be at index 1 and the name is given to it using the label on the box itself, rather than on the arrow.
The Swap transaction spends two boxes bid and ask using the !swap spending path on both, however unlike !cancel the conditions on the path are not specified. This is where the bid ? and ask ? prefixes come into play. They are used so that the conditions listed in the buyerOut and sellerOut boxes are moved to the !swap spending path of the bid and ask boxes correspondingly.
If you look at the conditions of the output boxes, you will see that they exactly specify the swap of values between seller's and buyer's wallets. The buyer gets the necessary amount of TID token and seller gets the corresponding amount of ERGs. The Swap transaction is created when there are two matching boxes with buyOrder and sellOrder contracts.
From Diagrams To ErgoScript Contracts
What is interesting about FlowCard specifications is that we can use them to automatically generate the necessary ErgoTree scripts. With the appropriate tooling support this can be done automatically, but with the lack of thereof, it can be done manually. Thus, the FlowCard allows us to capture and visually represent all of the design choices and semantic details of an Ergo dApp.
What we are going to do next is to mechanically create the buyOrder contract from the information given in the DEX flow card.
Recall that each script is a proposition (boolean valued expression) which should evaluate to true to allow spending of the box. When we have many conditions to be met at the same time we can combine them in a logical formula using the AND binary operation, and if we have alternatives (not necessarily exclusive) we can put them into the OR operation.
The buyOrder box has the alternative spending paths !cancel and !swap . Thus the ErgoScript code should have OR operation with two arguments - one for each spending path.
/** buyOrder contract */ { val cancelCondition = {} val swapCondition = {} cancelCondition || swapCondition } 
The formula for the cancelCondition expression is given in the !cancel spending path of the buyOrder box. We can directly include it in the script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = {} cancelCondition || swapCondition } 
For the !swap spending path of the buyOrder box the conditions are specified in the buyerOut output box of the Swap transaction. If we simply include them in the swapCondition then we get a syntactically incorrect script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = { tAmt: TID && R4 == bid.id && @contract } cancelCondition || swapCondition } 
We can however translate the conditions from the diagram syntax to ErgoScript expressions using the following simple rules
  1. [email protected] ==> val buyerOut = OUTPUTS(0)
  2. tAmt: TID ==> tid._2 == tAmt where tid = buyerOut.tokens(TID)
  3. R4 == bid.id ==> R4 == SELF.id where R4 = buyerOut.R4[Coll[Byte]].get
  4. script == buyer ==> buyerOut.propositionBytes == buyer.propBytes
Note, in the diagram TID represents a token id, but ErgoScript doesn't have access to the tokens by the ids so we cannot write tokens.getByKey(TID) . For this reason, when the diagram is translated into ErgoScript, TID becomes a named constant of the index in tokens collection of the box. The concrete value of the constant is assigned when the BuyOrder transaction with the buyOrder box is created. The correspondence and consistency between the actual tokenId, the TID constant and the actual tokens of the buyerOut box is ensured by the off-chain application code, which is completely possible since all of the transactions are created by the application using FlowCard as a guiding specification. This may sound too complicated, but this is part of the translation from diagram specification to actual executable application code, most of which can be automated.
After the transformation we can obtain a correct script which checks all the required preconditions for spending the buyOrder box.
/** buyOrder contract */ def DEX(buyer: Addrss, seller: Address, TID: Int, ergAmt: Long, tAmt: Long) { val cancelCondition: SigmaProp = { buyer } // verify buyer's sig (ProveDlog) val swapCondition = OUTPUTS.size > 0 && { // securing OUTPUTS access val buyerOut = OUTPUTS(0) // from [email protected] buyerOut.tokens.size > TID && { // securing tokens access val tid = buyerOut.tokens(TID) val regR4 = buyerOut.R4[Coll[Byte]] regR4.isDefined && { // securing R4 access val R4 = regR4.get tid._2 == tAmt && // from tAmt: TID R4 == SELF.id && // from R4 == bid.id buyerOut.propositionBytes == buyer.propBytes // from script == buyer } } } cancelCondition || swapCondition } 
A similar script for the sellOrder box can be obtained using the same translation rules. With the help of the tooling the code of contracts can be mechanically generated from the diagram specification.
Conclusions
Declarative programming models have already won the battle against imperative programming in many application domains like Big Data, Stream Processing, Deep Learning, Databases, etc. Ergo is pioneering the declarative model of dApp development as a better and safer alternative to the now popular imperative model of smart contracts.
The concept of FlowCard shifts the focus from writing ErgoScript contracts to the overall flow of values (hence the name), in such a way, that ErgoScript can always be generated from them. You will never need to look at the ErgoScript code once the tooling is in place.
Here are the possible next steps for future work:
  1. Storage format for FlowCard Spec and the corresponding EIP standardized file format (Json/XML/Protobuf). This will allow various tools (Diagram Editor, Runtime, dApps etc) to create and use *.flowcard files.
  2. FlowCard Viewer, which can generate the diagrams from *.flowcard files.
  3. FlowCard Runtime, which can run *.flowcard files, create and send transactions to Ergo network.
  4. FlowCard Designer Tool, which can simplify development of complex diagrams . This will make designing and validation of Ergo contracts a pleasant experience, more like drawing rather than coding. In addition, the correctness of the whole dApp scenario can be verified and controlled by the tooling.
submitted by Guilty_Pea to CryptoCurrencies [link] [comments]

FlowCards: A Declarative Framework for Development of Ergo dApps

FlowCards: A Declarative Framework for Development of Ergo dApps
Introduction
ErgoScript is the smart contract language used by the Ergo blockchain. While it has concise syntax adopted from Scala/Kotlin, it still may seem confusing at first because conceptually ErgoScript is quite different compared to conventional languages which we all know and love. This is because Ergo is a UTXO based blockchain, whereas smart contracts are traditionally associated with account based systems like Ethereum. However, Ergo's transaction model has many advantages over the account based model and with the right approach it can even be significantly easier to develop Ergo contracts than to write and debug Solidity code.
Below we will cover the key aspects of the Ergo contract model which makes it different:
Paradigm
The account model of Ethereum is imperative. This means that the typical task of sending coins from Alice to Bob requires changing the balances in storage as a series of operations. Ergo's UTXO based programming model on the other hand is declarative. ErgoScript contracts specify conditions for a transaction to be accepted by the blockchain (not changes to be made in the storage state as result of the contract execution).
Scalability
In the account model of Ethereum both storage changes and validity checks are performed on-chain during code execution. In contrast, Ergo transactions are created off-chain and only validation checks are performed on-chain thus reducing the amount of operations performed by every node on the network. In addition, due to immutability of the transaction graph, various optimization strategies are possible to improve throughput of transactions per second in the network. Light verifying nodes are also possible thus further facilitating scalability and accessibility of the network.
Shared state
The account-based model is reliant on shared mutable state which is known to lead to complex semantics (and subtle million dollar bugs) in the context of concurrent/ distributed computation. Ergo's model is based on an immutable graph of transactions. This approach, inherited from Bitcoin, plays well with the concurrent and distributed nature of blockchains and facilitates light trustless clients.
Expressive Power
Ethereum advocated execution of a turing-complete language on the blockchain. It theoretically promised unlimited potential, however in practice severe limitations came to light from excessive blockchain bloat, subtle multi-million dollar bugs, gas costs which limit contract complexity, and other such problems. Ergo on the flip side extends UTXO to enable turing-completeness while limiting the complexity of the ErgoScript language itself. The same expressive power is achieved in a different and more semantically sound way.
With the all of the above points, it should be clear that there are a lot of benefits to the model Ergo is using. In the rest of this article I will introduce you to the concept of FlowCards - a dApp developer component which allows for designing complex Ergo contracts in a declarative and visual way.

From Imperative to Declarative

In the imperative programming model of Ethereum a transaction is a sequence of operations executed by the Ethereum VM. The following Solidity function implements a transfer of tokens from sender to receiver . The transaction starts when sender calls this function on an instance of a contract and ends when the function returns.
// Sends an amount of existing coins from any caller to an address function send(address receiver, uint amount) public { require(amount <= balances[msg.sender], "Insufficient balance."); balances[msg.sender] -= amount; balances[receiver] += amount; emit Sent(msg.sender, receiver, amount); } 
The function first checks the pre-conditions, then updates the storage (i.e. balances) and finally publishes the post-condition as the Sent event. The gas which is consumed by the transaction is sent to the miner as a reward for executing this transaction.
Unlike Ethereum, a transaction in Ergo is a data structure holding a list of input coins which it spends and a list of output coins which it creates preserving the total balances of ERGs and tokens (in which Ergo is similar to Bitcoin).
Turning back to the example above, since Ergo natively supports tokens, therefore for this specific example of sending tokens we don't need to write any code in ErgoScript. Instead we need to create the ‘send’ transaction shown in the following figure, which describes the same token transfer but declaratively.
https://preview.redd.it/sxs3kesvrsv41.png?width=1348&format=png&auto=webp&s=582382bc26912ff79114d831d937d94b6988e69f
The picture visually describes the following steps, which the network user needs to perform:
  1. Select unspent sender's boxes, containing in total tB >= amount of tokens and B >= txFee + minErg ERGs.
  2. Create an output target box which is protected by the receiver public key with minErg ERGs and amount of T tokens.
  3. Create one fee output protected by the minerFee contract with txFee ERGs.
  4. Create one change output protected by the sender public key, containing B - minErg - txFee ERGs and tB - amount of T tokens.
  5. Create a new transaction, sign it using the sender's secret key and send to the Ergo network.
What is important to understand here is that all of these steps are preformed off-chain (for example using Appkit Transaction API) by the user's application. Ergo network nodes don't need to repeat this transaction creation process, they only need to validate the already formed transaction. ErgoScript contracts are stored in the inputs of the transaction and check spending conditions. The node executes the contracts on-chain when the transaction is validated. The transaction is valid if all of the conditions are satisfied.
Thus, in Ethereum when we “send amount from sender to recipient” we are literally editing balances and updating the storage with a concrete set of commands. This happens on-chain and thus a new transaction is also created on-chain as the result of this process.
In Ergo (as in Bitcoin) transactions are created off-chain and the network nodes only verify them. The effects of the transaction on the blockchain state is that input coins (or Boxes in Ergo's parlance) are removed and output boxes are added to the UTXO set.
In the example above we don't use an ErgoScript contract but instead assume a signature check is used as the spending pre-condition. However in more complex application scenarios we of course need to use ErgoScript which is what we are going to discuss next.

From Changing State to Checking Context

In the send function example we first checked the pre-condition (require(amount <= balances[msg.sender],...) ) and then changed the state (i.e. update balances balances[msg.sender] -= amount ). This is typical in Ethereum transactions. Before we change anything we need to check if it is valid to do so.
In Ergo, as we discussed previously, the state (i.e. UTXO set of boxes) is changed implicitly when a valid transaction is included in a block. Thus we only need to check the pre-conditions before the transaction can be added to the block. This is what ErgoScript contracts do.
It is not possible to “change the state” in ErgoScript because it is a language to check pre-conditions for spending coins. ErgoScript is a purely functional language without side effects that operates on immutable data values. This means all the inputs, outputs and other transaction parameters available in a script are immutable. This, among other things, makes ErgoScript a very simple language that is easy to learn and safe to use. Similar to Bitcoin, each input box contains a script, which should return the true value in order to 1) allow spending of the box (i.e. removing from the UTXO set) and 2) adding the transaction to the block.
If we are being pedantic, it is therefore incorrect (strictly speaking) to think of ErgoScript as the language of Ergo contracts, because it is the language of propositions (logical predicates, formulas, etc.) which protect boxes from “illegal” spending. Unlike Bitcoin, in Ergo the whole transaction and a part of the current blockchain context is available to every script. Therefore each script may check which outputs are created by the transaction, their ERG and token amounts (we will use this capability in our example DEX contracts), current block number etc.
In ErgoScript you define the conditions of whether changes (i.e. coin spending) are allowed to happen in a given context. This is in contrast to programming the changes imperatively in the code of a contract.
While Ergo's transaction model unlocks a whole range of applications like (DEX, DeFi Apps, LETS, etc), designing contracts as pre-conditions for coin spending (or guarding scripts) directly is not intuitive. In the next sections we will consider a useful graphical notation to design contracts declaratively using FlowCard Diagrams, which is a visual representation of executable components (FlowCards).
FlowCards aim to radically simplify dApp development on the Ergo platform by providing a high-level declarative language, execution runtime, storage format and a graphical notation.
We will start with a high level of diagrams and go down to FlowCard specification.

FlowCard Diagrams

The idea behind FlowCard diagrams is based on the following observations: 1) An Ergo box is immutable and can only be spent in the transaction which uses it as an input. 2) We therefore can draw a flow of boxes through transactions, so that boxes flowing in to the transaction are spent and those flowing out are created and added to the UTXO. 3) A transaction from this perspective is simply a transformer of old boxes to the new ones preserving the balances of ERGs and tokens involved.
The following figure shows the main elements of the Ergo transaction we've already seen previously (now under the name of FlowCard Diagram).
https://preview.redd.it/06aqkcd1ssv41.png?width=1304&format=png&auto=webp&s=106eda730e0526919aabd5af9596b97e45b69777
There is a strictly defined meaning (semantics) behind every element of the diagram, so that the diagram is a visual representation (or a view) of the underlying executable component (called FlowCard).
The FlowCard can be used as a reusable component of an Ergo dApp to create and initiate the transaction on the Ergo blockchain. We will discuss this in the coming sections.
Now let's look at the individual pieces of the FlowCard diagram one by one.
1. Name and Parameters
Each flow card is given a name and a list of typed parameters. This is similar to a template with parameters. In the above figure we can see the Send flow card which has five parameters. The parameters are used in the specification.
2. Contract Wallet
This is a key element of the flow card. Every box has a guarding script. Often it is the script that checks a signature against a public key. This script is trivial in ErgoScript and is defined like the def pk(pubkey: Address) = { pubkey } template where pubkey is a parameter of the type Address . In the figure, the script template is applied to the parameter pk(sender) and thus a concrete wallet contract is obtained. Therefore pk(sender) and pk(receiver) yield different scripts and represent different wallets on the diagram, even though they use the same template.
Contract Wallet contains a set of all UTXO boxes which have a given script derived from the given script template using flow card parameters. For example, in the figure, the template is pk and parameter pubkey is substituted with the `sender’ flow card parameter.
3. Contract
Even though a contract is a property of a box, on the diagram we group the boxes by their contracts, therefore it looks like the boxes belong to the contracts, rather than the contracts belong to the boxes. In the example, we have three instantiated contracts pk(sender) , pk(receiver) and minerFee . Note, that pk(sender) is the instantiation of the pk template with the concrete parameter sender and minerFee is the instantiation of the pre-defined contract which protects the miner reward boxes.
4. Box name
In the diagram we can give each box a name. Besides readability of the diagram, we also use the name as a synonym of a more complex indexed access to the box in the contract. For example, change is the name of the box, which can also be used in the ErgoScript conditions instead of OUTPUTS(2) . We also use box names to associate spending conditions with the boxes.
5. Boxes in the wallet
In the diagram, we show boxes (darker rectangles) as belonging to the contract wallets (lighter rectangles). Each such box rectangle is connected with a grey transaction rectangle by either orange or green arrows or both. An output box (with an incoming green arrow) may include many lines of text where each line specifies a condition which should be checked as part of the transaction. The first line specifies the condition on the amount of ERG which should be placed in the box. Other lines may take one of the following forms:
  1. amount: TOKEN - the box should contain the given amount of the given TOKEN
  2. R == value - the box should contain the given value of the given register R
  3. boxName ? condition - the box named boxName should check condition in its script.
We discuss these conditions in the sections below.
6. Amount of ERGs in the box
Each box should store a minimum amount of ERGs. This is checked when the creating transaction is validated. In the diagram the amount of ERGs is always shown as the first line (e.g. B: ERG or B - minErg - txFee ). The value type ascription B: ERG is optional and may be used for readability. When the value is given as a formula, then this formula should be respected by the transaction which creates the box.
It is important to understand that variables like amount and txFee are not named properties of the boxes. They are parameters of the whole diagram and representing some amounts. Or put it another way, they are shared parameters between transactions (e.g. Sell Order and Swap transactions from DEX example below share the tAmt parameter). So the same name is tied to the same value throughout the diagram (this is where the tooling would help a lot). However, when it comes to on-chain validation of those values, only explicit conditions which are marked with ? are transformed to ErgoScript. At the same time, all other conditions are ensured off-chain during transaction building (for example in an application using Appkit API) and transaction validation when it is added to the blockchain.
7. Amount of T token
A box can store values of many tokens. The tokens on the diagram are named and a value variable may be associated with the token T using value: T expression. The value may be given by formula. If the formula is prefixed with a box name like boxName ? formula , then it is should also be checked in the guarding script of the boxName box. This additional specification is very convenient because 1) it allows to validate the visual design automatically, and 2) the conditions specified in the boxes of a diagram are enough to synthesize the necessary guarding scripts. (more about this below at “From Diagrams To ErgoScript Contracts”)
8. Tx Inputs
Inputs are connected to the corresponding transaction by orange arrows. An input arrow may have a label of the following forms:
  1. [email protected] - optional name with an index i.e. [email protected] or u/2 . This is a property of the target endpoint of the arrow. The name is used in conditions of related boxes and the index is the position of the corresponding box in the INPUTS collection of the transaction.
  2. !action - is a property of the source of the arrow and gives a name for an alternative spending path of the box (we will see this in DEX example)
Because of alternative spending paths, a box may have many outgoing orange arrows, in which case they should be labeled with different actions.
9. Transaction
A transaction spends input boxes and creates output boxes. The input boxes are given by the orange arrows and the labels are expected to put inputs at the right indexes in INPUTS collection. The output boxes are given by the green arrows. Each transaction should preserve a strict balance of ERG values (sum of inputs == sum of outputs) and for each token the sum of inputs >= the sum of outputs. The design diagram requires an explicit specification of the ERG and token values for all of the output boxes to avoid implicit errors and ensure better readability.
10. Tx Outputs
Outputs are connected to the corresponding transaction by green arrows. An output arrow may have a label of the following [email protected] , where an optional name is accompanied with an index i.e. [email protected] or u/2 . This is a property of the source endpoint of the arrow. The name is used in conditions of the related boxes and the index is the position of the corresponding box in the OUTPUTS collection of the transaction.

Example: Decentralized Exchange (DEX)

Now let's use the above described notation to design a FlowCard for a DEX dApp. It is simple enough yet also illustrates all of the key features of FlowCard diagrams which we've introduced in the previous section.
The dApp scenario is shown in the figure below: There are three participants (buyer, seller and DEX) of the DEX dApp and five different transaction types, which are created by participants. The buyer wants to swap ergAmt of ERGs for tAmt of TID tokens (or vice versa, the seller wants to sell TID tokens for ERGs, who sends the order first doesn't matter). Both the buyer and the seller can cancel their orders any time. The DEX off-chain matching service can find matching orders and create the Swap transaction to complete the exchange.
The following diagram fully (and formally) specifies all of the five transactions that must be created off-chain by the DEX dApp. It also specifies all of the spending conditions that should be verified on-chain.

https://preview.redd.it/piogz0v9ssv41.png?width=1614&format=png&auto=webp&s=e1b503a635ad3d138ef91e2f0c3b726e78958646
Let's discuss the FlowCard diagram and the logic of each transaction in details:
Buy Order Transaction
A buyer creates a Buy Order transaction. The transaction spends E amount of ERGs (which we will write E: ERG ) from one or more boxes in the pk(buyer) wallet. The transaction creates a bid box with ergAmt: ERG protected by the buyOrder script. The buyOrder script is synthesized from the specification (see below at “From Diagrams To ErgoScript Contracts”) either manually or automatically by a tool. Even though we don't need to define the buyOrder script explicitly during designing, at run time the bid box should contain the buyOrder script as the guarding proposition (which checks the box spending conditions), otherwise the conditions specified in the diagram will not be checked.
The change box is created to make the input and output sums of the transaction balanced. The transaction fee box is omitted because it can be added automatically by the tools. In practice, however, the designer can add the fee box explicitly to the a diagram. It covers the cases of more complex transactions (like Swap) where there are many ways to pay the transaction fee.
Cancel Buy, Cancel Sell Transactions
At any time, the buyer can cancel the order by sending CancelBuy transaction. The transaction should satisfy the guarding buyOrder contract which protects the bid box. As you can see on the diagram, both the Cancel and the Swap transactions can spend the bid box. When a box has spending alternatives (or spending paths) then each alternative is identified by a unique name prefixed with ! (!cancel and !swap for the bid box). Each alternative path has specific spending conditions. In our example, when the Cancel Buy transaction spends the bid box the ?buyer condition should be satisfied, which we read as “the signature for the buyer address should be presented in the transaction”. Therefore, only buyer can cancel the buy order. This “signature” condition is only required for the !cancel alternative spending path and not required for !swap .
Sell Order Transaction
The Sell Order transaction is similar to the BuyOrder in that it deals with tokens in addition to ERGs. The transaction spends E: ERG and T: TID tokens from seller's wallet (specified as pk(seller) contract). The two outputs are ask and change . The change is a standard box to balance transaction. The ask box keeps tAmt: TID tokens for the exchange and minErg: ERG - the minimum amount of ERGs required in every box.
Swap Transaction
This is a key transaction in the DEX dApp scenario. The transaction has several spending conditions on the input boxes and those conditions are included in the buyOrder and sellOrder scripts (which are verified when the transaction is added to the blockchain). However, on the diagram those conditions are not specified in the bid and ask boxes, they are instead defined in the output boxes of the transaction.
This is a convention for improved usability because most of the conditions relate to the properties of the output boxes. We could specify those properties in the bid box, but then we would have to use more complex expressions.
Let's consider the output created by the arrow labeled with [email protected] . This label tells us that the output is at the index 0 in the OUTPUTS collection of the transaction and that in the diagram we can refer to this box by the buyerOut name. Thus we can label both the box itself and the arrow to give the box a name.
The conditions shown in the buyerOut box have the form bid ? condition , which means they should be verified on-chain in order to spend the bid box. The conditions have the following meaning:
  • tAmt: TID requires the box to have tAmt amount of TID token
  • R4 == bid.id requires R4 register in the box to be equal to id of the bid box.
  • script == buyer requires the buyerOut box to have the script of the wallet where it is located on the diagram, i.e. pk(buyer)
Similar properties are added to the sellerOut box, which is specified to be at index 1 and the name is given to it using the label on the box itself, rather than on the arrow.
The Swap transaction spends two boxes bid and ask using the !swap spending path on both, however unlike !cancel the conditions on the path are not specified. This is where the bid ? and ask ? prefixes come into play. They are used so that the conditions listed in the buyerOut and sellerOut boxes are moved to the !swap spending path of the bid and ask boxes correspondingly.
If you look at the conditions of the output boxes, you will see that they exactly specify the swap of values between seller's and buyer's wallets. The buyer gets the necessary amount of TID token and seller gets the corresponding amount of ERGs. The Swap transaction is created when there are two matching boxes with buyOrder and sellOrder contracts.

From Diagrams To ErgoScript Contracts

What is interesting about FlowCard specifications is that we can use them to automatically generate the necessary ErgoTree scripts. With the appropriate tooling support this can be done automatically, but with the lack of thereof, it can be done manually. Thus, the FlowCard allows us to capture and visually represent all of the design choices and semantic details of an Ergo dApp.
What we are going to do next is to mechanically create the buyOrder contract from the information given in the DEX flow card.
Recall that each script is a proposition (boolean valued expression) which should evaluate to true to allow spending of the box. When we have many conditions to be met at the same time we can combine them in a logical formula using the AND binary operation, and if we have alternatives (not necessarily exclusive) we can put them into the OR operation.
The buyOrder box has the alternative spending paths !cancel and !swap . Thus the ErgoScript code should have OR operation with two arguments - one for each spending path.
/** buyOrder contract */ { val cancelCondition = {} val swapCondition = {} cancelCondition || swapCondition } 
The formula for the cancelCondition expression is given in the !cancel spending path of the buyOrder box. We can directly include it in the script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = {} cancelCondition || swapCondition } 
For the !swap spending path of the buyOrder box the conditions are specified in the buyerOut output box of the Swap transaction. If we simply include them in the swapCondition then we get a syntactically incorrect script.
/** buyOrder contract */ { val cancelCondition = { buyer } val swapCondition = { tAmt: TID && R4 == bid.id && @contract } cancelCondition || swapCondition } 
We can however translate the conditions from the diagram syntax to ErgoScript expressions using the following simple rules
  1. [email protected] ==> val buyerOut = OUTPUTS(0)
  2. tAmt: TID ==> tid._2 == tAmt where tid = buyerOut.tokens(TID)
  3. R4 == bid.id ==> R4 == SELF.id where R4 = buyerOut.R4[Coll[Byte]].get
  4. script == buyer ==> buyerOut.propositionBytes == buyer.propBytes
Note, in the diagram TID represents a token id, but ErgoScript doesn't have access to the tokens by the ids so we cannot write tokens.getByKey(TID) . For this reason, when the diagram is translated into ErgoScript, TID becomes a named constant of the index in tokens collection of the box. The concrete value of the constant is assigned when the BuyOrder transaction with the buyOrder box is created. The correspondence and consistency between the actual tokenId, the TID constant and the actual tokens of the buyerOut box is ensured by the off-chain application code, which is completely possible since all of the transactions are created by the application using FlowCard as a guiding specification. This may sound too complicated, but this is part of the translation from diagram specification to actual executable application code, most of which can be automated.
After the transformation we can obtain a correct script which checks all the required preconditions for spending the buyOrder box.
/** buyOrder contract */ def DEX(buyer: Addrss, seller: Address, TID: Int, ergAmt: Long, tAmt: Long) { val cancelCondition: SigmaProp = { buyer } // verify buyer's sig (ProveDlog) val swapCondition = OUTPUTS.size > 0 && { // securing OUTPUTS access val buyerOut = OUTPUTS(0) // from [email protected] buyerOut.tokens.size > TID && { // securing tokens access val tid = buyerOut.tokens(TID) val regR4 = buyerOut.R4[Coll[Byte]] regR4.isDefined && { // securing R4 access val R4 = regR4.get tid._2 == tAmt && // from tAmt: TID R4 == SELF.id && // from R4 == bid.id buyerOut.propositionBytes == buyer.propBytes // from script == buyer } } } cancelCondition || swapCondition } 
A similar script for the sellOrder box can be obtained using the same translation rules. With the help of the tooling the code of contracts can be mechanically generated from the diagram specification.

Conclusions

Declarative programming models have already won the battle against imperative programming in many application domains like Big Data, Stream Processing, Deep Learning, Databases, etc. Ergo is pioneering the declarative model of dApp development as a better and safer alternative to the now popular imperative model of smart contracts.
The concept of FlowCard shifts the focus from writing ErgoScript contracts to the overall flow of values (hence the name), in such a way, that ErgoScript can always be generated from them. You will never need to look at the ErgoScript code once the tooling is in place.
Here are the possible next steps for future work:
  1. Storage format for FlowCard Spec and the corresponding EIP standardized file format (Json/XML/Protobuf). This will allow various tools (Diagram Editor, Runtime, dApps etc) to create and use *.flowcard files.
  2. FlowCard Viewer, which can generate the diagrams from *.flowcard files.
  3. FlowCard Runtime, which can run *.flowcard files, create and send transactions to Ergo network.
  4. FlowCard Designer Tool, which can simplify development of complex diagrams . This will make designing and validation of Ergo contracts a pleasant experience, more like drawing rather than coding. In addition, the correctness of the whole dApp scenario can be verified and controlled by the tooling.
submitted by eleanorcwhite to btc [link] [comments]

Blockchain Technology in Stock Exchange

Blockchain Technology in Stock Exchange
https://preview.redd.it/gl5x4j3hg1351.jpg?width=2400&format=pjpg&auto=webp&s=9eca4a55c76edf1e394b6fe1270daa1032417221
Will blockchain technology be the most significant disruption of the last three centuries in the stock market industry? Well, Norbert Biedrzycki -Head of Services CEE at Microsoft says so, and so does blockchain council. Blockchain technology has been able to significantly change the dynamics of money, supply chain management, finance, record keeping, and more. Along with supporting crypto-currencies such as bitcoin and ethereum, it can revolutionize both the storage and transmission of financial data around the globe and stock trading marketplaces.
While Tokyo Stock Exchange and Nasdaq have unveiled the use of blockchain in its core trading infrastructure, India's Securities Exchange Board, among others, is researching its feasibility in fundraising, post-trade settlement, and asset management.
Learning of the blog

  • What is blockchain technology?
  • How is it useful to the stock market?
  • Advantages that it brings
  • Early accessors
  • Future Scope
What Is Blockchain Technology?
Blockchain is a database innovation that provides a shared public register where all parties can track and encrypt transactions. This register consists of nodes, and each node is a computer that follows the protocol. Blocks are public, but its contents can be protected by cryptography. A new block is added every time a token transaction is confirmed. There are private blockchains in which access is by permission only, and in-house nodes verify the transactions. On the other hand, public blockchains, as you must have guessed, are open access. Another type is permissioned public blockchains that retain the volunteer verification but has restricted access.
If you want to know more about blockchain, you can check out this blockchain course!
How Is It Useful To The Stock Market?
The stock market is a mammoth creature with very high inertia. Blockchain technology can prove fruitful in clearing and settlement alongside securing automation of the post-trade process. It can speed by the settlement of trades and subtly go about stock exchanges with the help of automation and decentralization.
According to a Blockchain in Capital market's report, "IT and operations expenditure in capital markets is currently close to $100-150 billion per year among banks". Blockchain can reduce extra commission costs by eliminating the third party regulator as the blockchain network does the needful. Thus, it can answer trust, interoperability, and transparency issues.
Advantages that it brings
The advantages that blockchain technology brings along are:

  1. Decentralization: As the system is distributive, money is not present at one node.
  2. Transparency: As technology is in public eyes, it brings in trust.
  3. Cost Reduction: Since there are no intermediaries, the cost gets reduced.
  4. Security: Blockchain can act as an automatic surveillance system, and the valuation of securities deposited can be done daily.
  5. Less time: The transactions are quick, as there is no duplication of the process.
  6. High Liquidity: Blockchain reduces ineffectiveness with the help of automation, ultimately bringing in more investment.
Early accessors
The New- York-based firm Nasdaq which operates at the junction of finance and technology, was one of the first to adopt bitcoin technology, thus advocating the demand of blockchain professionals. It now enables investors to harness blockchain's power by securely navigating financial markets at an international level. To register all transactions in real-time, Nasdaq Stockholm and the Swedish bank SEB started testing blockchain.
The London Stock Exchange Group, in collaboration with IBM, is testing a blockchain platform to fully digitize trades in the shares of medium and small-sized enterprises. Apart from this, the NYSE and Deutsche Borse would be evaluating the feasibility and advantages of the technology soon.
Future Scope
Due to less testing, there are some scalability issues with blockchain, so to disrupt the operations of the stock market, it can take up to ten years, but it does have the potential to transform companies and the society. It is a great investment opportunity because of its ability to tackle data fragmentation, insider trading, data loss, reconciliation, and ticket matching problems.
Thus. Blockchain technology can bring about the widespread upset in automated market surveillance and post-trade event processing.
submitted by Blockchain_org to BlockchainStartups [link] [comments]

Request to help understand text in sidebar --> header

Hello,I run a bot on /cryptocurrency which pulls price data from an API every so often, and then puts that price data in an ordered list in the sidebasubreddit settings, and also generates an image that gets uploaded to the css page. Recently the API I was using shutdown and the bot kind of erased more text from the subreddit settings than I know how to fix now (someone else did the CSS originally who isn't around to help fix it now).
Here is the text that is inserted into the sidebar:
1. **Bitcoin (BTC) - $166.51B - $9120.63** 2. **Ethereum (ETH) - $26.75B - $243.24** 3. **XRP (XRP) - $10.68B - $0.24** 4. **Bitcoin Cash (BCH) - $6.38B - $348.57** 5. **Tether (USDT) - $4.66B - $1.00** 6. **Bitcoin SV (BSV) - $4.47B - $244.17** 7. **Litecoin (LTC) - $4.04B - $62.83** 8. **EOS (EOS) - $3.52B - $3.82** 9. **Binance Coin (BNB) - $3.28B - $21.11** 10. **Tezos (XTZ) - $2.20B - $3.12** 
And here is what I think is at least the most relevant part of the CSS:
.side .md > ul + ol::before { content: "Top 10 market cap currencies"; position: absolute; bottom: 100%; margin-bottom: 5px; left: 50%; transform: translateX(-50%); font-size: 12px; line-height: 24px; letter-spacing: .05em; color: #333; font-weight: 500; pointer-events: none; text-transform: uppercase; white-space: nowrap; width: 290px; text-align: center; } .side .md > ul + ol li::before { content: ""; display: block; width: 24px; height: 24px; background: url(%%crypto-top10%%) no-repeat; background-size: 24px 240px; background-position: 0 0; opacity: 1; -webkit-transition: .3s ease; -moz-transition: .3s ease; -o-transition: .3s ease; transition: .3s ease; } 
So, I think it's looking for the text "Top 10 market cap currencies" in an element with a parent of ".side .md" and comes after an unordered list but before an ordered list item. I've tried some things like:
* Top 10 market cap currencies 1. **Bitcoin (BTC) - $166.51B - $9120.63** 2. **Ethereum (ETH) - $26.75B - $243.24** 3. **XRP (XRP) - $10.68B - $0.24** 4. **Bitcoin Cash (BCH) - $6.38B - $348.57** 5. **Tether (USDT) - $4.66B - $1.00** 6. **Bitcoin SV (BSV) - $4.47B - $244.17** 7. **Litecoin (LTC) - $4.04B - $62.83** 8. **EOS (EOS) - $3.52B - $3.82** 9. **Binance Coin (BNB) - $3.28B - $21.11** 10. **Tezos (XTZ) - $2.20B - $3.12** 
but I'm unable to get it displaying in the header like it's supposed to (it's just shown in the sidebar as text). I know the CSS hasn't changed, so it's just like the formatting isn't quite right in the sidebasubreddit settings for what the CSS is "looking for".

Any help would be greatly appreciated!
submitted by jwinterm to csshelp [link] [comments]

7 Technologies that will Bloom in 2020

7 Technologies that will Bloom in 2020
Isn’t it fascinating how technology is influencing the various sectors of the market? Ever since the advent of digitalization, the fundamentals of industries began to change for the better. One of the main reasons behind the drastic changes in the operation of industries is user needs and competitiveness.
To sustain in today’s competitive marketplace, it has become quintessential for every industry to utilize innovative technologies that make their solution more powerful. Even big companies like Facebook, Amazon and Google are investing valiantly in the latest technological trends like Blockchain technology, Big Data and AI for enhancing the user experience.
It is visible that technology is not changing but transforming at a great pace. There are exponential innovations in the world of business. It is estimated that over 1 billion people will use AVR in the year 2021 and IoT could be worth $20 trillion in the coming years. This makes it clear that universal digital transformation is not far away.
Here is a closer look at the technology trends that will bring considerable innovation the next year and in the coming decade.

1) Artificial Intelligence:

Artificial Intelligence or AI has already created a lot of buzz in the past few years, and it will surely be a trend to watch as its effects on our day-to-day life are still in the early stages. Machine Intelligence or Artificial Intelligence is a modern approach, which can be defined as the simulation of human intelligence processes by a computer system. These processes include the acquisition of information and rules for using the information system, reasoning i.e. using rules to reach approximate conclusions and self-correction.
Presently, AI services are being used in navigation apps, smartphone personal assistants, streaming services, ride-sharing apps, home personal assistants, smart home devices, in one or the other way. In addition to consumer use, AI is used to assess business risk, predict maintenance, schedule trains and improve energy efficiency.
In a recent survey, McKinsey has stated that AI adoption could increase the global GDP by as much as $13 trillion by 2030. Moreover, AI is predicted to create 23 million job opportunities by the end of the year 2020. Job opportunities are likely to be created in the field of development, programming, testing, support and maintenance, to name a few. And, in the next decade, we are sure to witness AIs that don’t require any human intervention to grow smarter.

Artificial Intelligence-Direct & Enabled Revenue-2014 to 2025 (USD Million)
Image Credit: Grand View Research

2) Mobile Commerce:

Mobile Commerce is now emerging from big brands to startups. In fact, everyone around the globe is embracing Mobile Commerce. Ever since the launch of smartphones, mobile commerce has become a crucial part of personal and professional lives. Simply put M-commerce entails the e-commerce transactions done using the mobile phone. Mobile commerce utilizes e-commerce background and WAP technology. Wireless technology (WAP) is utilized to conduct sales of goods, make payments, provide services and perform other financial transactions.
Reasons Why Mobile Commerce is Rising at Rapid Rate
Image Source: Peerbits
With over 80% of internet users owning a smartphone, retail m-commerce sales are expected to increase from 74.8% to 85.5% until 2025. Mobile commerce is expected to outpace non-mobile commerce in 2021. Undoubtedly, m-commerce is the rising star of the e-commerce world, however, there are few more innovations in the e-commerce industry, which will make the e-commerce industry more sustainable.
By understanding m-commerce and keeping tabs on where it’s going, business owners put themselves in the best position to take advantage of what all m-commerce has to offer.

3) 5G Mobile Network:

5G technology was the talk of CES this year and by the start of the year 2020, 5G will be the driving factor in wireless technology. It will benefit users with features like lower latency, higher capacities and for sure faster internet speed. With 5G, automation and technological advancements in cities and remote areas will certainly expand.
Along with the 5G mobile network, there will be development and implementation of WiFi 6. These technologies will make the operation of driverless-cars easy by offering real-time data. Moreover, the 5G system is going to offer facilities like drones for home delivery.
It is expected that 5G can cover up to 65 percent of the world’s population in 2024. According to the recent stats, 5G subscriptions for enhanced mobile broadband could increase to 1.9 billion by the end of 2024. In India, 5G subscriptions are expected to become available in 2022 and could rise. In US, service providers have already launched commercial 5G services, both for mobile and fixed wireless access. By the end of 2024, 5G subscriptions are expected to rise to 270 million, which will account for more than 60% of mobile subscriptions.
Here are the improvements that 5G will bring
Image Source: Digital Trends

4) Robotic Process Automation or RPA:

Like Machine Learning and AI, Robotic Process Automation is another technology that is automating jobs. RPA is the use of software to automate business processes such as interpreting applications, dealing with data, processing transactions and even replying to emails.

Features of Robotic Process Automation
Image Source: Digitals Fren
Robotic Process Automation automates the repetitive tasks that people used to do. Not only the menial tasks of the low-paid worker but the work of doctors, financial managers and CEOs can be automated using RPA. Although researchers estimate that RPA poses the risk to the livelihood of 9 percent of the global workplace. There are chances that RPA might create new jobs while altering existing jobs.
Rapid growth in the e-commerce industry is a crucial factor that adds to the growth of Robotic Process Automation market. Online sales in the USA are expected to double by 2025 and are likely to contribute to 30-35% of the overall retail sector.
For IT professionals who want to remain aligned with the technology trends, RPA offers plenty of career opportunities, including project manager, business analyst, solution architect, developer and consultant.

5) Blockchain

Although most people think of blockchain technology as cryptocurrencies such as Bitcoin, blockchain also offers security that is useful in many other ways. In simple terms, blockchain can be described as data that you can only add, not change or take away. Hence, the term “chain” is being used, because you are making a chain of data. What makes blockchain secure is the fact that previous blocks cannot be changed. Also, blockchain is consensus-driven, which means no single entity can take control of the data.

Expected Increase in Enterprise Blockchain Market from 2019 to 2024
Image Source: Document Media
Several industries are implementing blockchain and as the use of blockchain technology is increasing, the demand for skilled professionals will also increase. According to Techcrunch.com, blockchain-related jobs are the second-fastest growing category of jobs, hence creating a wide number of job opportunities. So, if you are planning to make a career in the fast-growing industry and intrigued by Blockchain, then you must consider learning blockchain and gear up for an exciting future.

6) Machine Learning:

Machine Learning is an application of computer programs that is capable of making decisions, making algorithms and generating outputs without any human involvement. Hailed as one of the significant and impactful technological developments that we have seen in recent times, machine learning has already helped us to perform key-real world calculations.

Machine Learning Explained
Supply chain technology vendors are incorporating machine learning into their applications, helping the solutions to understand changing circumstances.
Here is how machine learning will help companies in improving their performance:
  • Machine learning will aid companies in developing applications that are capable of understanding natural human language.
  • Efficiency of logistics and transport networks would be enhanced with Machine Learning
  • It helps companies utilize preventive care for reducing gear failures and raise profits.
  • With machine learning, companies can take customer information to boost sales, construct useful clients and enhance brand loyalty.
Machine learning has become the most crucial technology to work in the future. AI-driven applications, combined with machine learning will help businesses in increasing efficiency, enhancing customer relations and increase earnings.
Researchers estimate that machine learning has the capacity to put in $2.6 trillion in value into the advertising and sales sector by 2020. In the recent report of Univa, it has stated that Machine Learning is predicted to skyrocket in the coming 5 years with 96% of companies expecting to use it for the production projects.

7) Chatbots:

Chatbots enable businesses to answer customer service inquiries of all types answered at any time of the day, from anywhere and even on holidays when customer support staff is not available. Earlier, we have covered what are chatbots and what are the benefits offered by chatbots. Today, we are bringing into your notice how chatbots will be evolving in the coming years.
Chatbots have the ability to interact with customers bias-free. Moreover, chatbots synthesize metadata, AI-based applications and hence easily personalize the customer experience.
According to the recent stats by Global Market Insights, the overall market size for chatbots worldwide would be over $1.3 billion by 2024. Hence, it would not be wrong to say that the chatbot industry is sure to become a driving force of business communications. With technological advancement, bots will become more intelligent to understand the intent of the queries and conversations.

Benefits of Chatbots for Business
Image Source: Litslink
To remain aligned with customer expectations, businesses are now focussed on creating chatbots with the help of Machine Learning, Artificial Intelligence and Natural Language Processing (NLP). Chatbots with a more conversational AI will:
· Improve the user experience with user brand and hence aid in building brand presence.
· Deliver personalized customer experience to build better relationships.
· Positively affect customer’s perception and help you build satisfied customer base.
So, this was all about the trends that will be evolving in 2020
For more such updates, stay tuned!
submitted by Graffersid14 to u/Graffersid14 [link] [comments]

Blockchain Powered Mobility by Oaken Innovations and Toyota Research Institute Price Discovery, Block Size Caps, & Fractional Reserve... Bitcoins? Chat w/ Justus Ranvier How the blockchain will radically transform the economy ... Bitcoin Sidechains & SPV Proofs Bitcoin Q&A: Lightning Network scaling

Others are looking to leverage the bitcoin blockchains size and liquidity to create “spin-off” coins on so called sidechains that can be “colored” to represent any asset or liability, physical or digital – a corporate stock or bond, a barrel of oil, a bar of gold, a car, a car payment, a receivable or a payable, or of course a currency. Sidechains are blockchains that have different ... Before Bitcoin Core 0.12, 50 KB of each block would be reserved for these high-priority transactions, however this is now set to 0 KB by default. After the priority area, all transactions are prioritized based on their fee per byte, with higher-paying transactions being added in sequence until all of the available space is filled. Though the obvious solution would be to increase the block size limit, which is exactly what hard-forked coins like Bitcoin Cash (BSV) and Bitcoin SV (BSV) have done. Bitcoin itself (BTC) has resisted this change due to the fact that a blockchain that is too large cannot be stored by anybody, but would require specialized servers dedicated to the task. This would in turn limit the ability to ... BlockFi, a cryptocurrency lender and financial services company, announced today that it had raised $50 million in Series C funding led by Morgan Creek Digital. This is obvious in the ongoing debate about changing the bitcoin block size, or in fixing the DAO attack against Ethereum. There’s always a need to override the rules, and there’s always a ...

[index] [41142] [15986] [50438] [28001] [28800] [35486] [14028] [33414] [32318] [9435]

Blockchain Powered Mobility by Oaken Innovations and Toyota Research Institute

"Bitcoin is not just a minor incremental change, it's not a payments network. Bitcoin is one of the most fundamental transformations on the basis of money," he said. Sample a few minutes from one of Skillsoft's microlearning courses from the Digital Transformation Collection. In the full course, you'll learn about the tru... Bitcoin 101 - Merkle Roots and Merkle Trees - Bitcoin Coding and Software - The Block Header - Duration: ... How the blockchain is changing money and business Don Tapscott - Duration: 18:50. TED ... Price Discovery, Block Size Caps, & Fractional Reserve... Bitcoins? Chat w/ Justus Ranvier ... How the blockchain is changing money and business Don Tapscott - Duration: 18:50. TED 2,240,418 ... Bitcoin Price Prediction 2020: What's the Bitcoin Future? Best Cryptocurrency Market Binance https://www.binance.com/?ref=25992167 Litecoin Donation Lge5Eqd4...

#