Middleware & on-chain Services

Devcon 1 · November 2015 · 58:30

George Hallam moderates a Devcon 1 panel on Ethereum middleware and onchain services with Roman Mandeleil, Piper Merriam, Christian Lundkvist, Joseph Chow and Nikolai Mushegian. The panelists discuss the services and libraries that sit between applications and the blockchain, and what developers need from them.

Speakers

Topics

From Devcon 1, hosted by Ethereum Foundation.

Transcript

Um yeah, so this is the the middleware and on-chain services panel. Uh we've got a a great sort of brain trust uh on the panel today. We've got uh Christian Lundkvist as a crypto financial engineer and decentralization generalist at ConsenSys. Uh we've got Roman Mandycz uh founder and lead developer of EtherCamp uh and also lead developer of the Ethereum Java client. We've got Joseph Chow, who is the lead developer of the BTC relay, which we we should have from earlier uh yesterday. Uh and uh Nik- Nikolai Muchgian or sorry, no. Uh Pi- Piper Merriam, uh senior software developer at QuickLeft uh and uh the developer of the Ethereum alarm clock, which many of you may have used. And finally uh Nikolai Muchgian, who is the lead developer at uh MakerDAO

and also CEO of Nexus Developments. Um so first of all, I've given you a a very brief introduction, but if you could maybe go uh from starting with Chris, uh give a bit more in-depth information about, you know, what you're working on Ethereum and what you do. Thank you, George. Yeah, so my name is Christian Lundkvist. I work at ConsenSys uh on various projects. So um one project is is of course uh uPort, the digital identity project that I presented about. And some other projects include uh Balance 3. This is a triple entry accounting system.

Uh also have been working on lower-level components like the uh light wallet. It's an hierarchical deterministic wallet that can be used in the browser. Um also uh TransActive Grid. It's an energy uh related project where participants in a an energy grid can can transmit energy tokens between each other. Um so, yeah, lots of cool stuff.

Um my name is Roman Mandeleil. I implemented the Java implementation of Ethereum. And uh now we're working in Ether Camp on the tools for developers to make Ethereum development easy, smart contracts easy, uh more understandable. it was actually the talk I I did in the morning. And uh what I didn't have time to announce and I have time now.

You remember You remember this. And yeah, yeah, it's kind of important. It's hug.ether.camp. I I think you should try it and and check what we're trying to do there because this kind of uh thing connects the idea of points that you get on the blockchain and also a connection between developers that doing stuff. So, we believe it's important and uh I I I guess I I have I will have more time more uh um more time to comment on on different stuff on this panel.

I'm True Bitcoiner. I uh yeah, implemented this BTC relay. I gave a talk about yesterday, but basically it's a smaller version of the Bitcoin blockchain in an Ethereum contract that can be used to verify Bitcoin transactions. And it's a key part to uh being able to build a trustless way to get uh Bitcoin and Ether swap. So, if someone wants to buy um some Ether just using Bitcoins, it's a trustless way to do that. So, BTC Relay is a first part to it.

Uh my name is Piper Merriam, and I am the author of the Ethereum Alarm Clock. Uh it's uh is a marketplace for contracts or people to schedule uh contract function calls at a specified time in the future. Um aims to be a trustless um service on the blockchain. Uh my name is Nikolai. Uh most of you probably know me as the lead developer of Maker. Um I was also introduced as CEO of Nexus. What that is is uh we basically started creating enough valuable stuff that we wanted to capitalize on it sooner so that we can get done sooner. And to do that, so we needed to create a traditional company so that we can interface with the real world. Um but that's still separate from

Maker, which is its own independent decentralized organization. Great. Um and yeah, I'm the external relations director of Ethereum. I work very closely with a lot of the community. I've I've met a lot of you before online, and it's uh it's great to see you all here. Um so, to start with the the questions of the panel, um I think a good one we we've talked a lot today about some of the technical side of of Ethereum. So, what I'd like to ask is uh what are the non-technical challenges associated uh with, you know, building on-chain services on top of Ethereum? Like, beyond beyond the actual the technology itself.

Um start with maybe Chris. Uh sure. So, I think one of the interesting things uh about um about the blockchain is that in order to have a uh public blockchain, you have to have uh a kind of an economic protection. This also relates to what uh uh what Vlad was talking about when he when he described uh Casper. So, so you often have systems where uh, you want it to be up and running, but you need an economic incentive for for people to use it. And and so, I

think so both both Joseph and Piper's projects are are examples of this where where you have you have a system that, you know, you need to design technically, but then you also need to design the economic models that will cause that system to to work as intended. So, maybe uh, maybe Joseph can follow up. Sure, yeah. Yeah, one of the main challenges, less of a technical nature, is the yeah, the crypto economics of the system.

