GOLEM PROJECT (ETHEREUM) CROWDSALE DISCUSSION



  • The Golem Project is the new way the Internet will work.

    Our aim is to use any personal computer to do jobs that are done today by servers, computing farms or supercomputers.

    The ultimate Golem Net will be the truly decentralized Web, where the combined power of user's machines will deliver all the hardware resources they would ever need.

    The Golem Project is a work in progress.







    Overview


    worldwide supercomputer

    Golem Net is a P2P network created by the computers (nodes) running Golem App.

    Any user may use Golem App to send any computing task to the network.

    Any user may use Golem App to lend a machine to others.

    An Ethereum based payment system is used to clear the transactions between senders and receivers.


    Golem Net is a P2P network created by the computers (nodes) running Golem App.

    Any user may use Golem App to send any computing task to the network.

    Any user may use Golem App to lend a machine to others.

    An Ethereum based payment system is used to clear the transactions between senders and receivers.



    use cases:


    GOLEM can be used for any task that can be distributed.

    use cases include the computation needed in technology, business, stock market, science and art



    Computer graphics


    Photorealistic rendering
    Internet workflow - encoding files to DCP


    Business


    Stock market simulations
    Big data analysis


    Machine learning


    Image recognition
    Natural language processing


    Cryptography


    Cryptocurrency mining
    Integer factorization


    Computational biology


    DNA analysis
    Protein folding simulation


    Computational physics
    Particles simulation
    Search for extraterrestrial intelligence


    decentralized


    no single point of failure, no trusted authorities - even for the payment system


    scalable

    will be able to connect millions of workstation, thanks to a P2P architecture

    secure

    all computations will take place in virtual machines and will be fully isolated from the host system

    easily integrated with other solutions

    the Golem standard library and support for programming languages will allow developers to integrate Golem with their applications

    universal

    can be used for any type of task that can be distributed, users will have a set of tools to define and add new tasks to the network



  • features


    golem’s features include a p2p network, a trading system, task definition and computation, and a reputation system.


    P2P Network

    A peer-to-peer architecture is an obvious choice for achieving decentralization and scalability. Golem will support peer discovery and communication with a specific node. Every connection will be encrypted and signed to guarantee security and authentication. Kademlia-inspired protocols will be used with a set of network techniques to go through NATs.

    Trading system and payments

    Golem will include a multi-agent trading system for matching users requesting computational power with its providers. It will also provide an efficient probabilistic micropayment scheme, implemented using Ethereum, for remunerating users that share their computational resources. See our nanopayments white paper for more details.

    Task definition

    Users will define computational tasks easily using Golem's Task Definition Framework and libraries for high-level programming languages. Golem will then automatically distribute each task over the network of computing nodes.

    Task computation

    Due to security reasons, task computation in Golem nodes will take place inside virtual machines and will be isolated from the host environment. Owners of the host machines will be able to decide how many CPU cores, and how much RAM and disk space they would like to share with other Golem users.

    Reputation system


    Golem will implement a reputation system to enforce good behavior of nodes in a decentralized environment, without relying on any supervising institution. This will allow nodes to attribute a reputation rank to their peers. A node's rank will be lowered for inappropriate behavior and increased after successful computation and will allow others to decide whether the node can be trusted.

    GITHUB

    TWITTER

    SLACK









  • Joining The Golem Project

    Last year at DEVCON1, one of the presentations which stood out for me was Nanopayments on Ethereum, presented by Piotr Janiuk, one of Golem’s co-inventors. The idea is simple, elegant, and much amplified by the even bigger idea of Golem: a worldwide supercomputer being built on Ethereum, powered by any and every participating device on the network.

    Over the last several months, I’ve spent quite a lot of time with the Golem team in Warsaw. As their software reached a proof-of-concept stage, the team, charged by a new realm of possibility, suddenly became much more serious about turning Golem into a decentralized application running on Ethereum. This isn’t an easy pursuit for a variety of reasons, and simply discussing the idea was an insightful experience.

    The ethics of Golem are solid and fair. The Ethereum project will eventually see the release of Metropolis and Serenity, and with respect to the resulting EVM and Solidity changes, it would be “easy” to build, deploy, and sell a more controlled and centralized version of Golem. However, after months of deliberation, we finally reached the conclusion that now is the right time to breathe life into Golem as a decentralized service, open to all. On one hand, blockchain tech is still early, and there are many sharp edges which permissioned systems can insulate against. On the other hand however, the potential for a zero-downtime compute platform running alongside Ethereum offers orders of magnitude greater potential than a centralized software stack.

    As a long-term Ethereum contributor, my passion is making peer-to-peer networking and cryptography more easily accessible to both application developers and “lay” people alike. This is the motivation behind my efforts in furthering technologies such as rlpx, webthree, and whisper (aka ÐΞVp2p). Golem is unquestionably one of the most exciting platforms that may make use of these technologies, and the team is committed to furthering their development. This will help everyone in the space to build more resilient and performant applications, full-stop. Thus, with a clear path towards better foundations of a more decentralized Internet, it is my pleasure to announce that I am joining the Golem team.

    Hand-in-hand, Ethereum plus Golem are two pieces of a new movement towards a more trustworthy, and more censorship-resistant Internet. It will lead to the creation of new applications and new possibilities, which only a few years ago would have been well-nigh impossible. This is something I’m extremely excited to be a part of.



  • Crowdfunding — how to prepare

    So, we’re almost ready for the Golem crowdfunding.

    We have published whitepaper, terms, and crowdfunding code. The crowdfunding start date is announced for 11 November at 3 pm GMT and the smart contract will be deployed on 10 November.

    To make sure you’re as ready for it as we are, here’s a little guide on how to prepare for & participate in the GNT crowdfunding.

    The Basics:

    • The contract code will be deployed to Ethereum on 10 November
    • We will announce the address of the account on social media
    • Sending ether will become possible 11 November, 3 PM (GMT) – the time is based on block number which will be known when the code is deployed
    • The minimum cap is 150 000 ETH — if it won’t be reached before the end of the funding, the ether sent is refundable
    • The maximum cap is 820 000 ETH — contract will be closed in the moment of reaching it, even if the ending block wasn’t mined yet
    • To participate you’ll need to have ETH — other cryptocurrencies are not supported

    The recommended wallets to use are the Mist, Ethereum Wallet, Parity, and MyEtherWallet. We’ve just published step-by-step guides on how to use them. We recommend you read them as soon as possible.

    Some of the most important bits are:

    • Don’t send Ether directly from an exchange. That’s because Golem Network Tokens generated by sending ETH to the contract will be transferred to the account from which ETH came. Assuming you want to have control over your tokens, sending ETH from an exchange wouldn’t be a good idea. We intentionally made it impossible by requiring “callData” — an additional parameter you will have to include in your transaction. It makes sending ETH to our contract slightly harder (no worries, it’s explained thoroughly in the published instructions), but will assure that no one makes this mistake.
    • Store your Ethereum account data securely. We know, it’s being said every time when talking about cryptocurrencies and became boring a long time ago. But please, take it seriously. Better safe than sorry!
    • Check twice if the address you are about to send to is our contract’s address. It will be published on golem.network just after the deployment of the contract, 10 November
    • If you are planning on using Mist, Ethereum Wallet or Parity it’s strongly advised to fully synchronize the blockchain. Note that it will take a long time, so you will have to start the synchronization several hours before, depending on your PC and internet connection.
    • If you are not completely sure what you are doing, follow our manuals directly, step by step. Also, if you are quite new to the topic, we recommend you using MyEtherWallet.

    The full manuals are published on crowdfunding page.

    In case of any questions we invite you to join discussion on our Slack or Reddit. Happy crowdfunding!



  • Golem crowdfunding contract deployed, start block is 2607800

    We are pleased to announce that crowdfunding contract is now deployed on Ethereum mainnet. You can see it on etherscan.io.



    Golem crowdfunding contract address image
    • Crowdfunding start block is 2607800, approximately 11th November, 3 pm UTC
    • Don’t send ETH from exchanges
    • Transaction data field must be set to 0xefc81a8c
    • Instructions for wallets: Mist/Ethereum Wallet/Parity and myetherwallet.
    • Crowdfunding address is 0xa74476443119A942dE498590Fe1f2454d7D4aC0d but don’t send before start block 2607800
    • Check out the crowdfunding page for more information and a countdown for time and block number
    • To learn details on how the crowdfunding contract works please refer to this blog post.

    By sending ETH to crowdfunding address, you agree to Explanatory Note & Governance Terms.





  • The Golem Crowdfunding — Summary

    On November 11, while the rest of our nation was celebrating National Independence Day in Poland, the entire Golem team was at their computers, hard at work.

    After weeks of planning, chatting with bloggers, communicating with the community, and coding, we were finally ready to launch the Golem crowdfunding event and really see if our mission resonated with the people we’re building it for.

    Everyone was nervous. The question of whether or not we would even it our minimum was being discusses, beside cautious hopes that we’d hit our maximum in the first day.

    This is a short recap of how we prepared, how it went down, and what we’ll be doing next.

    Preparation

    Our main principle was simple: full transparency. Publish early, answer questions, take feedback into account.

    Following that, we had three main things to prepare:

    1. Whitepaper and Communications

    We published our draft version of the Golem whitepaper early, wroteblogpost explaining the design elements and economics of the Golem Network Token, and tried to communicate our plans, visions andideas to the community as clearly as possible. We wanted it to be clear that the whole amount of collected ETH would be used following the budget plan in the whitepaper, and that that and the GNT that was assigned to the Golem Factory would be used to finance the project until Iron Golem was live.

    After listening to community feedback on the draft, we iterated the whitepaper to address thoughts & concerns, and published the release version.

    2. Smart contract

    Writing a token contract itself should be simple — it wasn’t.

    Keeping in mind problems with The DAO, we decided to keep contract as simple as possible, having only necessary features and an additional migration mechanism that will allow us to add new features in the future.

    At the community’s request, we put a timelock on developers’ tokens.

    The token contract was intensively tested with unittest, and via test scenarios on Morden (testnet) and mainnet. There were also two external audits run by Jordi Baylina and Zeppelin.

    3. User instruction

    We wanted the process of obtaining GNT to be as easy and as safe as possible. To this end we…

    • Added additional data to the contract as a safety measure to protect users from sending ETH directly from exchanges that don’t support smart contracts.
    • Created two separate guides. The first one for current desktop clients (Mist / EthereWallet / Parity) and the second one for the best “light wallet” available in Ethereum — MyEtherWallet. We tested the instructions with non-technical users who didn’t have experience with Ethereum to make sure that the provided guides were easily understandable.

    We’ve heard that some users may have problems with syncing desktop wallets. It’s still a time-consuming process that requires a good bandwidth, high uptime, and a lot of a disk space.

    Therefore we recommended MyEtherWallet (MEW) as a preferred solution for non-experienced users. Usually it works like charm, is secure and easy to use.

    Crowdfunding

    We published the contract code around 18 hours before the crowdfunding block. MyEtherWallet developers added an autofill for the contract address to make the process easier for users, doubled the size of their nodes and increased the gas price to ensure the transactions get mined. The MetaMask team also contacted us to run some test with golem contract.

    We had a full 3-weeks schedule of 4-hour shifts to make sure there would always be at least one team member monitoring progress, answering user questions, solving problems, etc… but everyone wanted to be there to see the countdown timer to start hit zero.

    We prepared a “control room” in our conference room with a golem website displayed on a huge monitor and sit around it with laptops waiting for the starting block and listening to “The Final Countdown”. Team members from London to Thailand to Taipei were live with us.

    In the first minute, the minimum cap was reached. We watched it happen & keep climbing with a mix of joy, amazement, and disbelief.

    Then the problems started.

    The slack and reddit post got flooded with comments about MEW ot working. Our simple, read-only, site become heavily overloaded too. We realized that the attention to our crowdfunding must be unintentially DDoSing our site and MEW’s servers. We found out later from Taylor that the main problem was in the number of json requests (200/s) which simply couldn’t be process by parity working on the MEW backend.

    29 minutes into the crowdfunding, the max cap was reached. We’d succeded at the level of our most optimistic hopes.

    It probably would have finished sooner if MEW hadn’t been flooded with all the requests (due to the contract construction additional transactions were required to exactly match the cap). We ran finalize functions from our control room, creating additional tokens for Golem Factory and the team and enabling users to transfer their token.

    “Control room”, first minutes after the crowdfunding started

    …and it’s gone

    We honestly did not expect that the crowdfunding would end so quickly, so we want to say sorry to all users that wanted to take part and didn’t succeeded. We should have known better, but things like that are really hard to predict.

    Some people accuse MEW of not being prepared, which is unfair (and wrong). Tayvano and kvhnuk are doing amazing job for the community, delivering they great software for free, based only on donations. They also prepared themselves really carefully, and couldn’t have predicted the record number of people interested in the crowdfunding event.

    It was our mis-step to point to a centralized solution as a recommended method, and we should have prepared more backup plans in our guides. Once again, we want to apologize the MEW team and all the users who didn’t manage to buy tokens during the crowdfunding.

    Still — if it wasn’t for MEW, there would definitely be other issues. Maybe our site would crash (which it did, for short periods), maybe miners would stop processing transaction on time or just process only those with skyrocketed gas price.

    When demand exceeds supply, there will be people who cannot get access to the thing in demand. With crowdfunding, it’s difficult to find the right spot between fairness, simplicity, and safety.

    If you still want to own some GNT, you can purchase it from other users. We believe that token value should come from the value in the application and from Golem app itself, not from speculation. That’s the main reason why we haven’t decide to ask exchanges for adding tokens to their portfolio. But we never planned to hinder token transfers and we don’t mind exchanges integrating GNT.

    EtherDelta prepared a GNT wrapper that allows trading GNT. A few users implemented their own smart contracts for selling GNT with a set price. GNT can be also traded on Liqui exchange andYunbi.

    Thank you

    We would like to thank all the people who took part in the crowdfunding, and express our gratitude to all of you who made it possible and supported us in our preparations with advice and motivation.

    Especially we would like to thank:

    • Taylor Van Orden & MEW team for doing an amazing job with their light wallet, their involvement and all-nighters before the crowdfunding and preparation of great post-crowdfunding analyses.
    • Patricio Worthalter from Milliwatt & his team for being a huge and important part of our testnet from the very beginning.
    • Ksenya Bellman from World Crypto Network for hosting an youtube AMA with Golem team twice.
    • Jordi Baylina and Zeppelin (Manuel Aráoz and Demian Brener) for running audits.
    • Aaron Davis & Metamask team for doing great job with their software and running the Metamask tests with our contract.
    • The Ethereum developers for creating the platform with which all of this is possible. And the whole Ethereum community for support, great advice, and warm reception during three devcons.
    • Chris Remus for great medium posts about preparation to participate in golem crowdfunding.
    • Daniel Zakrisson for preparing a great crowdfunding preeliminary analysis and the final thoughtsand also Jake Lanor for critical but also insightful analysis .
    • Our slack community for high quality responses and communication during pre-crowdfunding phase

    Future plans

    We’ve been a bit quiet recently because we are really busy with preparing a detailed work plan, organizing a workflow, recruitment, and governance of the Golem Factory. We still want to keep transparency rule so we will keep you posted with our development plans and new implemented features. We would like to slightly limit the time we spend on slack, so we encourage users to use our reddit as the preferable communication channel.

    We still want to encourage you to join our testnet. Console interface is now available.

    We also want to welcome a new scientist in our team, laureate of “TOP500 Innovators” program at the University of California, Berkley, Grzegorz Borowik Ph. D. He’s an optimization expert, author and co-author of over 80 publications. We really hope that he’ll help use with creation of efficient algorithms for Golem.

    Join our team

    We’re still looking for brilliant developers ready to learn new technologies and create Golem with us. If you have experience with any of the technologies that we’re using and if you want to create golem computer with us — send us an email to [email protected]