12 ms·
Fe: next generation smart contract language for Ethereum
- deleted 4y ago[deleted]
- isodev 4y agoDidn't we have enough of this already? Even if we pretend for a moment that there was some merit to the “web3 smart contract”, by now it should be painfully clear to anyone involved that this is a technological dead end. There are a many more realistic ideas to explore and research instead of wasting time on crypto unicorns.
- yieldcrv 4y agofor developers, there is no platform that realistically competes with “web3 smart contract”. the overhead costs are insanely low and are only one time for deployment with unlimited use, no other cloud deployment platform offers that and consumers cant get enough of them and will shoulder costs of interacting with them the most irrelevant part of this equation is debating why consumers are spending money on developer’s internet vending machines its a market with demand, the market is telling you what to do for half a decade and yet
- dmitriid 4y ago> the overhead costs are insanely low and are only one time for deployment with unlimited use, no other cloud deployment platform offers that Every cloud platform has a free tier that can probably handle the entirety of crypto, and then some. A Raspberry Pi is a more efficient platform that realistically competes with "web3"
- yieldcrv 4y agoeverything I wrote was about deploying smart contracts, and on a blockchain that other people want to use nobody cares about the technical feasibility of running a blockchain, development routinely requires local deployments
- dmitriid 4y ago> everything I wrote was about deploying smart contracts, and on a blockchain Yup. In a response to "Even if we pretend for a moment that there was some merit to the 'web3 smart contract', by now it should be painfully clear to anyone involved that this is a technological dead end." Of course there's no better platform than "web3" for developers who do the "web3" stuff. "Windows is the best platform to develop apps for Windows". However. As a platform web3 is a failure. And for developers literally everything outside crypto is a better platform. For users, too.
- yieldcrv 4y agoIts cheaper to develop and host your app on and there is consumer demand in applications where the very top of the funnel is a payment Recognizing that makes you way better of a developer and entrepreneur than the 10x coder hunting for exploits and bug bounties, where making money is the goal
- dmitriid 4y ago> Its cheaper to develop and host your app on Cheaper than what? That's the beauty of vague unverifiable statements like "for developers, there is no platform that realistically competes with 'web3 smart contract'." For any counter example you can always say "that's not what I meant" > Recognizing that makes you way better of a developer and entrepreneur than the 10x coder hunting for exploits and bug bounties, where making money is the goal Was this sentence written by ChatGPT?
- yieldcrv 4y agodeploying smart contracts is the same as deploying an application to the cloud with api calls and variable storage the closest I can think of is Firebase or AWS Lambda (or similar compute instance) with some kind of rudimentary database or shoehorned in variable storage. these all charge by number of executions, bandwidth and storage, even geographic location smart contract deployments would be cheaper than that, via a one time cost for the developer, and have unlimited use. it is also convenient and valuable that the smart contract cannot be deplatformed I don't really see Firebase or AWS or other compute instances competing on any of these fronts, but if you know of a counterpoint I would love to check out their pricing and usage page
- chrisco255 4y agoNo, we didn't. There are tens of thousands of developers writing smart contracts. Some of these smart contracts, such as Uniswap (https://uniswap.org/ https://uniswap.org/), have traded more than $1.2 trillion in volume. Uniswap works 24/7 with 100% uptime. It's permissionless to create a liquidity pool or to trade on the platform. It's a novel architecture, called an Automated Market Maker, a real innovation in financial markets. Uniswap is fully auditable thanks to everything being on-chain. Source code is open. There's also on-chain lending markets (Aave: https://aave.com/ https://aave.com/), decentralized stable coins (https://www.liquity.org/ https://www.liquity.org/), on-chain arbitration (https://kleros.io/ https://kleros.io/), on-chain DAO governance (https://compound.finance/governance https://compound.finance/governance), on-chain social media primitives which are extensible (https://www.lens.xyz/ https://www.lens.xyz/), multi-sig on-chain smart contract wallets that custody hundreds of millions to billions in assets (https://gnosis-safe.io/ https://gnosis-safe.io/), decentralized strategy games that use on-chain zero knowledge proofs to maintain a fog of war and player secrets while keeping everyone honest while allowing for full hackability (Dark Forest - https://zkga.me/ https://zkga.me/), etc. Can really go on and on, but the industry is not going anywhere.
- dimgl 4y ago
- robcohen 4y agoDon’t hold your breath.
- charlieyu1 4y agoIf you are focusing on the bad side of a tech, AI could do way worse than crypto. I mean, the most evil thing you can do with crypto is merely taking away money from people.
- jchw 4y agoYou're thinking too small. If you really want to get cynical, you could think about the ruinous consequences if a Proof-of-Work-based currency were to rapidly overtake the current payment networks, in terms of the cost of electricity and environmental impact. Or more realistically, what happens today: facilitation of ransomware and the sale of illegal material. You could argue that most of these theoretical consequences have nothing to do with the technologies themselves, but that's true of almost all software technology. Even a potentially devastating piece of malware is, in a vacuum, just some bytes floating in space, with no inherent meaning until someone chooses to execute it. Most discussions about morals in programming and computer science either ignore or gloss over this part as if it is already answered, but it probably matters. There's some arbitrary dividing line where you decide when the blame lies with the operator(s) vs the technology itself. In practice, I think it's more useful to look at it in terms of who's executing the code instead of who's writing it, since in practice the existence of code that does something is basically an inevitability, in a world where you can only rely on impracticality for a limited amount of time and where it's basically impossible to hold a monopoly on some piece of knowledge or information forever. I think this also is rather helpful when you look at things like exploits: if someone makes a genuine mistake in their software, for which they expressly disclaimed any warranty, it would be weird for them to be culpable when it impacts an operator; but if someone were to be using said software to store user data, and that user data were leaked via an exploit in software, it's more reasonable to say the operator is responsible. Code itself doesn't usually have much intent encoded into it, so it's unreasonable to go in from a perspective that assumes that you can judge the morality of software itself. But then, taking this to its logical extreme, it might be a little too absolutist; even if software is inevitable, that doesn't mean that culpability for intentionally destructive behavior is necessarily a bad idea. Either way, from this viewpoint, I think you can easily argue that cryptocurrency and AI both have enormous potential to cause consequences in the world. It isn't necessarily that the technologies themselves are inherently bad, but from a practical standpoint it doesn't really matter.
- TarasBob 4y agoVitalik recently wrote a great article about this here: https://vitalik.ca/general/2022/12/05/excited.html https://vitalik.ca/general/2022/12/05/excited.html
- actionfromafar 4y ago"Cryptocurrency is the only thing currently being developed that can realistically combine the benefits of digitalization with cash-like respect for personal privacy." "cash-like" does a lot of heavy lifting here. Only Monero and Grin have any real expectation of privacy. Chain analysis is pretty mature, and the records exist forever.
- l3uwin 4y ago
- musk_micropenis 4y ago
- rossjudson 4y ago
- yieldcrv 4y agothe market is telling you what to do be insanely proficient at low level development for a complicated stack to get half your below market compensation in lottery tickets at some startup or be mediocre at coding in a simpler stack and get faang-level base salary and a bunch of tokens that can be sold the same as shares as if working at a faang. (or launch your own thing that consumers cant get enough of and make even more faster.)
- kyruzic 4y agoAmazing insightful comment, do you make this on every post even tangentially related to crypto?
- cflynnus 4y agoIMO it applies to anything/everything "crypto" - it's all just unregistered securities lying/pretending to be commodities. It's all just scams. Bitcoin, however, truly is a commodity and is decentralized.
- chrisco255 4y ago> unregistered securities lying/pretending to be commodities Let's assume you're correct. Tell me why having globally distributed securities be registered with the United States Securities Exchange Commission is 1) practical for people outside the U.S. or even desirable for the other 95% of the world population and 2) beneficial to people within the U.S. who do not have access to $1M in capital to be considered "accredited investors".
- cflynnus 4y agoI don't care about securities law or what the US government does towards crypto. My point is that these ARE securities and bitcoin IS a commodity. When people truly understand this they realize owning anything crypto is akin to buying penny stocks and Bitcoin is basically digital gold 2.0
- cflynnus 4y agoEthereum is a foundation of sand. The protocol and the rules change at the whims of the senior insiders. It's not a stable platform and since we don't know what the rules will be in the future you can't plan for the future and build anything long term. Bitcoin is signal, all of crypto is noise.
- chrisco255 4y agoBitcoin does not have Turing-complete scripting. It's impossible to build complex applications on top of Bitcoin, and no, sidechains don't count (they don't inherit Bitcoin's security). It's great that there's 21M supply cap. Fantastic for a gold-like digital asset. But absolutely useless for software engineers to build financial primitives on top of.
- cflynnus 4y ago> Bitcoin does not have Turing-complete scripting Feature not a bug. Base layer that will serve as foundation for entire global economy should be as simple as possible to make it as reliable as possible. Like all complex systems, functionality is added in layers. Things like lightning network and fedimints are examples of such layers. > It's great that there's 21M supply cap. Fixed supply is an essential requirement for the entire system to have any merit whatsoever. If supply can change at direction of core group of insiders it's just the same thing as the existing fiat banking system and the real value of the tokens will be diluted in perpetuity. > But absolutely useless for software engineers to build financial primitives on top of. No. See comment above about layers. - Bitcoin is a commodity, ETH & all of crypto is just (unregistered) securities lying/pretending to be commodities.
- chrisco255 4y agoHaving written Solidity, I find it to be a very user friendly language as it shares many similarities to JavaScript (while being statically typed). I'm not sure the example on the home page is the best representation of the benefits of Fe, however, in relation to Solidity. In one of the bullet points it highlights: "Improved decidability - Fe limits dynamic program behavior to improve decidability and allow more precise gas cost estimation." I think it would be helpful to see an example of that or a side-by-side comparison, if the goal is to win over Solidity devs. If I can really save gas or prevent common bugs more easily, the page needs to do more to sell that point.
- andrewflnr 4y agoI'm not into Ethereum, but "more precise estimation of gas costs" sounds like a letdown compared to what you would want to build a really reliable smart contract. Can't a contract just die if it can't pay its gas bill? With all the investment in blockchain (as you yourself mentioned in another comment), and so much money riding on the correctness of contracts, it seems like the incentives should line up to develop proper, usable formal methods (starting with backing down from Turing-completeness for the most part, most likely). That would be a pretty nice side effect for us skeptics. That's honestly what I was hoping for, with OP.
- trianglesphere 4y agoContract’s don’t (more accurately almost never) pay for gas. Gas estimation is done when sending by the end user. Some parts of gas estimation can be done statically, but some of the cost of certain operations are dependent on the data being loaded from the state. I’d like a tool to set an upper bound on gas usage (current approach is to execute the tx on pending state and add 10-30%), but solidity does not provide one.
- andrewflnr 4y agoSo it's just the individual user operation or whatever that fails if you mess up the gas estimation?
- yieldcrv 4y agoI personally think this is unnecessary I don’t view it as superior or solving problems that solidity introduces. yes, solidity makes things complex, no static typing does not fix this I do see it diluting available talent amongst employers, who have accidentally hired an enthusiast that wants the team to use this language
- 88913527 4y agoIs there a reason existing programming languages cannot be used for smart contracts? The overhead of a new language seems quite high compared to the already established engineering communities around widely adopted languages.
- LegionMammal978 4y agoAs I understand it, smart contract languages generally have to be specifically tailored to the primitive operations offered by the EVM (Ethereum Virtual Machine). Binary size is at a strict premium, because the price to deploy a smart contract (currently in the thousands of dollars on the main Ethereum network) directly depends on it.
- nradov 4y agoIf the Ethereum platform places such a heavy premium on binary size then that seems like a real step backwards from a software engineering perspective. Our industry has learned through painful experience that optimizing for highly compressed binaries isn't a great way to ensure program reliability or correctness.
- olalonde 4y agoSuch limitations aren't introduced for fun but stem from the desire to build a decentralized system. If you don't believe in decentralization or the separation of money from the state, then nearly all aspects of cryptocurrency will seem backwards to you. However, those who support decentralization view these limitations as necessary trade-offs.
- Gigachad 4y agoDid no one stop at the “it costs thousands of dollars to deploy a binary” step and realise this isn’t going to work? They don’t need a new language for smaller binaries, they need to solve what seems to be a core roadblock.
- 4y ago
- singularity2001 4y agoMany wasm runtimes come with gas and instruction counters, so any language fit for wasm is fit for modern crypto chains. What is Fe trying to reinvent?
- LoveMortuus 4y agoI have zero experience with writing what contacts. But I would like to ask why does it need it's own language, wouldn't using a language that already exists and has some history be easier and maybe faster?
- mihaigalos 4y agoSmart contracts written i.e. for Ethereum use Solidity, which is not Turing complete. By restricting semantics you have finer control over potential slippages. Besides, a language for smart contracts that is built around the domain is easier to work with than a general-purpose one. So your Q would then be: why not something like Solidity or similar? - perhaps somebody else can elaborate.
- hiq 4y ago> Solidity, which is not Turing complete From https://ethereum.github.io/yellowpaper/paper.pdf https://ethereum.github.io/yellowpaper/paper.pdf: "[The EVM] is a quasi-Turing-complete machine; the quasi qualification comes from the fact that the computation is intrinsically bounded through a parameter, gas, which limits the total amount of computation done." > By restricting semantics you have finer control over potential slippages. Solidity have had plenty of "slippages" already and a generally misguiding design, and at least initially was not really into "restricting semantics". Plenty of points made previously, e.g. https://news.ycombinator.com/item?id=14691212 https://news.ycombinator.com/item?id=14691212.