And yeah, being able to incentivize the community to do certain things. Because this code is trustless and fully decentralized, so it's just out there. And and it can't operate on its own without outside interaction. So, you have to be able to find a reasonable way to incentivize the community. And it's a tricky challenge, and it's part of the overall Ethereum experiment that we'll have to see how how well we can create um, plans for incentives to use the actual system.

I think I can actually add to that a little bit. Um, one of the tricky parts is currently is coming up with a I guess a fee schedule or a whatever you want to call it that incentive that motivizes motivates the outside actor to to do the thing you want them to. Um and I don't think anybody in this room can say with any certainty what one ether is actually going to be worth in a year or 10 years. And so fixing coming up with reasonable prices is uh that that will stand the test of time is is non-trivial right now.

So Piper, maybe you can describe the your alarm clock service and and how the this uh economic considerations fit into that? Sure. Um it's a interesting problem and I do not claim to have it fully solved, but that's why I'm iterating on it. Uh so essentially any person or contract can essentially schedule a function call um that is actually created as its own standalone contract and then what the alarm service does is it essentially sets up a marketplace where somebody on the outside of the network can monitor and see that there is a call

scheduled to that wants to be executed soon. Um and when the time comes, uh initiate that transaction, it flows through the alarm service, executes the call, and they get paid some amount. And essentially it's figuring out what is that amount that makes sense for them to get paid. Is it one ether? Is it a percentage of the gas costs? Is it uh an open marketplace that allows people to specify whatever prices uh they would like. Um so some of those economic incentives are are I don't want to say unsolved problems, but I don't think we'll know if they're solved until we start seeing a lot of traction and user ship on these

sort of services. One thing I'd like to add Yes, you can go. Go ahead. Oh, okay. Is um yes, so the previous talk, one of the earlier talks was just with with Simon and he was mentioning about tokens. So, definitely tokens is going to be interesting in this part. Right now neither of us are implementing tokens, but tokens was one of this one of the plans that we we did consider. And just to throw out this idea out there, there's there's there's two variations.

So, one is that one one is that the let's say that the the one who helps the service gets gets some tokens. And then the one who uses the service, they would get charged those tokens. That's a basic um that's a basic system. So, they they might people who help the alarm clock, they'll get alarm clock tokens and if you want to use the alarm clock you have to spend alarm clock tokens.

That's a simple one, but one one interesting idea that I do want to mention out there though, because other people might have ideas as well is So, you still give out your your contract tokens for the people who help the service, but then for the people who use it, you may be able to charge them actual ether. And then that actual ether just goes into a pool. And then all the people who have your contract tokens, they can cash out and then get a percentage of those actual ether that's in that pool.

So, right now if there's only like two people who are helping the alarm clock service or something and they both own 50% of the tokens, then then uh whoever gets what whenever fees are starting to be generated, once one of them catches out, they'll get 50% of the ether fees at that time. But maybe if they think things are going to still grow in the future, they might actually just hold on to those tokens. It gets a little similar to Bitcoin and I think it's quite an interesting idea because it rewards the early users quite a bit.

It might be very easy right now to get those um contract tokens. And in the future, if the middleware service gets used a lot, then there could be a lot of fees generated to reward the early early helpers of the community. I think this is a general question of what gives a value to any token and maybe I'll comment I I want to add that we we see in the old altcoin market that only speculation does not give value for a long term, right? Because you remember this time when there was a thousands of altcoins coming out each day and nobody from them survived.

So, in Ethereum, we have very easy way now to create a decentralized token, right? We just need to find a good way to tie it to a service that's going to be valuable for user. And this will give I believe so. Yeah, I believe in this model. Uh that this will give value to a token and does it does not matter uh how the token is going to be distributed. It it it may be can can help or harm a little bit, but this is not the main value giver here.

Um I think Augur is the only one who did it by now to to give a value for real token on on Ethereum on Ethereum chain. And I I do believe we are going to see very soon in in close months more more services like this I don't know if I I I mentioned a hug.ether.camp so it can be an option for this service. Okay, cool. Thank Brilliant.

Um so you guys move on to another question. Um there there are some concerns about centralization risk with with middleware and with on-chain services. Um what are your thoughts as individuals in terms of you know mitigating those issues and and and I mean sure there might be some instances where we need centralization. There's no other way. But what what are your what are your thoughts on mitigating that? I'll start with uh Joseph. Oh, sorry. Yeah. Uh about centralization? Yeah. How do we mitigate it? How do we mitigate it?

