The Korean RChain / Rholang workshop will be held at the new Blockchain / AI Tech Center in Gimcheon, Korea, from December 10 - 14, 2018. The workshop features five hours of instruction per day over the course of five days. The main focus will be centered on blockchain development through the lens of RChain, a fully-concurrent smart contract platform. Instruction and support are provided by four in-person leaders and two English-Korean translators, in addition to presentations by remote experts. Participants can expect to receive at least 25 contact hours with the discipline.
This workshop introduces participants to general concepts such as decentralized consensus, process calculi, formal semantics of programming languages, decentralized application (dApp) development, and node operation. All of these topics are key to taking full advantage of the RChain platform and coding in Rholang but are also relevant to working with many other blockchain platforms.
There will be three phases of learning:
Phase 1 builds a shared foundational knowledge through lessons, discussions, and lectures. Participants will explore consensus protocols through gameplay, become familiar with developer tools, and complete basic Rholang exercises.
Phase 2 departs from the traditional teacher-student formula and moves toward teams of participants competing to solve challenge problems. During this competition phase, learners are able to choose which challenges interest them most and follow their own curiosity. Instruction continues in the form of optional breakout sessions that will be run throughout the day.
Phase 3 will be spent designing and building final projects in which participants will apply the knowledge and skills developed during phases I and II. They will form teams, propose final project ideas, and peer-review each others' proposals for scope and technical design. Learning will continue to happen through breakout sessions led by both instructors and participants as well as project status presentations.
Approximately 20-25 attendees were selected from 50 applicants. Technical participants should have a personal computer with an up-to-date version of mac OS, Linux, or Windows 10. Technical participants are expected to be familiar with programming and software engineering. Prior experience with Rholang and smart contracts is not required. Some familiarity with Boolean logic is required and exposure to lambda calculus would be helpful although not necessary.
Learning Outcomes
At the end of the workshop, we expect that technical participants will:
Understand the fundamentals of mobile process calculi and how they are expressed in RChain¡¯s Rholang programming language. Rholang is currently used for RChain smart contracts but is quickly becoming a general purpose programming language.
Understand the unique advantages and challenges of a mobile process calculus-based programming language such as Rholang, e.g. nondeterminism.
Possess the ability to code basic and moderately complex algorithms and contracts in Rholang.
Possess the ability to build a complete working distributed application on the RChain platform.
Understand the launch of the RChain network as well as the purpose of the genesis ceremony.
Understand how RChain (w/ Rholang) is fundamentally different than Ethereum (w/ Solidity) and why it makes a difference.
Attendee Feedback
We will be soliciting feedback from learners and tailoring the workshop based on feedback received both in advance and regularly throughout the sessions.
Pre-Workshop Questionnaire
What operating system do you use? (Minimum OSX , Linux like Debian 9 or Ubuntu 18.xx, Windows 10)
How much background do you have in each of the following areas?
Functional programming
Imperative programming
Formal Logic
English
Blockchain
Git / github (do you have a github link?)
What would you like to learn during this workshop?
Which of the following terms best describes you? (Student, Professor, Professional Programmer, Enthusiast, Government Official, Other)
Daily Questionnaire
As the workshop progresses the exact questions on the following daily baseline survey will change.
What were some of the most unexpected concepts you encountered today and how did you feel about them?
What did you really enjoy learning today?
What concepts could use some more clarification?
How well did you feel you could communicate? (English / Korean / Translation)
How could today¡¯s sessions be improved?
Curriculum Overview
Monday
Tuesday
Wednesday
Thursday
Friday
10:00
10:30
11:00
11:30
Opening Ceremony / Intros
Play Bitstory
Bitcoin Whitepaper
Rholang Intro
Hello World
Intro K-framework
Casper Binary Consensus
Rho calculus
Recap first part of competition
^
|
Breakout sessions throughout
|
v
Pitch Project Ideas
Learn about project Ideas
Rate projects of interest
Teams Finalized
^
|
Breakout session throughout
|
v
Lunch
1:00
1:30
2:00
2:30
3:00
3:30
4:00
4:30
Proof of Work versus Proof of Stake
RNode Operation
Genesis Ceremony
Rholang w/ RNode
Rholang Lesson
Rholang exercises
Lambda calculus
Pi calculus
Nth Caller dApp
Daily Survey
Intro to competition
^
|
Breakout sessions throughout
|
v
Daily Survey
^
|
Breakout sessions throughout
|
v
Tally Scores
Last call for Phase III Topics
Daily Survey
Final project kickoff
^
|
Breakout sessions throughout
|
v
Team Progress Presentations
Daily Survey
^
|
Breakout
sessions throughout
|
v
Closing Ceremony
Detailed Content Outline
Phase 1
The first 1.5 days are a highly structured agenda similar to a class or conference. There is still time for hands on practice, especially Monday afternoon.Topics to be covered are:
Introduction / Bitstory
Very brief hello, welcome, etc (10 min max)
Bitstory (15-30 min)
Isaac and I demo, show photo of previous
TODO HJ: Get some good video of the game for future documentation purposes
More formal Introduction
Isaac / Joshy background
Brief history of RChain
This place is a construction zone, so you¡¯ll have to wear your hard hat
We¡¯re all gonna learn a lot together
We¡¯re introducing you to a community
Summary of Three phases
Review Survey results together
Rholang Hello World
Go to rchain.cloud
Differences between Proof of Work and Proof of Stake
Casper Binary Consensus
First several lessons of Rholang tutorial
Using Rchain.cloud / Cryptofex
Pi calculus and RHO calculus
Pi calculus in the K-framework
How to install and run RNode
Participate in a blockchain genesis ceremony
Bonding (if it works)
Running Rholang by REPL, eval, and deploy
Basic principles of dApp development / Nth caller
Object capabilities
Phase 2
The next 1.5 days are less structured and will revolve around teams working together on solving challenges and earning points. Points will be tallied at the end of the phase. Simultaneous, optional breakout sessions will be utilized for participants who need extra help with a specific topic. Topics will be suggested by participants and organizers and sessions will be led by organizers.
Near the end of this phase, students will begin to suggest final build projects for phase 3.
Planned optional breakout sessions
Rholang fundamentals revisited
RChain¡¯s CBC Casper Consensus Protocol
Casper the Friendly GHOST
Formal semantics of Rholang
Current state of RChain Platform Development
The ¡°Alice pays Bob 10 RChain Revs¡± demo (RChain purses)
Byzantine fault tolerance
English/Korean technical vocabulary exchange
Advanced topics in Rholang
Cryptography (highlights from Boneh¡¯s course)
Casper the Friendly Finality Gadget
Type systems, pattern matching, and programming languages (cool highlights from Grossman¡¯s course)
Add single-argument version of string.slice to Scala code
Add head-tail pattern matching to the Scala code
Casper friendly finality gadget
Get status dApp running
Remove nonce field from Status dApp frontend
Find a specific preimage or prove that it¡¯s computationally infeasible
Translate important RChain or blockchain documents? Rholang tutorial lessons?
Fix bug in nth-caller where subsequent callers are told they won
Phase 3
Collaborative learning in teams using basic Rholang. This phase is focused entirely on building collaborative projects. Participants will be in teams of 3 or 4. Topics will be primarily suggested by the participants at the end of phase 2. Topics may also be suggested by the organizers.
Breakout sessions will continue to happen during this phase, but no topics will be pre-arranged, all are suggestions will happen in real time. Breakout sessions may be led by organizers or participants (Korean sessions welcome).
Greg Meredith could give closing speech. Topic ideas: Praise participants, let them know we¡¯re looking for contributors and are happy to have them, don¡¯t make it seem like they¡¯re waiting on us to deliver. Make it clear that we¡¯re all in it together to deliver. Greg may also give breakout sessions.
Phase 3 Project ideas
The Rholang contract bounties Kelly Foster (RChain¡¯s Development Program Manager) posted in JIRA can offer attendees a way to apply what they have learned to earn funds and contribute to RChain development in class or later
A Proof of Concept interpreter to create a minimal Rhocal/Rholang-like language
A minimal RChain-like project that runs on substrate
Complete tutorial of issuing a token/ICO on RChain. Like this erc20 one https://ethereum.org/token
I¡¯m a programmer, academic, and decentralization entheusiast. Building blockchain tools and teaching others to do the same.
Work Experience 2018 – present: Developer Education Lead, RChain Cooperative, Seattle, WA, (see projects on github). { Wrote rholang tutorial (see github) { Provided two sample decentralized applications (see github) { Regular contributions to rchain-api, rhopm, librho { Host weekly rholang office hours { Present at RCon2, RCon3, SF Blockchain Week
2015– 2018 Teacher and Research Advisor, The Pingry School, Basking Ridge, NJ. { Taught Survey of CS, Programming, AP CS, Data Structures, a few others. { Created first research opportunities for students in computer science. { Advised research group on zero-trust distributed computing via blockchain technology. { Assisted in hiring the staff for a growing computer science department.
Spring 2015 Interim Outstation Manager, Evert¡¯s Air Cargo, Bethel, AK. { Oversaw renovation of cargo hangar. { Oversaw staffing, scheduling, payroll, HR, customer relationships. { Served as primary customer service representative.
2014 – 2015 Teacher and Research Advisor, Princeton International School of Mathematics and Science, Princeton, NJ. {Member of founding faculty {Designed computer science curriculum and corresponding accreditation standards. {Designed electronics and robotics lab. {Taught physics, computer science, and engineering at intro to AP level. {Advised students¡¯ original research in computer science and robotics. {Advised robotics club and student rock band (The PRISMers)
Summers 2009 – 2018 Instructor, Johns Hopkins University Center for Talented Youth, Carlisle, PA. { Designed and instructed Electrical Engineering course. { Managed science supply orders, chose text books, and wrote course curricula. { Wrote individualized narrative evaluations for each student.
2011 – 2013 Lab Instructor, University of Toledo, Toledo, OH. { Taught undergraduate-level physics courses. { Taught undergraduate-level engineering courses. { Managed physics department help desk.
2010 – 2011 Math Teacher, ACI Institute, Alhambra, CA. { Taught pre-algebra for grades five and six. { Taught geometry for grades nine and ten. { Prepared all assignments and exams for both courses.
Spring 2010 English (ESL) teacher, Guangzhou Worlda Cultural and Educational Services LTD, Guangzhou, GD, PRC. { Taught English classes to Chinese primary school students. { Prepared several lessons each week for over 1100 students.
Summer 2008 Optical Research Associate, Sound Off Signal, Hudsonville, MI. { Studied existing light distribution devices and patents. { Developed internal-reflection light pipes for use in law enforcement and rescue vehicles. { Developed computer models of optical systems using 3D CAD and ray-tracing software.
Summer 2007 Information Technology Intern, Bettcher Industries, Birmingham, OH. { Setup hardware and software on new personal computers. { Oversaw, tested, and deployed enterprise management software. { General troubleshooting and help desk responsibilities. { Assisted in installation of IP phone system.
2. °»ç Isaac DeFrain, Rholang Research and Development RChain Cooperative isaacdefrain@gmail.com 4715 98th Ave SW Dicord: IsaacDeFrain#5496 Seattle, WA 98136 GitHub: Isaac-DeFrain I have an insatiable passion for realizing the full scope of the vision of blockchain technology, speci cally for formally de ning the semantics of smart contract languages. My Kent State University
Education M.A. in Pure Mathematics, 2012 Harriet L. Wilkes Honors College, Florida Atlantic University
B.A. Mathematics and Physics, Minor: Chemistry, 2010 Thesis: The Alspach Norm in Classifying Complemented Subspaces of Lp; p > 2 Developer RChain Cooperative
Education Technical Consultant, August 2018 - November 2018 Technical blog writing explaining mathematics behind RChain's technology Research RChain Cooperative, Dec 2018 Experience Formal semantics of Rholang in K Framework Development of a structural-behavioral type system for Rholang Mathematical Sciences, Kent State University Advisor: Dr. Artem Zvavitch, 2017-2018 Project: Almost Isometric Embeddings of Fintie Metric Spaces Advisor: Dr. Volodomyr Andreievskii, 2015-2017 Project: Potential Theory and Chebyshev Polynomials on Quasiconformal Domains
Graduate Research Assistant, 2014-2015 Advisor: Dr. Fedor Nazarov Project: Conformal Invariants and Geometric Function Theory Advisor: Dr. Fedor Nazarov, 2013-2014 Project: Hormander Existence Theorem and Plurisubharmonic Functions Mathematical Sciences, University of Wisconsin-Eau Claire Classifying complemented subspaces of LP ; p > 2, 2009 Publication Chebyshev polynomials associated with a system of continua New Trends in Approximation Theory, Fields Institute Communications 81,
Springer-Verlag 2018 Teaching Center for Talented Youth, Johns Hopkins University Experience Instructor, Cryptology, Summer 2018, CAR Instructor, Cryptology, Summer 2017, CAR Teaching Assistant, Mathematical Logic, Summer 2016, JHU Mathematical Sciences, Kent State University Instructor, Analytic Geometry and Calculus II, Fall 2017 Instructor, Analytic Geometry and Calculus II, Spring 2017 Instructor, Modeling Algebra, Fall 2016 Teaching Assistant, Modeling Algebra Plus, Fall 2016 Instructor, Analytic Geometry and Calculus I, Spring 2016 Instructor, Modeling Algebra, Fall 2015 Instructor, Analytic Geometry and Calculus II, Spring 2014 Instructor, Analytic Geometry and Calculus I, Fall 2013 Instructor, Analytic Geometry and Calculus I, Spring 2013 Instructor, Calculus for Life Sciences, Fall 2012 Instructor, Modeling Algebra, Spring 2012 Instructor, Trigonometry, Fall 2011 Instructor, Algebra for Calculus, Spring 2011 Instructor, Algebra for Calculus, Fall 2010 Timken Early College High School Instructor, College Algebra, Fall 2017 Stark State College Instructor, Statistics, Fall 2017 Mentoring Choose Ohio First Scholarship (COF)
Project advisor Spring 2018: The Geometry of the Power Rule (Award of Excellence) Spring 2012: Applications of the Golden Ratio Spring 2011: X-ray Crystallography & the Fourier Tranform Timken Early College High School Math Club Advised and helped students prepare for mathematics competitions, Fall 2017 Undergraduate Research Experience, Kent State University Graduate student mentor, Summer 2015 Conference Chebyshev polynomials on a system of continua Talks & New Trends in Approximation Theory, The Fields Institute, Toronto, July 2016
References Derek Sorensen Joshy Orndor Research Mathematician Rholang Developer and Educator Pyrofex Corp. RChain Cooperative derek@pyrofex.netadmin@joshorndor .com +1 (385) 209-3067 +1 (419) 455-6749 Discord: Derek#9056 Discord: JoshyOrndor #4150 Jenya Soprunova Artem Zvavitch Associate Professor Professor & Graduate Coordinator Mathematical Sciences Mathematical Sciences Kent State University Kent State University soprunova@math.kent.eduazvavitc@kent.edu +1 (330) 672-9086 +1 (330) 672-3316