Yeah, so I think Yeah, yeah, I saw the question and it's To to me it seems a little less less of an issue with these uh fully decentralized middleware services because they're they're all if they're they're trustless. So if they're trustless, then you don't really mind if everyone is using the same contract to let's say get, you know, in in my case I provide like Bitcoin block headers and proof, you know, proofs that that uh Bitcoin transactions. So to me it doesn't seem seem that of an issue.

Sure. Piper. I think that there's a that there's a kind of a line that falls between the services that we can use the term trustless for and services that are not necessarily entirely trustless. Um I've thought about my service a lot and the conclusion that I come to repeatedly is that whether or not it's alarm clock or something else, um if it's an on-chain service for doing the thing that alarm clock does, it is more powerful and more secure the more people who are using it.

I don't think that that rule applies for everything out there. I think there will be things that function very well with many little individual pods doing them. I think the risk comes when there is a very fundamental service on-chain that is not open, that is not trustless, and that does grant the power to some for-profit entity to make arbitrary changes to it, at which point we have rebuilt of the current model of the internet, which Yeah, I think it's I think it's important to note that on Ethereum, it's

you have the ability to create the whole spectrum of applications from fully trustless, which which is what Joseph Piper and and and also parts of Maker has this property, but also you can have a fully administered smart contract that's that's controlled by by a central party. And and it's interesting because you can have a a continuum of this. So, you can have a let's say a smart contract that needs say a quorum of voters to vote on changes. So, that's,

you know, not really fully trusted, but still community-based, or you can have something like a centrally controlled contract where you have a a time limit, so that if I say I control it, I can say I'm going to make a change. It's written in the contract that this change is going to take 2 weeks. And if any of the users don't like it, they can, you know, they can move, they can take their ether out.

And so, that you know, leaves me still in control, but there are there are limits. I just want to say like a practical example of this is Maker is going to depend heavily on price feeds, which are great example of pretty much something that pretty much has to be centralized for now. That's what we There's no fast decentralized Oracle solutions that exist. But we Yeah, we we use the same strategy. It's like the Maker coin or shareholders are like the admins. They have full admin rights, but they have a time delay.

And the only, you know, it's in their best interest to get the best, you know, the best new feeds into their into their system. No one No one's going to abandon the system when they see a change a positive change like that. And then the And then if there's a negative change where it's supposed they wanted to replace it with only one price feed that they controlled, that gives everyone time to to exit the system. And so, I think Yeah, we're going to see this pattern where Oh, there's no trustless solution yet. Uh so, we're not trustless, but then we can plug it in and lock ourselves out. And then we're fully trustless also. Yeah, it's it's a great example. And And Roman, you you also have a price feed.

During We don't have price feed as as an example of what possible to be to be done, but I want to to to touch this question very in general form and because we have this decentralization movement for a good reasons, because we have seen a lot of damage done by central government, central finance institutions. And I believe we will see more damage over next time. But there is people that kind of losing the point and trying to eliminate the entrepreneur from his uh Yeah, because you need somebody to develop the service. You want somebody to deliver more features, right?

So, it's kind of your interest. Not every service uh if somebody standing in the middle and care to develop more about the service, he he's evil, right? Sometimes I see that people don't see this uh uh this difference. This was my point to to contribute. One one other thing. I think that I completely agree. Like nobody's going to build these things for free, or at least nobody's going to build all of them for free. Um alarm clock pays me when you use it. You can kind of now choose what you want to pay me, but um so, it's not like these things get developed for free. Um

what I what I hope is that we land in a world where where one we still don't have to explicitly or that trust that under the hood it does what we want it to. There we can look and see that there's a built-in time delay that if that that you can't just pull it out from under me, that you that that I at least get to see it coming and and and bail if I don't want to be part of it. and similarly the the model of, you know, sort of delegating the okay, I want to you know, I'm going to maybe put a name registration in front of my contract so that people can upgrade, but I'm going to not give myself any control over that.

I'm going to let a multi-sig of like seven trusted community members be the be the voting body for that. So, um there's it's a spectrum and there's intermediate steps. agree with the spectrum. I think the solution, if you're talking about solutions, uh I I do think uh the rules should be set up front, right? So, if I build a service and you step into my shop, right? If you're trying to speak in and I say, "No, I control everything. I I should I should tell it, right? And I I should tell you have right to do this, this, and that. And okay, we are on blockchain, everything is transparent.

And I'm so not saying that I'm doing this business, but maybe somebody will. Uh but but these rules should be set and should be very very clear. And uh it can be done. It's not even, right? It's not even. It's It's just transparency and and uh mutual agreement between people. Which potentially brings up the point that we can choose to not use services who won't post their source code. That I would encourage everybody in this room to rigorously advocate for open your source and show us what it does. Because without that you're just operating in the same model that when you log into Facebook, you don't know if they're showing you negative things to see how it affects your mood.

So yeah, I guess that that's a really interesting point, You're seeing a lot of new services being developed on top of Ethereum. It's very difficult to know whether you can trust that service. What do you think the community or several perhaps groups together could do to help users understand as to whether or not a smart contract or an on-chain service will do what it says on the tin. Um does anyone have any answers for that? So I think what Piper was saying is is vitally important to have the source code available. And I think we can utilize on-chain services like registries and and

dapp stores perhaps that can bundle together everything related to the to the dapp and perhaps tie the uh the the source code and also the front-end code. Uh maybe put it on a content-addressed storage system like like IPFS or swarm and then anchor that that hash in in the blockchain. So, I think it's extremely powerful in in terms of a secure delivery system for for you know, not just apps but applications in general to

have this you know, trusted database the blockchain all the all the updates from the developers automatically signed because it is on the blockchain. And we also have you know, the the hash of of everything in the app checked automatically. So, Different. To add to that, you know, we we don't have all of the tools right now to like have the entire thing packaged up, but we've heard multiple talks this week so far already on on those things are coming. So, we're going to

have immutable applications or fully verifiable applications, but that doesn't actually immediately help the end user and I think that you're going to see a business model show up here I you know, right now the internet's full of little stamps that people put on their website that say how secure they are and they're all utterly meaningless or at least almost all of them are and those don't have to be meaningless in the Ethereum world. There will be trusted verifiers that do truly audit and and check and see that things are do what they say they do and I can absolutely see companies paying for that

service and those things actually having meaning whereas rather than being empty. Yeah, I think I think this might actually be an opportunity for people who are making like Mist or or a competitor to Mist is if you also maintain like a database of formally verified contracts and the UI's that go with them. I think maybe the browser or the wallet / browser creators or the or the people who are going to push that forward. If you look I think one of Alex Van de Sande's early demonstrations of you know what he was looking to do with Mist I think he had a traffic light system so in the top left corner there would be sort of a red orange green color associated with the application dependent on you know maybe different groups have audited it those

groups themselves could have reputation and dependent on their reputation in the community you could give different weights to how those those applications are sort of viewed and it makes it very easy for for average users to be able to understand as to whether or not a smart contract is is is safe or not. Yeah, go ahead women. You have spoken most of the time about technological progress but there should be some moral and political progress because we didn't see it yet we don't have enough experience about totally free market not uncontrolled and cannot be controlled and decentralized without any central authority it's it's it's uh it's kind of look like a mess but uh

it will be worked out because we we are talking about mutual agreement right? So we just need to to study how the disputes are solved maybe with arbiters set up front or something like this but we just really didn't see enough legitimate markets coming out in this space and operating over over time and and building value to see how how decentralized we just wish right? This movement of decentralization always talking about okay how how this should work how this is the only way it should work. But but we just don't don't have experience yet

to say okay, in this case you do this and that and in this case you you take a lower and then you do this and that, okay? And how the contract I'm talking about contract between people, right? Not not the not the blockchain contract, right? How this contract should be set without central authority because if you looking now in any you know in on the jurisdiction system, any contract somehow assumed that you are going to court in some when when the problem arrives. So we are not working this way, right? We want something else and we just need to you know, it's it's not a technological problem. It's more a philosophical, political problem and that I believe the community will work it out it needs some

time. Sure. Anything else you guys like to add on that? Um so another interesting thing I guess Vitalik's definition of a blockchain is something along the lines of they'll you'll always be able to view the current and all previous states of of the blockchain itself. Now that comes with some really positive attributes but also as well there could be potentially an impact on privacy. Um do you see privacy as a challenge when you are building Ethereum on chain services? Um Chris Gethard.

Uh yes, very much so. it is currently very hard to uh to have private transactions on any current blockchain. from what I hear Zcash is soon coming out and that will kind of be the high watermark for for private transactions but unless we have that level of um ZK-SNARKs and and and advanced math, it's th- this this remains a big problem. And and it's it's come up in in a lot of the discussions that that consensus has

with um people who say, "You know, this blockchain stuff is great. I I really want to use it, but you know, all my competitors can see my transactions, and and what are we going to do about that?" So, I think there is it it's a challenge. There there might be ways of obfuscating transactions, but it but that is all all often a a trade-off that the user has to do work, uh etc. So, yeah, I think this is this is one of the the big challenges.

Uh and and Piper? I'm really hoping to see it's something that I've put a lot of thought into, but just don't have the bandwidth to start into. Um I'm really hoping to see transaction obfuscation with very low overhead show up as an on-chain service in a utterly trusted manner. Um the ability to send transactions anonymously, effectively, uh on Ethereum would be a pretty powerful tool to handle one type of privacy, which is I don't want Amazon tracking everything that I buy.

Um but the other type of privacy, obfuscating, you know, I we want to do on-chain identity, but I don't necessarily want to put my email address on there in the public because of whatever privacy reasons. And there's a lot of hand-waving about you know, encrypted blobs of data, and we put them on IPFS, and we, you know, let so-and-so read them, but there there's a lot of unsolved problems there and and it is it is not a trivial problem to solve. I think we're totally up for it, but it's hard. There's things you can't build right now.

Anyone else got anything to add on that? Well, I was talking about decentralization. Always when touching privacy I I I I I always trying to say that the privacy should be by choice. Because user definitely have something to be rewarded by putting his identity out there. Because we want to get to this world when your reputation from Airbnb can be moved to Uber, can be used in taking a loan, taking a credit, and something like this. So, we need to find a way like not radically that nobody knows what's going on. It's a completely completely

I would say there there is no people there like sometimes people talking about this and they just want to eliminate the people like completely. So, I don't think we really want this. We we want people to to make their choices. And I I think in in some way in Bitcoin world it is possible. Right? Because if you don't want people to know about your account that it is your account you can do it. And now what do people say? Yeah, but we can track you and we can do that. There is there is way to go around this, right? And we know this.

So, also in on Ethereum. But we are talking about next next wave of blockchain applications. And there identity and reputation is going to be very valuable. So, what is the reputation? Reputation is a historical tracking of value trading. This is the exact definition of reputation, right? This is what give you the reputation. And you want tracking. So, if you say no, I don't want to put my identity there, so how we track your reputation how you gain your reputation. So, we need to remember this trade-off here. It's there. Yeah.

Uh I I think there's there's also a case of uh selective disclosure. So, maybe my whole history's not on the blockchain, but it's it can be Yeah, like I can use anonymous identifiers at each trade, and then when I want to select selectively disclose to someone, I can I can tie those together through digital signatures. So, that that might be an another another way.

Uh you choose who It's security. It's not you You should not give it to anybody, but you give it to everybody, right? Yeah, like something like this. For sure. So, that's a really interesting topic in itself, and I think definitely something worth discussing is there isn't really uh I mean, I think consensus is looking at some interesting things in terms of reputation. Um but perhaps, you know, what are your ideas and how what reputation should look like on the Ethereum blockchain? Um and and and how do you think that would change the way that your your services that you've created how will that help people interact with that once the reputation is is is solved?

Who wants to start? Well, I think that the key Yeah. I think Okay. Uh Nick Nickolaj, you want to go first? Well, what I was going to say is What I was going to say is I I actually I I thought about this a lot, and the conclusion I keep coming to is that talking about reputation like a metric with one number just doesn't make sense. It's too contextual, and it you you can't just one number. Like, your your reputation is 100. That doesn't make sense. You have to have a Yeah, okay. Uh that's all I wanted to say. Yeah, I For anybody who who doesn't follow exactly what that means.

Right now, when you look around at things like reputations and ratings, you know, each movie has a single number associated with it. All of those things, there's this like global number that we pretend that we can prescribe to how good a movie is or or whatever else we want to rate. And I completely agree with this that that that that rating does not it's contextual. It's contextual about who your friends are, who your social community is, where you live. All of those things can play into the context of determining how trustable you are because trust is not a global trust reputation, whatever you want to call it, all these different metrics,

but there's no single number because my friends can trust me more than other strangers in all kinds of things because the chances that I'll misbehave with other strangers are higher than with people that are in my close community. So, trust is very much a function of context. Yeah, that's right. I absolutely agree with this. It's not a number, it's a set of numbers. So, it's a set of numbers and everybody reacts differently to the set of numbers. Yeah, like if I have I don't know, I save five kitties, so I have five in my reputation in the kitty section. So, somebody will say, "Hey, this is great guy. He saved kitties." I

say, "No, I hate cats, right?" So, maybe he's not so good. So, this is the idea. The idea is you keep the history of doing value in some way, but people really take it differently. There will be there will be like a popular reputation functions. So, like each individual user chooses how they interpret the data, but there's a couple of ones that are pretty good for many cases. Yeah, yeah, Simon was touching this on the previous day talk and really standards. We need problem is that we need to talk and we need standards. We need to see how this reputation moves between the daps.

too complex for the current like limits of of the blockchain right now. The I'm speaking outside of my level of expertise, but the the math involved in doing those contextual computations is likely above the 5 million gas limit to that we're currently limited by. So chances are this is something that's going to have to evolve over time as the network speeds up and hopefully we achieve, you know, that that scaling promise.

The problem is that we don't have enough services that will operate over time and know that it's kind of a limited to services how they and the people using the services how they want to move the reputation from place to place. It's also touching on the question of agreements between the service and the guy who get the service. So we just need time to see these services being mature operate over time and then sharing this information because the infrastructure is there, right? But we just need to study how it operates for real.

This actually makes me think of an interesting point which is that the more trustless stuff we build the less data we have for reputation. Oh yeah, absolutely. People are paying data price on I I think though It's possible yet definitely that we'll have yeah middle wear services that are trustless and they don't they don't care on the input side who sends it input. So right now I think at least the BTC relay doesn't care who who sends it headers and probably same thing with the alarm clock doesn't care whoever is um triggering calls for other contracts.

So So there's also a a an interesting aspect of of crypto-economics, which is um how to build system that is independent of reputation. And so I I think reputation will play play a huge role, but there there's also um mechanisms like security bonds, etc., that that can give a um a rational incentive to to some unknown individual to to act in a certain way.

So so that's kind of the you know, how to deal with entities without reputation. But but yeah, I I agree that reputation is a is a big thing. And I think um I believe So Chris Christopher Allen said that we we want to own our own identities, but we don't necessarily own our reputation. It's It's given to us in in the context that that we that we exist in. And so that that also relates to to moving reputation from one service to another. And you know, that might be

that probably makes sense for for similar services, but others might be too far away to to move. I guess it gets interesting as well if uh reputation has a value, can you buy and sell reputation, um and your things like that. I think uh I like the idea of you having many many metrics, which all contribute to a reputation score, and depending on the environment or the situation, the metrics have different weights. Uh that that that that can work pretty well. Um so we've we talked a lot yesterday about scalability, um you know, working towards uh greater transactional volume.

that that that sort of thing. We talked about Vitalik's uh sharding and then you know how how Ethereum's going to grow in the future. Um have you guys put thoughts into, you know, how your services that you've created, how they will change, what they will become as Ethereum uh begins to start scaling in a in a in a big way? Um do you want to take that first, Roman? Well, I think Ethereum was developed in a very interesting way. It was a It was nine POC. It was nine proof of concept that was following. So, all the ideas and all what you see now came out from the field from from going and trying and going back to the to the blueprints and see how we can change it.

So, I think this is the best way to do stuff. To go and iterate and iterate. I believe it's not new. It's It's already been proven um by people doing successful uh successful startups. I think all these ideas that Vitalik and Vlad and and Greg are talking about, we need simulations. We need uh we need proof of concepts. We need to see how it works. Uh and then see if if it really proven mathematically. So, it's the only way we can really see this this stuff works and can be adopted because now it works. We don't want to harm it, right?

We we want to see how we move from point A from point to point B safely, right? So, maybe this is my my answer. But, the current gas limit is a is sort of a good metric for where that limit shows itself. Um it's really easy to write a contract that takes up 3 million gas just to deploy it. Um it's a big contract, but it's an easy limit to hit. and and similarly it limits how much you can do in one step. Um so a lot of those scaling issues are theoretically going to open up some you know increase that ceiling by some

amount which will increase the overall ceiling for how big apps can be. On some level right now there is a artificial ceiling that you can actually hit pretty easily even when you divide most of your code out into um into libraries and deploy your code separately and essentially deploy a shell contract that calls library functions. You can still hit that pi million gas limit pretty quickly. So companies and entities who are building middle you know they're not that complex but they're complex in terms of the example contracts that we see all the time and that sort of thing. So it's very easy to find your way to that pi million gas limit right now and that's

one of the ways that the scaling problem shows itself. I think I think that right now um there's not really any way to deliberately make your contracts future-proof against like design decisions related to scaling. So they're either going to do it in a way where it's perfectly seamless and the sharding works really well and all your current contracts can keep running with no problem in which case no one is affected or it looks sort of more like a you know main chain side chain type deal even though you have shards in which case you better hope your profit per transaction is very high or else you're going to be squeezed out.

I think the biggest risk there is is data feeds. Like how are you going to pay to get continuous data onto the blockchain once the cost per transaction is really high. Yeah but by the way the price will set down to pay one ether per day because we every other we have the price will stand each day means so it will sort of estimation. I don't remember it's it's it's around assets there. If I if I remember correct, this gives sort of estimation how how how much does it cost? We we okay with this right? We can we can hold it for for some time.

I I think we have mechanism to decide about the block block size of the in terms of gas. Nobody trying to to change this, right? We can vote on this. It's it's a minor vote to increase or decrease this this limit. And I do agree I can use bigger larger gas limit per block. We we we we won't hit in this limit with some of our contracts and did some restructuring. So, if this is kind of issue, let's do it. Let's vote on this like people who who has miners who who mine stuff, maybe we should talk on talk about this and and see and and try to see if this mechanism really works because it's built in into the Joseph?

And another point about yeah, the scaling issue is really yeah, upgradeability and of contracts. So, again, since these are fully decentralized, once we've deployed it, even we we don't the original developers don't even have ability to change it. So, if there are issues, we really have to design it in certain ways so that we can have a new contract that will still implement what we want. But there's a lot of challenges with this future proofing and upgradeability of contracts. One of the best practices we heard in the morning earlier was exposing your data so that you could definitely have

contracts that you can create and in a way provide an upgrade for that. And definitely I think for something like an alarm clock, that could work very well. With the relay that I've I've been building, it's less clear because the data itself is what you can charge people for. And in a way you need to charge people something so that you can give the community some reward for helping the service. upgradeability and future proofing is quite hard.

Does anyone um have any other ideas about it? So so I think it's it's important to remember that Ethereum right now is is very very small. I mean, Roman had you had the statistics where it's like 3,500 contracts right now. And so when I when I think about something like digital identity, you know, if if we want to create digital identities for for a billion people, which is what Facebook has right now, you know, that amount of, you know, uh data on the blockchain and having them all send transactions between each other, it's it's just, you know,

uh it's totally unfeasible without the the scalability. So, I think, you know, we uh we should keep this in mind, but at the same time, you know, uh design things that work in the in the small scale to begin with. Uh and uh but still have have an eye towards the, you know, that this is going to have to scale. Sure. Um so I think we're we're running out of time. Um it's almost finished, I think. Maybe one more question with an answer to each and then maybe take some questions from the audience.

Um so the final one was You have things like Oracleize, which, you know, allow the Ethereum blockchain to effectively talk to the real world. Uh what what what what do you think that, you know, we could be doing better to allow the Ethereum blockchain to communicate with the real world and so and so for the real world to communicate with the Ethereum blockchain. Uh do you want to start with that, Nikolai? Uh so there's there's the the two ways. One way is we need a very good data feed infrastructure, and the other way is we need uh like legal We we need like a uh a framework for people to be able to lead define things legally in terms of smart contracts.

Um so like right now, Slock.it works because it's a physical device. You don't need a law, but there's a lot of many many similar things where you are only reading data off the blockchain, but that's like you're supposed to interpret that as meaningful. And so we need like a legal framework. I I think that there are going to be many many bridges that will get built, but haven't get built haven't been built yet that bridge the real world and the blockchain and I mean it's it's data feeds, it's uh oraclize, letting you you know, pull data in from from the internet. It uh each of these adds a another layer to the foundation.

And and they'll come slowly, and they'll show up over time, but uh there's a lot of them still to be built, and before they're built and many of them rely on others to be built first. So, we're going to have to build that foundation up a little bit at a time. I think I think our cryp- cryptoeconomics is with with the incentives that we're we've been discussing, that's one key thing that will really help as we learn about that more. So, when Bitcoin, it started out right at 50 Bitcoins in the first 4 years, and then 25, it decreases by half every 4 years.

So, it's like that formula right now seems to be working for for Bitcoin, but it's these kinds of things that would be good to um try to see if we can understand more. For sure. Yeah. Well, I just got new mic, so maybe I should repeat all the comments that I said before. Yeah, now now you can hear me. Okay, cool. So okay, I'll be serious and I'll say this is exactly why we constructing this hack.ether.camp. And no no, this time for serious. And the point is this, we see we are talking all the time about the same ideas in the in the decentralization world like

reputation tokens and identity and it's kind of okay, we kind of understand how it should work, but we want people to move forward and we want place and stage for people to communicate their ideas much better in the development stage. And this is exactly what we're trying to do. We're trying to put developers in some place. We want them to get rewarded. We also invited judges from from the community to watch after them doing stuff and comment and give them likes and kudos for good ideas.

And this way we believe that ideas that we don't even think about them will pop up on the surface. This is exactly why I'm trying to market it so so bad. Okay, thank you, guys. Thank you, Chris. Yeah, so well, I guess get getting data into the blockchain is is all about oracles and and I think Nikolai had a good point about how how do we incentivize oracles? Like if if Bloomberg provides an oracle feed for instance a data feed what's you know, is there a business model around that? You know, maybe you

You charge contracts for getting this data, etc. So, so that's an interesting discussion. And the other way, you know, I I I think Slock.it is is a is a interesting example where you have autonomous devices reading the blockchain and and changing state. I'd like to see that explored more. Okay, cool. Um so, yeah, that's that's Go go ahead, Piper.

Sometime soon, we're going to see a trustless service of some kind that somebody builds that gets filthy rich on accident and has a just tons of money locked up in it that nobody can get at. And that thing is going to stand there as like a beacon to people who want to make money making these kind of things. And once we see that happen, it's going to provide some huge motivation for uh entrepreneurs, investors, people who make things to to make more of those, but not in a way that accidentally locks all the money away.

Yeah, for sure. Yeah. I mean, I think looking back to maybe some older programs that were used on computers 20 15 years ago, that could be a good place to start. They're very simple, but very useful. Uh that's when, you know, that that'll be a good place to look. Um so, I think we've sacrificed the other microphone, but uh does anyone have any questions? Um perhaps is it Can anyone Lisa, could you could you take this to the gentleman over there? We'll take a Sorry. Uh we'll take one question. I think uh we've run out of time. But uh yeah. Um my question is that does this decentralized nature of Ethereum uh mean that any business that stood up with a business model to facilitate the

interaction between two parties will eventually be driven by competitive forces to a point where essentially the profits approach zero over time. A race to zero. Go ahead, Nick. Um so I the response I give to this usually is that there's like two types of middlemen and one of that like the basically they can either be contributing value by basically doing research. So So a good example is like how credit works. I don't think normal credit like an uncollateralized credit is going add to that the fact that the the code for example if you have an algorithm or anything that is powering your contract is open. So in reality someone can take your whatever it is that you come up with and

So it just depends on whether the middleman is a real middleman or if he's actually contributing some value and you'd be surprised by like how many trust middlemen are actually you know, they're making your transactions more efficient by being there. I guess I would get like the feedback of like each individual team member if you don't mind. So I need I need to to to understand question better. If you can explain it I guess what I said is that because Ethereum is decentralized over time as you build services that merely facilitate the interaction between two parties that over time other people would join in to provide that same clone you. This is the This is the question.

Yeah. Essentially. Okay, you start the talk so go. I don't think it takes as many as many people to run It doesn't mean that companies go out of business because there's like lower and lower transaction costs. It just means that it takes fewer and fewer people to run giant giant things. That that like I don't know if you think of a company as a pyramid and the more area under it the more people there are built up in there. Is that any theory in that can get like a lot lower and lot fewer people involved. And so while the transaction costs go lower and lower and lower, there's still some level of I will pull in enough off of the service to pay for the continued through

and improvement of it. So it doesn't mean it goes out of business. It might mean that that we see much smaller entities despite doing huge things. Jason? You'll see more like more more companies like choosing to become more profitable by shrinking. So, building point on two points that Nikolai and Piper mentioned, I think I my economic intuition is that it's going to if if you want to single number, it's not going to be zero. I think that the number that it's going to reach is going to be like the the gas cost times the gas price, and the gas cost is of the person who is helping the

blockchain service. So, in the case of the alarm clock, so whoever triggers the alarm call, they have a certain gas cost and the gas price. And so, unless they're really providing any value in the middle, things look like they're going to drive to that limit. And in in the relay case, that is going to be the cost of submitting a block header to BTC relay. So, but I think there's always a cost to it, but it'll come down to that. Yeah, so I just want to be sure. The question was, if I'm going to be successful on the blockchain, somebody will come and clone it because it's all open and and will try to kick me out of the business, right? This is the

question? I guess what it is is if somebody puts in the time to come up with some sort of mechanism to facilitate a service. I think of example, risk. If I want to I have a model to assess risk, and I put that model on how to assess risk on the blockchain. And that is my competitive offering, quote unquote, in the case of example of a bank or or some sort of a creditor, and that exposure in itself means that my value add is that algorithm, and yeah. Yeah, I think I think there is more than than just a code.

Last one. I I I think there is more than one than than the code part of the business. I think over time you build your name. So, it's kind of was proven on the internet, right? People trying to copy Uber, people trying to copy Airbnb. Actually, every successful service the the success wasn't so big. So, it it's much more than just a contract. It just more than transparent contract because you kind of build trust with your customers. So, I believe in this model. This is like okay, try to compete me out.

Great. I think we have to leave it there unfortunately. The building is Yes, just one thing. Go to hack.ether.camp. Okay. Oh yeah, we love ether.camp.